android_kernel_samsung_msm8976/drivers/scsi
James Smart 84314fd474 [SCSI] SCSI and FC Transport: add netlink support for posting of transport events
This patch formally adds support for the posting of FC events via netlink.
It is a followup to the original RFC at:
  http://marc.theaimsgroup.com/?l=linux-scsi&m=114530667923464&w=2
and the initial posting at:
  http://marc.theaimsgroup.com/?l=linux-scsi&m=115507374832500&w=2

The patch has been updated to optimize the send path, per the discussions
in the initial posting.

Per discussions at the Storage Summit and at OLS, we are to use netlink for
async events from transports. Also per discussions, to avoid a netlink
protocol per transport, I've create a single NETLINK_SCSITRANSPORT protocol,
which can then be used by all transports.

This patch:
- Creates new files scsi_netlink.c and scsi_netlink.h, which contains the
  single and shared definitions for the SCSI Transport. It is tied into the
  base SCSI subsystem intialization.
  Contains a single interface routine, scsi_send_transport_event(), for a
  transport to send an event (via multicast to a protocol specific group).
- Creates a new scsi_netlink_fc.h file, which contains the FC netlink event
  messages
- Adds 3 new routines to the fc transport:
   fc_get_event_number() -  to get a FC event #
   fc_host_post_event()  -  to send a simple FC event (32 bits of data)
   fc_host_post_vendor_event() - to send a Vendor unique event, with
                                 arbitrary amounts of data.

   Note: the separation of event number allows for a LLD to send a standard
     event, followed by vendor-specific data for the event.

Note: This patch assumes 2 prior fc transport patches have been installed:
   http://marc.theaimsgroup.com/?l=linux-scsi&m=115555807316329&w=2
   http://marc.theaimsgroup.com/?l=linux-scsi&m=115581614930261&w=2

   Sorry - next time I'll do something like making these individual
   patches of the same posting when I know they'll be posted closely
   together.

Signed-off-by: James Smart <James.Smart@emulex.com>

Tidy up configuration not to make SCSI always select NET

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-09-02 15:33:49 -05:00
..
aacraid [SCSI] aacraid: Reset adapter in recovery timeout 2006-08-19 13:35:11 -07:00
aic7xxx Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
aic7xxx_old Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
aic94xx [SCSI] aic94xx: Increase can_queue for better performance 2006-08-30 17:30:06 -04:00
arcmsr [SCSI] arcmsr: fix up sysfs values 2006-08-02 10:53:18 -04:00
arm [ARM] Fix Acorn platform SCSI driver build failures 2006-08-06 20:55:33 +01:00
dpt Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ibmvscsi [SCSI] ibmvscsi: handle inactive SCSI target during probe 2006-07-09 11:28:58 -05:00
libsas [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
lpfc [SCSI] lpfc 8.1.9 : Change version number to 8.1.9 2006-08-19 13:46:47 -07:00
megaraid Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
pcmcia Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
qla2xxx [SCSI] qla2xxx: Update version number to 8.01.07-k1. 2006-08-26 09:26:57 -05:00
sym53c8xx_2 [SCSI] sym2: claim only "Storage" class 2006-07-28 11:46:38 -05:00
.gitignore
3w-9xxx.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
3w-9xxx.h
3w-xxxx.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
3w-xxxx.h
53c7xx.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
53c7xx.h
53c7xx.scr
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c700.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
53c700.h [SCSI] 53c700: fix breakage caused by the autosense update 2006-06-29 13:15:15 -04:00
53c700.scr
53c700_d.h_shipped
a100u2w.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
a100u2w.h
a2091.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
a2091.h
a3000.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
a3000.h
advansys.c [SCSI] advansys pci tweaks. 2006-08-04 09:28:43 -04:00
advansys.h
aha152x.c [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
aha152x.h
aha1542.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
aha1542.h
aha1740.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
aha1740.h
ahci.c [PATCH] ahci: skip protocol test altogether in spurious interrupt code 2006-08-03 17:34:52 -04:00
aic7xxx_old.c [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
amiga7xx.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
amiga7xx.h
ata_piix.c [PATCH] ata_piix: implement force_pcs module parameter 2006-08-24 02:51:24 -04:00
atari_dma_emul.c
atari_NCR5380.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
atari_scsi.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
atari_scsi.h
atp870u.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
atp870u.h
blz1230.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
blz2060.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
BusLogic.c [SCSI] BusLogic gcc 4.1 warning fixes 2006-08-19 16:18:28 -06:00
BusLogic.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
bvme6000.c
bvme6000.h
ch.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
constants.c [SCSI] update additional sense codes and some opcode names 2006-07-09 09:10:06 -05:00
cyberstorm.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
cyberstormII.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dc395x.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dc395x.h
dec_esp.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dmx3191d.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dpt_i2o.c [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
dpti.h
dtc.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dtc.h
eata.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
eata_generic.h
eata_pio.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
eata_pio.h
esp.c [SCSI] esp: Fix build on SUN4. 2006-08-23 15:33:07 -07:00
esp.h [SCSI] sparc: Port esp to new SBUS driver layer. 2006-06-23 23:15:54 -07:00
fastlane.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fcal.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
fcal.h
fd_mcs.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fdomain.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fdomain.h
FlashPoint.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
g_NCR5380.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
g_NCR5380.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
g_NCR5380_mmio.c
gdth.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
gdth.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_ioctl.h
gdth_kcompat.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_proc.c [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_proc.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gvp11.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
gvp11.h
hosts.c [SCSI] add shared tag map helpers 2006-08-31 11:18:03 -04:00
hosts.h
hptiop.c Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
hptiop.h [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver 2006-06-10 10:36:13 -05:00
ibmmca.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ibmmca.h
ide-scsi.c [PATCH] lockdep: annotate idescsi_pc_intr() 2006-08-27 11:01:32 -07:00
imm.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
imm.h remove the bouncing email address of David Campbell 2006-06-26 18:19:23 +02:00
in2000.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
in2000.h
initio.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
initio.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ipr.c [SCSI] ipr: Auto sense handling fix 2006-08-06 15:50:50 -05:00
ipr.h [SCSI] ipr: Bump driver version to 2.1.4 2006-08-06 15:51:12 -05:00
ips.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ips.h
iscsi_tcp.c [SCSI] iscsi_tcp: fix partial digest recv 2006-09-02 13:37:32 -05:00
iscsi_tcp.h [SCSI] scsi_tcp: rm data rx and tx tfms 2006-09-02 13:37:18 -05:00
jazz_esp.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
Kconfig [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
lasi700.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
libata-bmdma.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
libata-core.c [PATCH] libata: PHY reset requires writing 0x4 to SControl 2006-08-10 08:29:12 -04:00
libata-eh.c Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
libata-scsi.c [PATCH] libata: clear sdev->locked on door lock failure 2006-08-09 01:16:27 -04:00
libata.h [PATCH] libata: make two functions global 2006-06-26 20:59:27 -04:00
libiscsi.c [SCSI] libiscsi: don't call into lld to cleanup task 2006-09-02 13:37:40 -05:00
mac53c94.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
mac53c94.h
mac_esp.c [PATCH] m68k: convert mac irq code 2006-06-25 10:00:58 -07:00
mac_scsi.c [PATCH] m68k: convert mac irq code 2006-06-25 10:00:58 -07:00
mac_scsi.h
Makefile [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
mca_53c9x.c
megaraid.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
megaraid.h
mesh.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
mesh.h
mvme16x.c
mvme16x.h
mvme147.c
mvme147.h
ncr53c8xx.c [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
ncr53c8xx.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
NCR53C9x.c [PATCH] fix compile regression for a few scsi drivers 2006-07-26 07:30:45 -07:00
NCR53C9x.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
NCR53c406a.c [SCSI] drivers/scsi: Use ARRAY_SIZE macro 2006-06-10 10:45:30 -05:00
NCR5380.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
NCR5380.h
NCR_D700.c [SCSI] NCR_D700: misc fixes (section and argument ordering) 2006-07-12 12:03:43 -04:00
NCR_D700.h
NCR_Q720.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
NCR_Q720.h
nsp32.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
nsp32.h
nsp32_debug.c
nsp32_io.h
oktagon_esp.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
oktagon_io.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
osst.c [PATCH] vfs: add lock owner argument to flush operation 2006-06-23 07:43:02 -07:00
osst.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
osst_detect.h
osst_options.h
pas16.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
pas16.h
pci2000.h
pdc_adma.c [PATCH] libata: Use ATA_FLAG_PIO_POLLING for pdc_adma 2006-08-10 06:55:18 -04:00
pluto.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
pluto.h
ppa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ppa.h remove the bouncing email address of David Campbell 2006-06-26 18:19:23 +02:00
psi240i.c
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
qlogicpti.h
qlogicpti_asm.c
raid_class.c [SCSI] drivers/scsi: Use ARRAY_SIZE macro 2006-06-10 10:45:30 -05:00
sata_mv.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_nv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sata_promise.c [libata] sata_promise: comment out duplicate PCI ID 2006-07-24 03:37:52 -04:00
sata_promise.h
sata_qstor.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_sil.c [PATCH] sata_sil: add suspend/sleep support 2006-07-05 22:16:28 -04:00
sata_sil24.c [PATCH] sata_sil24: don't set probe_ent->mmio_base 2006-08-05 03:59:15 +09:00
sata_sis.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sata_svw.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_sx4.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_uli.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sata_via.c [PATCH] sata_via: use old SCR access pattern on vt6420 2006-08-24 02:51:24 -04:00
sata_vsc.c [PATCH] sata_vsc: data_xfer should use mmio 2006-07-05 21:44:45 -04:00
script_asm.pl
scsi.c [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
scsi.h [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
scsi_debug.c [SCSI] scsi_debug: must_check fixes 2006-07-12 11:57:28 -04:00
scsi_debug.h
scsi_devinfo.c [SCSI] HP XP devinfo update 2006-06-26 09:30:00 -05:00
scsi_error.c [SCSI] fix scsi_send_eh_cmnd regression 2006-08-26 10:03:14 -05:00
scsi_ioctl.c [PATCH] scsi: kill overeager "not-ready" messages 2006-07-28 09:04:09 +02:00
scsi_lib.c [SCSI] limit recursion when flushing shost->starved_list 2006-08-19 13:31:53 -07:00
scsi_logging.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_module.c
scsi_netlink.c [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
scsi_priv.h [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
scsi_proc.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
scsi_sas_internal.h [SCSI] scsi_transport_sas: introduce a sas_port entity 2006-06-28 12:40:54 -04:00
scsi_scan.c [SCSI] SCSI: sanitize INQUIRY strings 2006-09-02 13:36:59 -05:00
scsi_sysctl.c
scsi_sysfs.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_transport_api.h [PATCH] SCSI: make scsi_implement_eh() generic API for SCSI transports 2006-05-20 00:39:08 -04:00
scsi_transport_fc.c [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
scsi_transport_iscsi.c [SCSI] iscsi class: update version 2006-09-02 13:37:43 -05:00
scsi_transport_sas.c [SCSI] scsi_transport_sas: remove local_attached flag 2006-08-27 22:30:11 -05:00
scsi_transport_spi.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_typedefs.h [SCSI] remove scsi_request infrastructure 2006-06-10 16:24:40 -05:00
scsicam.c [SCSI] Bogus disk geometry on large disks 2006-06-26 16:33:10 -05:00
sd.c [SCSI] Wrong size information for devices with disabled read access 2006-09-02 13:37:47 -05:00
seagate.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
seagate.h
sg.c [SCSI] sg: fix incorrect page problem 2006-08-26 09:25:06 -05:00
sgiwd93.c
sim710.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sr.c [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
sr.h [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
sr_ioctl.c [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
sr_vendor.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
st.c [SCSI] st.c: Improve sense output 2006-07-09 11:27:03 -05:00
st.h [SCSI] st: remove unused st_buffer.in_use 2006-06-29 11:06:30 -04:00
st_options.h
stex.c [SCSI] add failure return to scsi_init_shared_tag_map() 2006-09-02 13:57:28 -05:00
sun3_NCR5380.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
sun3_scsi.c
sun3_scsi.h
sun3_scsi_vme.c
sun3x_esp.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
sym53c416.c
sym53c416.h
t128.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
t128.h
tmscsim.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
tmscsim.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
u14-34f.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ultrastor.c
ultrastor.h
wd33c93.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
wd33c93.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
wd7000.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
zalon.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00