mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
This commit is contained in:
commit
6e3cbfc900
@ -101,7 +101,7 @@ supplied functions" below.
|
|||||||
Those functions in group b) are listed in a section entitled "Interface
|
Those functions in group b) are listed in a section entitled "Interface
|
||||||
functions" below. Their function pointers are placed in the members of
|
functions" below. Their function pointers are placed in the members of
|
||||||
"struct scsi_host_template", an instance of which is passed to
|
"struct scsi_host_template", an instance of which is passed to
|
||||||
scsi_host_alloc() [#]_. Those interface functions that the LLD does not
|
scsi_host_alloc(). Those interface functions that the LLD does not
|
||||||
wish to supply should have NULL placed in the corresponding member of
|
wish to supply should have NULL placed in the corresponding member of
|
||||||
struct scsi_host_template. Defining an instance of struct
|
struct scsi_host_template. Defining an instance of struct
|
||||||
scsi_host_template at file scope will cause NULL to be placed in function
|
scsi_host_template at file scope will cause NULL to be placed in function
|
||||||
@ -116,9 +116,6 @@ should be static. For example the sdev_init() function in an LLD
|
|||||||
called "xxx" could be defined as
|
called "xxx" could be defined as
|
||||||
``static int xxx_sdev_init(struct scsi_device * sdev) { /* code */ }``
|
``static int xxx_sdev_init(struct scsi_device * sdev) { /* code */ }``
|
||||||
|
|
||||||
.. [#] the scsi_host_alloc() function is a replacement for the rather vaguely
|
|
||||||
named scsi_register() function in most situations.
|
|
||||||
|
|
||||||
|
|
||||||
Hotplug initialization model
|
Hotplug initialization model
|
||||||
============================
|
============================
|
||||||
@ -302,14 +299,12 @@ Summary:
|
|||||||
- scsi_host_alloc - return a new scsi_host instance whose refcount==1
|
- scsi_host_alloc - return a new scsi_host instance whose refcount==1
|
||||||
- scsi_host_get - increments Scsi_Host instance's refcount
|
- scsi_host_get - increments Scsi_Host instance's refcount
|
||||||
- scsi_host_put - decrements Scsi_Host instance's refcount (free if 0)
|
- scsi_host_put - decrements Scsi_Host instance's refcount (free if 0)
|
||||||
- scsi_register - create and register a scsi host adapter instance.
|
|
||||||
- scsi_remove_device - detach and remove a SCSI device
|
- scsi_remove_device - detach and remove a SCSI device
|
||||||
- scsi_remove_host - detach and remove all SCSI devices owned by host
|
- scsi_remove_host - detach and remove all SCSI devices owned by host
|
||||||
- scsi_report_bus_reset - report scsi _bus_ reset observed
|
- scsi_report_bus_reset - report scsi _bus_ reset observed
|
||||||
- scsi_scan_host - scan SCSI bus
|
- scsi_scan_host - scan SCSI bus
|
||||||
- scsi_track_queue_full - track successive QUEUE_FULL events
|
- scsi_track_queue_full - track successive QUEUE_FULL events
|
||||||
- scsi_unblock_requests - allow further commands to be queued to given host
|
- scsi_unblock_requests - allow further commands to be queued to given host
|
||||||
- scsi_unregister - [calls scsi_host_put()]
|
|
||||||
|
|
||||||
|
|
||||||
Details::
|
Details::
|
||||||
@ -474,27 +469,6 @@ Details::
|
|||||||
void scsi_host_put(struct Scsi_Host *shost)
|
void scsi_host_put(struct Scsi_Host *shost)
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* scsi_register - create and register a scsi host adapter instance.
|
|
||||||
* @sht: pointer to scsi host template
|
|
||||||
* @privsize: extra bytes to allocate in hostdata array (which is the
|
|
||||||
* last member of the returned Scsi_Host instance)
|
|
||||||
*
|
|
||||||
* Returns pointer to new Scsi_Host instance or NULL on failure
|
|
||||||
*
|
|
||||||
* Might block: yes
|
|
||||||
*
|
|
||||||
* Notes: When this call returns to the LLD, the SCSI bus scan on
|
|
||||||
* this host has _not_ yet been done.
|
|
||||||
* The hostdata array (by default zero length) is a per host scratch
|
|
||||||
* area for the LLD.
|
|
||||||
*
|
|
||||||
* Defined in: drivers/scsi/hosts.c .
|
|
||||||
**/
|
|
||||||
struct Scsi_Host * scsi_register(struct scsi_host_template * sht,
|
|
||||||
int privsize)
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* scsi_remove_device - detach and remove a SCSI device
|
* scsi_remove_device - detach and remove a SCSI device
|
||||||
* @sdev: a pointer to a scsi device instance
|
* @sdev: a pointer to a scsi device instance
|
||||||
@ -524,7 +498,7 @@ Details::
|
|||||||
*
|
*
|
||||||
* Notes: Should only be invoked if the "hotplug initialization
|
* Notes: Should only be invoked if the "hotplug initialization
|
||||||
* model" is being used. It should be called _prior_ to
|
* model" is being used. It should be called _prior_ to
|
||||||
* scsi_unregister().
|
* calling scsi_host_put().
|
||||||
*
|
*
|
||||||
* Defined in: drivers/scsi/hosts.c .
|
* Defined in: drivers/scsi/hosts.c .
|
||||||
**/
|
**/
|
||||||
@ -601,31 +575,12 @@ Details::
|
|||||||
void scsi_unblock_requests(struct Scsi_Host * shost)
|
void scsi_unblock_requests(struct Scsi_Host * shost)
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* scsi_unregister - unregister and free memory used by host instance
|
|
||||||
* @shp: pointer to scsi host instance to unregister.
|
|
||||||
*
|
|
||||||
* Returns nothing
|
|
||||||
*
|
|
||||||
* Might block: no
|
|
||||||
*
|
|
||||||
* Notes: Should not be invoked if the "hotplug initialization
|
|
||||||
* model" is being used. Called internally by exit_this_scsi_driver()
|
|
||||||
* in the "passive initialization model". Hence a LLD has no need to
|
|
||||||
* call this function directly.
|
|
||||||
*
|
|
||||||
* Defined in: drivers/scsi/hosts.c .
|
|
||||||
**/
|
|
||||||
void scsi_unregister(struct Scsi_Host * shp)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Interface Functions
|
Interface Functions
|
||||||
===================
|
===================
|
||||||
Interface functions are supplied (defined) by LLDs and their function
|
Interface functions are supplied (defined) by LLDs and their function
|
||||||
pointers are placed in an instance of struct scsi_host_template which
|
pointers are placed in an instance of struct scsi_host_template which
|
||||||
is passed to scsi_host_alloc() [or scsi_register() / init_this_scsi_driver()].
|
is passed to scsi_host_alloc().
|
||||||
Some are mandatory. Interface functions should be declared static. The
|
Some are mandatory. Interface functions should be declared static. The
|
||||||
accepted convention is that driver "xyz" will declare its sdev_configure()
|
accepted convention is that driver "xyz" will declare its sdev_configure()
|
||||||
function as::
|
function as::
|
||||||
@ -636,8 +591,8 @@ and so forth for all interface functions listed below.
|
|||||||
|
|
||||||
A pointer to this function should be placed in the 'sdev_configure' member
|
A pointer to this function should be placed in the 'sdev_configure' member
|
||||||
of a "struct scsi_host_template" instance. A pointer to such an instance
|
of a "struct scsi_host_template" instance. A pointer to such an instance
|
||||||
should be passed to the mid level's scsi_host_alloc() [or scsi_register() /
|
should be passed to the mid level's scsi_host_alloc().
|
||||||
init_this_scsi_driver()].
|
.
|
||||||
|
|
||||||
The interface functions are also described in the include/scsi/scsi_host.h
|
The interface functions are also described in the include/scsi/scsi_host.h
|
||||||
file immediately above their definition point in "struct scsi_host_template".
|
file immediately above their definition point in "struct scsi_host_template".
|
||||||
@ -817,10 +772,6 @@ Details::
|
|||||||
* The SCSI_IOCTL_PROBE_HOST ioctl yields the string returned by this
|
* The SCSI_IOCTL_PROBE_HOST ioctl yields the string returned by this
|
||||||
* function (or struct Scsi_Host::name if this function is not
|
* function (or struct Scsi_Host::name if this function is not
|
||||||
* available).
|
* available).
|
||||||
* In a similar manner, init_this_scsi_driver() outputs to the console
|
|
||||||
* each host's "info" (or name) for the driver it is registering.
|
|
||||||
* Also if proc_info() is not supplied, the output of this function
|
|
||||||
* is used instead.
|
|
||||||
*
|
*
|
||||||
* Optionally defined in: LLD
|
* Optionally defined in: LLD
|
||||||
**/
|
**/
|
||||||
@ -1115,7 +1066,7 @@ of interest:
|
|||||||
hostdata[0]
|
hostdata[0]
|
||||||
- area reserved for LLD at end of struct Scsi_Host. Size
|
- area reserved for LLD at end of struct Scsi_Host. Size
|
||||||
is set by the second argument (named 'xtr_bytes') to
|
is set by the second argument (named 'xtr_bytes') to
|
||||||
scsi_host_alloc() or scsi_register().
|
scsi_host_alloc().
|
||||||
vendor_id
|
vendor_id
|
||||||
- a unique value that identifies the vendor supplying
|
- a unique value that identifies the vendor supplying
|
||||||
the LLD for the Scsi_Host. Used most often in validating
|
the LLD for the Scsi_Host. Used most often in validating
|
||||||
|
@ -20754,8 +20754,7 @@ F: arch/s390/include/uapi/asm/zcrypt.h
|
|||||||
F: drivers/s390/crypto/
|
F: drivers/s390/crypto/
|
||||||
|
|
||||||
S390 ZFCP DRIVER
|
S390 ZFCP DRIVER
|
||||||
M: Steffen Maier <maier@linux.ibm.com>
|
M: Nihar Panda <niharp@linux.ibm.com>
|
||||||
M: Benjamin Block <bblock@linux.ibm.com>
|
|
||||||
L: linux-s390@vger.kernel.org
|
L: linux-s390@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/s390/scsi/zfcp_*
|
F: drivers/s390/scsi/zfcp_*
|
||||||
|
@ -537,6 +537,11 @@ static void zfcp_fc_adisc_handler(void *data)
|
|||||||
/* port is still good, nothing to do */
|
/* port is still good, nothing to do */
|
||||||
out:
|
out:
|
||||||
atomic_andnot(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
|
atomic_andnot(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
|
||||||
|
/*
|
||||||
|
* port ref comes from get_device() in zfcp_fc_test_link() and
|
||||||
|
* work item zfcp_fc_link_test_work() passes ref via
|
||||||
|
* zfcp_fc_adisc() to here, if zfcp_fc_adisc() could send ADISC
|
||||||
|
*/
|
||||||
put_device(&port->dev);
|
put_device(&port->dev);
|
||||||
kmem_cache_free(zfcp_fc_req_cache, fc_req);
|
kmem_cache_free(zfcp_fc_req_cache, fc_req);
|
||||||
}
|
}
|
||||||
@ -603,7 +608,7 @@ void zfcp_fc_link_test_work(struct work_struct *work)
|
|||||||
|
|
||||||
retval = zfcp_fc_adisc(port);
|
retval = zfcp_fc_adisc(port);
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
return;
|
return; /* port ref passed to zfcp_fc_adisc(), no put here */
|
||||||
|
|
||||||
/* send of ADISC was not possible */
|
/* send of ADISC was not possible */
|
||||||
atomic_andnot(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
|
atomic_andnot(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
|
||||||
|
@ -1218,7 +1218,7 @@ static int zfcp_fsf_setup_ct_els(struct zfcp_fsf_req *req,
|
|||||||
/**
|
/**
|
||||||
* zfcp_fsf_send_ct - initiate a Generic Service request (FC-GS)
|
* zfcp_fsf_send_ct - initiate a Generic Service request (FC-GS)
|
||||||
* @wka_port: pointer to zfcp WKA port to send CT/GS to
|
* @wka_port: pointer to zfcp WKA port to send CT/GS to
|
||||||
* @ct: pointer to struct zfcp_send_ct with data for request
|
* @ct: pointer to struct zfcp_fsf_ct_els with data for CT request
|
||||||
* @pool: if non-null this mempool is used to allocate struct zfcp_fsf_req
|
* @pool: if non-null this mempool is used to allocate struct zfcp_fsf_req
|
||||||
* @timeout: timeout that hardware should use, and a later software timeout
|
* @timeout: timeout that hardware should use, and a later software timeout
|
||||||
*/
|
*/
|
||||||
@ -1316,7 +1316,7 @@ static void zfcp_fsf_send_els_handler(struct zfcp_fsf_req *req)
|
|||||||
* zfcp_fsf_send_els - initiate an ELS command (FC-FS)
|
* zfcp_fsf_send_els - initiate an ELS command (FC-FS)
|
||||||
* @adapter: pointer to zfcp adapter
|
* @adapter: pointer to zfcp adapter
|
||||||
* @d_id: N_Port_ID to send ELS to
|
* @d_id: N_Port_ID to send ELS to
|
||||||
* @els: pointer to struct zfcp_send_els with data for the command
|
* @els: pointer to struct zfcp_fsf_ct_els with data for the ELS command
|
||||||
* @timeout: timeout that hardware should use, and a later software timeout
|
* @timeout: timeout that hardware should use, and a later software timeout
|
||||||
*/
|
*/
|
||||||
int zfcp_fsf_send_els(struct zfcp_adapter *adapter, u32 d_id,
|
int zfcp_fsf_send_els(struct zfcp_adapter *adapter, u32 d_id,
|
||||||
|
@ -2261,7 +2261,7 @@ static int __maybe_unused twa_resume(struct device *dev)
|
|||||||
} /* End twa_resume() */
|
} /* End twa_resume() */
|
||||||
|
|
||||||
/* PCI Devices supported by this driver */
|
/* PCI Devices supported by this driver */
|
||||||
static struct pci_device_id twa_pci_tbl[] = {
|
static const struct pci_device_id twa_pci_tbl[] = {
|
||||||
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_9000,
|
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_9000,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_9550SX,
|
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_9550SX,
|
||||||
|
@ -1822,7 +1822,7 @@ static int __maybe_unused twl_resume(struct device *dev)
|
|||||||
} /* End twl_resume() */
|
} /* End twl_resume() */
|
||||||
|
|
||||||
/* PCI Devices supported by this driver */
|
/* PCI Devices supported by this driver */
|
||||||
static struct pci_device_id twl_pci_tbl[] = {
|
static const struct pci_device_id twl_pci_tbl[] = {
|
||||||
{ PCI_VDEVICE(3WARE, PCI_DEVICE_ID_3WARE_9750) },
|
{ PCI_VDEVICE(3WARE, PCI_DEVICE_ID_3WARE_9750) },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
@ -2393,7 +2393,7 @@ static void tw_remove(struct pci_dev *pdev)
|
|||||||
} /* End tw_remove() */
|
} /* End tw_remove() */
|
||||||
|
|
||||||
/* PCI Devices supported by this driver */
|
/* PCI Devices supported by this driver */
|
||||||
static struct pci_device_id tw_pci_tbl[] = {
|
static const struct pci_device_id tw_pci_tbl[] = {
|
||||||
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_1000,
|
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_1000,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_7000,
|
{ PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_7000,
|
||||||
|
@ -3716,7 +3716,7 @@ static void __exit blogic_exit(void)
|
|||||||
__setup("BusLogic=", blogic_setup);
|
__setup("BusLogic=", blogic_setup);
|
||||||
|
|
||||||
#ifdef MODULE
|
#ifdef MODULE
|
||||||
/*static struct pci_device_id blogic_pci_tbl[] = {
|
/*static const struct pci_device_id blogic_pci_tbl[] = {
|
||||||
{ PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER,
|
{ PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{ PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC,
|
{ PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC,
|
||||||
|
@ -1206,7 +1206,7 @@ static void inia100_remove_one(struct pci_dev *pdev)
|
|||||||
scsi_host_put(shost);
|
scsi_host_put(shost);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id inia100_pci_tbl[] = {
|
static const struct pci_device_id inia100_pci_tbl[] = {
|
||||||
{PCI_VENDOR_ID_INIT, 0x1060, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
{PCI_VENDOR_ID_INIT, 0x1060, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{0,}
|
{0,}
|
||||||
};
|
};
|
||||||
|
@ -11409,7 +11409,7 @@ static struct eisa_driver advansys_eisa_driver = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* PCI Devices supported by this driver */
|
/* PCI Devices supported by this driver */
|
||||||
static struct pci_device_id advansys_pci_tbl[] = {
|
static const struct pci_device_id advansys_pci_tbl[] = {
|
||||||
{PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_1200A,
|
{PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_1200A,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940,
|
{PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940,
|
||||||
|
@ -513,7 +513,7 @@ static void pci_esp_remove_one(struct pci_dev *pdev)
|
|||||||
scsi_host_put(esp->host);
|
scsi_host_put(esp->host);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id am53c974_pci_tbl[] = {
|
static const struct pci_device_id am53c974_pci_tbl[] = {
|
||||||
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SCSI,
|
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SCSI,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
|
||||||
{ }
|
{ }
|
||||||
|
@ -172,7 +172,7 @@ static const struct scsi_host_template arcmsr_scsi_host_template = {
|
|||||||
.no_write_same = 1,
|
.no_write_same = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id arcmsr_device_id_table[] = {
|
static const struct pci_device_id arcmsr_device_id_table[] = {
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_ARECA, PCI_DEVICE_ID_ARECA_1110),
|
{PCI_DEVICE(PCI_VENDOR_ID_ARECA, PCI_DEVICE_ID_ARECA_1110),
|
||||||
.driver_data = ACB_ADAPTER_TYPE_A},
|
.driver_data = ACB_ADAPTER_TYPE_A},
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_ARECA, PCI_DEVICE_ID_ARECA_1120),
|
{PCI_DEVICE(PCI_VENDOR_ID_ARECA, PCI_DEVICE_ID_ARECA_1120),
|
||||||
|
@ -1743,7 +1743,7 @@ static const struct scsi_host_template atp870u_template = {
|
|||||||
.max_sectors = ATP870U_MAX_SECTORS,
|
.max_sectors = ATP870U_MAX_SECTORS,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id atp870u_id_table[] = {
|
static const struct pci_device_id atp870u_id_table[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_ARTOP, ATP885_DEVID) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_ARTOP, ATP885_DEVID) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_ARTOP, ATP880_DEVID1) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_ARTOP, ATP880_DEVID1) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_ARTOP, ATP880_DEVID2) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_ARTOP, ATP880_DEVID2) },
|
||||||
|
@ -3177,7 +3177,7 @@ static struct dev_dependent_vals dev_briard_vals = { CXLFLASH_MAX_SECTORS,
|
|||||||
/*
|
/*
|
||||||
* PCI device binding table
|
* PCI device binding table
|
||||||
*/
|
*/
|
||||||
static struct pci_device_id cxlflash_pci_table[] = {
|
static const struct pci_device_id cxlflash_pci_table[] = {
|
||||||
{PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CORSA,
|
{PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CORSA,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, (kernel_ulong_t)&dev_corsa_vals},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, (kernel_ulong_t)&dev_corsa_vals},
|
||||||
{PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_FLASH_GT,
|
{PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_FLASH_GT,
|
||||||
|
@ -4668,7 +4668,7 @@ static void dc395x_remove_one(struct pci_dev *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct pci_device_id dc395x_pci_table[] = {
|
static const struct pci_device_id dc395x_pci_table[] = {
|
||||||
{
|
{
|
||||||
.vendor = PCI_VENDOR_ID_TEKRAM,
|
.vendor = PCI_VENDOR_ID_TEKRAM,
|
||||||
.device = PCI_DEVICE_ID_TEKRAM_TRMS1040,
|
.device = PCI_DEVICE_ID_TEKRAM_TRMS1040,
|
||||||
|
@ -127,7 +127,7 @@ static void dmx3191d_remove_one(struct pci_dev *pdev)
|
|||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id dmx3191d_pci_tbl[] = {
|
static const struct pci_device_id dmx3191d_pci_tbl[] = {
|
||||||
{PCI_VENDOR_ID_DOMEX, PCI_DEVICE_ID_DOMEX_DMX3191D,
|
{PCI_VENDOR_ID_DOMEX, PCI_DEVICE_ID_DOMEX_DMX3191D,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4},
|
||||||
{ }
|
{ }
|
||||||
|
@ -470,7 +470,7 @@ efct_setup_msix(struct efct *efct, u32 num_intrs)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id efct_pci_table[] = {
|
static const struct pci_device_id efct_pci_table[] = {
|
||||||
{PCI_DEVICE(EFCT_VENDOR_ID, EFCT_DEVICE_LANCER_G6), 0},
|
{PCI_DEVICE(EFCT_VENDOR_ID, EFCT_DEVICE_LANCER_G6), 0},
|
||||||
{PCI_DEVICE(EFCT_VENDOR_ID, EFCT_DEVICE_LANCER_G7), 0},
|
{PCI_DEVICE(EFCT_VENDOR_ID, EFCT_DEVICE_LANCER_G7), 0},
|
||||||
{} /* terminate list */
|
{} /* terminate list */
|
||||||
|
@ -47,7 +47,7 @@ static void fdomain_pci_remove(struct pci_dev *pdev)
|
|||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id fdomain_pci_table[] = {
|
static const struct pci_device_id fdomain_pci_table[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_FD, PCI_DEVICE_ID_FD_36C70) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_FD, PCI_DEVICE_ID_FD_36C70) },
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
@ -43,7 +43,7 @@ static DEFINE_SPINLOCK(fnic_list_lock);
|
|||||||
static DEFINE_IDA(fnic_ida);
|
static DEFINE_IDA(fnic_ida);
|
||||||
|
|
||||||
/* Supported devices by fnic module */
|
/* Supported devices by fnic module */
|
||||||
static struct pci_device_id fnic_id_table[] = {
|
static const struct pci_device_id fnic_id_table[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_FNIC) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_FNIC) },
|
||||||
{ 0, }
|
{ 0, }
|
||||||
};
|
};
|
||||||
|
@ -1634,7 +1634,7 @@ static struct hptiop_adapter_ops hptiop_mvfrey_ops = {
|
|||||||
.host_phy_flag = cpu_to_le64(1),
|
.host_phy_flag = cpu_to_le64(1),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id hptiop_id_table[] = {
|
static const struct pci_device_id hptiop_id_table[] = {
|
||||||
{ PCI_VDEVICE(TTI, 0x3220), (kernel_ulong_t)&hptiop_itl_ops },
|
{ PCI_VDEVICE(TTI, 0x3220), (kernel_ulong_t)&hptiop_itl_ops },
|
||||||
{ PCI_VDEVICE(TTI, 0x3320), (kernel_ulong_t)&hptiop_itl_ops },
|
{ PCI_VDEVICE(TTI, 0x3320), (kernel_ulong_t)&hptiop_itl_ops },
|
||||||
{ PCI_VDEVICE(TTI, 0x3410), (kernel_ulong_t)&hptiop_itl_ops },
|
{ PCI_VDEVICE(TTI, 0x3410), (kernel_ulong_t)&hptiop_itl_ops },
|
||||||
|
@ -2941,7 +2941,7 @@ static void initio_remove_one(struct pci_dev *pdev)
|
|||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
|
||||||
static struct pci_device_id initio_pci_tbl[] = {
|
static const struct pci_device_id initio_pci_tbl[] = {
|
||||||
{PCI_VENDOR_ID_INIT, 0x9500, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
{PCI_VENDOR_ID_INIT, 0x9500, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{PCI_VENDOR_ID_INIT, 0x9400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
{PCI_VENDOR_ID_INIT, 0x9400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{PCI_VENDOR_ID_INIT, 0x9401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
{PCI_VENDOR_ID_INIT, 0x9401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
|
@ -9844,7 +9844,7 @@ static void ipr_shutdown(struct pci_dev *pdev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id ipr_pci_table[] = {
|
static const struct pci_device_id ipr_pci_table[] = {
|
||||||
{ PCI_VENDOR_ID_MYLEX, PCI_DEVICE_ID_IBM_GEMSTONE,
|
{ PCI_VENDOR_ID_MYLEX, PCI_DEVICE_ID_IBM_GEMSTONE,
|
||||||
PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_5702, 0, 0, 0 },
|
PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_5702, 0, 0, 0 },
|
||||||
{ PCI_VENDOR_ID_MYLEX, PCI_DEVICE_ID_IBM_GEMSTONE,
|
{ PCI_VENDOR_ID_MYLEX, PCI_DEVICE_ID_IBM_GEMSTONE,
|
||||||
|
@ -4551,7 +4551,7 @@ megaraid_shutdown(struct pci_dev *pdev)
|
|||||||
__megaraid_shutdown(adapter);
|
__megaraid_shutdown(adapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id megaraid_pci_tbl[] = {
|
static const struct pci_device_id megaraid_pci_tbl[] = {
|
||||||
{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID,
|
{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2,
|
{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2,
|
||||||
|
@ -199,7 +199,7 @@ MODULE_PARM_DESC(debug_level, "Debug level for driver (default=0)");
|
|||||||
/*
|
/*
|
||||||
* PCI table for all supported controllers.
|
* PCI table for all supported controllers.
|
||||||
*/
|
*/
|
||||||
static struct pci_device_id pci_id_table_g[] = {
|
static const struct pci_device_id pci_id_table_g[] = {
|
||||||
{
|
{
|
||||||
PCI_VENDOR_ID_DELL,
|
PCI_VENDOR_ID_DELL,
|
||||||
PCI_DEVICE_ID_PERC4_DI_DISCOVERY,
|
PCI_DEVICE_ID_PERC4_DI_DISCOVERY,
|
||||||
@ -621,7 +621,7 @@ megaraid_io_attach(adapter_t *adapter)
|
|||||||
host = scsi_host_alloc(&megaraid_template_g, 8);
|
host = scsi_host_alloc(&megaraid_template_g, 8);
|
||||||
if (!host) {
|
if (!host) {
|
||||||
con_log(CL_ANN, (KERN_WARNING
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
"megaraid mbox: scsi_register failed\n"));
|
"megaraid mbox: scsi_host_alloc failed\n"));
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -146,7 +146,7 @@ megasas_set_ld_removed_by_fw(struct megasas_instance *instance);
|
|||||||
/*
|
/*
|
||||||
* PCI ID table for all supported controllers
|
* PCI ID table for all supported controllers
|
||||||
*/
|
*/
|
||||||
static struct pci_device_id megasas_pci_table[] = {
|
static const struct pci_device_id megasas_pci_table[] = {
|
||||||
|
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)},
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)},
|
||||||
/* xscale IOP */
|
/* xscale IOP */
|
||||||
|
@ -609,7 +609,7 @@ static void mvs_pci_remove(struct pci_dev *pdev)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id mvs_pci_table[] = {
|
static const struct pci_device_id mvs_pci_table[] = {
|
||||||
{ PCI_VDEVICE(MARVELL, 0x6320), chip_6320 },
|
{ PCI_VDEVICE(MARVELL, 0x6320), chip_6320 },
|
||||||
{ PCI_VDEVICE(MARVELL, 0x6340), chip_6440 },
|
{ PCI_VDEVICE(MARVELL, 0x6340), chip_6440 },
|
||||||
{
|
{
|
||||||
|
@ -66,7 +66,7 @@ static const char *nsp32_release_version = "1.2";
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Supported hardware
|
* Supported hardware
|
||||||
*/
|
*/
|
||||||
static struct pci_device_id nsp32_pci_table[] = {
|
static const struct pci_device_id nsp32_pci_table[] = {
|
||||||
{
|
{
|
||||||
.vendor = PCI_VENDOR_ID_IODATA,
|
.vendor = PCI_VENDOR_ID_IODATA,
|
||||||
.device = PCI_DEVICE_ID_NINJASCSI_32BI_CBSC_II,
|
.device = PCI_DEVICE_ID_NINJASCSI_32BI_CBSC_II,
|
||||||
|
@ -1435,7 +1435,7 @@ static int __maybe_unused pm8001_pci_resume(struct device *dev)
|
|||||||
/* update of pci device, vendor id and driver data with
|
/* update of pci device, vendor id and driver data with
|
||||||
* unique value for each of the controller
|
* unique value for each of the controller
|
||||||
*/
|
*/
|
||||||
static struct pci_device_id pm8001_pci_table[] = {
|
static const struct pci_device_id pm8001_pci_table[] = {
|
||||||
{ PCI_VDEVICE(PMC_Sierra, 0x8001), chip_8001 },
|
{ PCI_VDEVICE(PMC_Sierra, 0x8001), chip_8001 },
|
||||||
{ PCI_VDEVICE(PMC_Sierra, 0x8006), chip_8006 },
|
{ PCI_VDEVICE(PMC_Sierra, 0x8006), chip_8006 },
|
||||||
{ PCI_VDEVICE(ADAPTEC2, 0x8006), chip_8006 },
|
{ PCI_VDEVICE(ADAPTEC2, 0x8006), chip_8006 },
|
||||||
|
@ -113,7 +113,7 @@ static struct pmcraid_chip_details pmcraid_chip_cfg[] = {
|
|||||||
/*
|
/*
|
||||||
* PCI device ids supported by pmcraid driver
|
* PCI device ids supported by pmcraid driver
|
||||||
*/
|
*/
|
||||||
static struct pci_device_id pmcraid_pci_table[] = {
|
static const struct pci_device_id pmcraid_pci_table[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_PMC, PCI_DEVICE_ID_PMC_MAXRAID),
|
{ PCI_DEVICE(PCI_VENDOR_ID_PMC, PCI_DEVICE_ID_PMC_MAXRAID),
|
||||||
0, 0, (kernel_ulong_t)&pmcraid_chip_cfg[0]
|
0, 0, (kernel_ulong_t)&pmcraid_chip_cfg[0]
|
||||||
},
|
},
|
||||||
|
@ -2869,7 +2869,7 @@ static void qedi_remove(struct pci_dev *pdev)
|
|||||||
__qedi_remove(pdev, QEDI_MODE_NORMAL);
|
__qedi_remove(pdev, QEDI_MODE_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_device_id qedi_pci_tbl[] = {
|
static const struct pci_device_id qedi_pci_tbl[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, 0x165E) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, 0x165E) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, 0x8084) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, 0x8084) },
|
||||||
{ 0 },
|
{ 0 },
|
||||||
|
@ -501,7 +501,7 @@ struct qla_boards {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* NOTE: the last argument in each entry is used to index ql1280_board_tbl */
|
/* NOTE: the last argument in each entry is used to index ql1280_board_tbl */
|
||||||
static struct pci_device_id qla1280_pci_tbl[] = {
|
static const struct pci_device_id qla1280_pci_tbl[] = {
|
||||||
{PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP12160,
|
{PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP12160,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||||
{PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP1020,
|
{PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP1020,
|
||||||
|
@ -8116,7 +8116,7 @@ static const struct pci_error_handlers qla2xxx_err_handler = {
|
|||||||
.reset_done = qla_pci_reset_done,
|
.reset_done = qla_pci_reset_done,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id qla2xxx_pci_tbl[] = {
|
static const struct pci_device_id qla2xxx_pci_tbl[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) },
|
||||||
|
@ -9846,7 +9846,7 @@ static const struct pci_error_handlers qla4xxx_err_handler = {
|
|||||||
.resume = qla4xxx_pci_resume,
|
.resume = qla4xxx_pci_resume,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id qla4xxx_pci_tbl[] = {
|
static const struct pci_device_id qla4xxx_pci_tbl[] = {
|
||||||
{
|
{
|
||||||
.vendor = PCI_VENDOR_ID_QLOGIC,
|
.vendor = PCI_VENDOR_ID_QLOGIC,
|
||||||
.device = PCI_DEVICE_ID_QLOGIC_ISP4010,
|
.device = PCI_DEVICE_ID_QLOGIC_ISP4010,
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#define PCI_DEVICE_ID_CISCO_SNIC 0x0046
|
#define PCI_DEVICE_ID_CISCO_SNIC 0x0046
|
||||||
|
|
||||||
/* Supported devices by snic module */
|
/* Supported devices by snic module */
|
||||||
static struct pci_device_id snic_id_table[] = {
|
static const struct pci_device_id snic_id_table[] = {
|
||||||
{PCI_DEVICE(0x1137, PCI_DEVICE_ID_CISCO_SNIC) },
|
{PCI_DEVICE(0x1137, PCI_DEVICE_ID_CISCO_SNIC) },
|
||||||
{ 0, } /* end of table */
|
{ 0, } /* end of table */
|
||||||
};
|
};
|
||||||
|
@ -1488,7 +1488,7 @@ static const struct scsi_host_template driver_template = {
|
|||||||
.dma_boundary = PAGE_SIZE - 1,
|
.dma_boundary = PAGE_SIZE - 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id stex_pci_tbl[] = {
|
static const struct pci_device_id stex_pci_tbl[] = {
|
||||||
/* st_shasta */
|
/* st_shasta */
|
||||||
{ 0x105a, 0x8350, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
{ 0x105a, 0x8350, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
||||||
st_shasta }, /* SuperTrak EX8350/8300/16350/16300 */
|
st_shasta }, /* SuperTrak EX8350/8300/16350/16300 */
|
||||||
|
@ -917,14 +917,13 @@ static int storvsc_channel_init(struct hv_device *device, bool is_fc)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Allocate state to manage the sub-channels.
|
* Allocate state to manage the sub-channels.
|
||||||
* We allocate an array based on the numbers of possible CPUs
|
* We allocate an array based on the number of CPU ids. This array
|
||||||
* (Hyper-V does not support cpu online/offline).
|
* is initially sparsely populated for the CPUs assigned to channels:
|
||||||
* This Array will be sparseley populated with unique
|
* primary + sub-channels. As I/Os are initiated by different CPUs,
|
||||||
* channels - primary + sub-channels.
|
* the slots for all online CPUs are populated to evenly distribute
|
||||||
* We will however populate all the slots to evenly distribute
|
* the load across all channels.
|
||||||
* the load.
|
|
||||||
*/
|
*/
|
||||||
stor_device->stor_chns = kcalloc(num_possible_cpus(), sizeof(void *),
|
stor_device->stor_chns = kcalloc(nr_cpu_ids, sizeof(void *),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (stor_device->stor_chns == NULL)
|
if (stor_device->stor_chns == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -2031,7 +2031,7 @@ static struct spi_function_template sym2_transport_functions = {
|
|||||||
.get_signalling = sym2_get_signalling,
|
.get_signalling = sym2_get_signalling,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pci_device_id sym2_id_table[] = {
|
static const struct pci_device_id sym2_id_table[] = {
|
||||||
{ PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_NCR_53C810,
|
{ PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_NCR_53C810,
|
||||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
||||||
{ PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_NCR_53C820,
|
{ PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_NCR_53C820,
|
||||||
|
@ -4805,20 +4805,14 @@ EXPORT_SYMBOL_GPL(ufshcd_make_hba_operational);
|
|||||||
*/
|
*/
|
||||||
void ufshcd_hba_stop(struct ufs_hba *hba)
|
void ufshcd_hba_stop(struct ufs_hba *hba)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
/*
|
ufshcd_disable_irq(hba);
|
||||||
* Obtain the host lock to prevent that the controller is disabled
|
|
||||||
* while the UFS interrupt handler is active on another CPU.
|
|
||||||
*/
|
|
||||||
spin_lock_irqsave(hba->host->host_lock, flags);
|
|
||||||
ufshcd_writel(hba, CONTROLLER_DISABLE, REG_CONTROLLER_ENABLE);
|
ufshcd_writel(hba, CONTROLLER_DISABLE, REG_CONTROLLER_ENABLE);
|
||||||
spin_unlock_irqrestore(hba->host->host_lock, flags);
|
|
||||||
|
|
||||||
err = ufshcd_wait_for_register(hba, REG_CONTROLLER_ENABLE,
|
err = ufshcd_wait_for_register(hba, REG_CONTROLLER_ENABLE,
|
||||||
CONTROLLER_ENABLE, CONTROLLER_DISABLE,
|
CONTROLLER_ENABLE, CONTROLLER_DISABLE,
|
||||||
10, 1);
|
10, 1);
|
||||||
|
ufshcd_enable_irq(hba);
|
||||||
if (err)
|
if (err)
|
||||||
dev_err(hba->dev, "%s: Controller disable failed\n", __func__);
|
dev_err(hba->dev, "%s: Controller disable failed\n", __func__);
|
||||||
}
|
}
|
||||||
|
@ -595,7 +595,7 @@ struct Scsi_Host {
|
|||||||
* have some way of identifying each detected host adapter properly
|
* have some way of identifying each detected host adapter properly
|
||||||
* and uniquely. For hosts that do not support more than one card
|
* and uniquely. For hosts that do not support more than one card
|
||||||
* in the system at one time, this does not need to be set. It is
|
* in the system at one time, this does not need to be set. It is
|
||||||
* initialized to 0 in scsi_register.
|
* initialized to 0 in scsi_host_alloc.
|
||||||
*/
|
*/
|
||||||
unsigned int unique_id;
|
unsigned int unique_id;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user