mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (97 commits) [SCSI] zfcp: removed wrong comment [SCSI] zfcp: use of uninitialized variable [SCSI] zfcp: Invalid locking order [SCSI] aic79xx: use dma_get_required_mask() [SCSI] aic79xx: fix bracket mismatch in unused macro [SCSI] BusLogic: Replace 'boolean' by 'bool' [SCSI] advansys: clean up warnings [SCSI] 53c7xx: brackets fix in uncompiled code [SCSI] nsp_cs: remove old scsi code [SCSI] aic79xx: make ahd_match_scb() static [SCSI] DAC960: kmalloc->kzalloc/Casting cleanups [SCSI] scsi_kmap_atomic_sg(): check that local irqs are disabled [SCSI] Buslogic: local_irq_disable() is redundant after local_irq_save() [SCSI] aic94xx: update for v28 firmware [SCSI] scsi_error: Fix lost EH commands [SCSI] aic94xx: Add default bus reset handler [SCSI] aic94xx: Remove TMF result code munging [SCSI] libsas: Add an LU reset mechanism to the error handler [SCSI] libsas: Don't BUG when connecting two expanders via wide port [SCSI] st: fix Tape dies if wrong block size used, bug 7919 ...
This commit is contained in:
commit
5f0b1437e0
104 changed files with 5827 additions and 3135 deletions
|
|
@ -323,12 +323,20 @@ struct sas_ha_event {
|
|||
struct sas_ha_struct *ha;
|
||||
};
|
||||
|
||||
enum sas_ha_state {
|
||||
SAS_HA_REGISTERED,
|
||||
SAS_HA_UNREGISTERED
|
||||
};
|
||||
|
||||
struct sas_ha_struct {
|
||||
/* private: */
|
||||
spinlock_t event_lock;
|
||||
struct sas_ha_event ha_events[HA_NUM_EVENTS];
|
||||
unsigned long pending;
|
||||
|
||||
enum sas_ha_state state;
|
||||
spinlock_t state_lock;
|
||||
|
||||
struct scsi_core core;
|
||||
|
||||
/* public: */
|
||||
|
|
@ -553,7 +561,8 @@ struct sas_task {
|
|||
#define SAS_TASK_STATE_PENDING 1
|
||||
#define SAS_TASK_STATE_DONE 2
|
||||
#define SAS_TASK_STATE_ABORTED 4
|
||||
#define SAS_TASK_INITIATOR_ABORTED 8
|
||||
#define SAS_TASK_NEED_DEV_RESET 8
|
||||
#define SAS_TASK_AT_INITIATOR 16
|
||||
|
||||
static inline struct sas_task *sas_alloc_task(gfp_t flags)
|
||||
{
|
||||
|
|
@ -612,6 +621,9 @@ struct sas_domain_function_template {
|
|||
extern int sas_register_ha(struct sas_ha_struct *);
|
||||
extern int sas_unregister_ha(struct sas_ha_struct *);
|
||||
|
||||
int sas_set_phy_speed(struct sas_phy *phy,
|
||||
struct sas_phy_linkrates *rates);
|
||||
int sas_phy_enable(struct sas_phy *phy, int enabled);
|
||||
int sas_phy_reset(struct sas_phy *phy, int hard_reset);
|
||||
extern int sas_queuecommand(struct scsi_cmnd *,
|
||||
void (*scsi_done)(struct scsi_cmnd *));
|
||||
|
|
@ -645,6 +657,9 @@ void sas_unregister_dev(struct domain_device *);
|
|||
|
||||
void sas_init_dev(struct domain_device *);
|
||||
|
||||
void sas_task_abort(struct work_struct *);
|
||||
void sas_task_abort(struct sas_task *);
|
||||
int __sas_task_abort(struct sas_task *);
|
||||
int sas_eh_device_reset_handler(struct scsi_cmnd *cmd);
|
||||
int sas_eh_bus_reset_handler(struct scsi_cmnd *cmd);
|
||||
|
||||
#endif /* _SASLIB_H_ */
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ struct sas_identify {
|
|||
struct sas_phy {
|
||||
struct device dev;
|
||||
int number;
|
||||
int enabled;
|
||||
|
||||
/* phy identification */
|
||||
struct sas_identify identify;
|
||||
|
|
@ -163,6 +164,7 @@ struct sas_function_template {
|
|||
int (*get_enclosure_identifier)(struct sas_rphy *, u64 *);
|
||||
int (*get_bay_identifier)(struct sas_rphy *);
|
||||
int (*phy_reset)(struct sas_phy *, int);
|
||||
int (*phy_enable)(struct sas_phy *, int);
|
||||
int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *);
|
||||
};
|
||||
|
||||
|
|
@ -180,6 +182,7 @@ extern struct sas_rphy *sas_end_device_alloc(struct sas_port *);
|
|||
extern struct sas_rphy *sas_expander_alloc(struct sas_port *, enum sas_device_type);
|
||||
void sas_rphy_free(struct sas_rphy *);
|
||||
extern int sas_rphy_add(struct sas_rphy *);
|
||||
extern void sas_rphy_remove(struct sas_rphy *);
|
||||
extern void sas_rphy_delete(struct sas_rphy *);
|
||||
extern int scsi_is_sas_rphy(const struct device *);
|
||||
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ struct spi_host_attrs {
|
|||
#define spi_pcomp_en(x) (((struct spi_transport_attrs *)&(x)->starget_data)->pcomp_en)
|
||||
#define spi_hold_mcs(x) (((struct spi_transport_attrs *)&(x)->starget_data)->hold_mcs)
|
||||
#define spi_initial_dv(x) (((struct spi_transport_attrs *)&(x)->starget_data)->initial_dv)
|
||||
#define spi_dv_pending(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending)
|
||||
|
||||
#define spi_support_sync(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_sync)
|
||||
#define spi_support_wide(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_wide)
|
||||
|
|
|
|||
Loading…
Reference in a new issue