diff options
Diffstat (limited to 'include/linux/libata.h')
| -rw-r--r-- | include/linux/libata.h | 23 | 
1 files changed, 19 insertions, 4 deletions
| diff --git a/include/linux/libata.h b/include/linux/libata.h index c0c64f03e107..2884383f1718 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -676,6 +676,18 @@ struct ata_ering {  	struct ata_ering_entry	ring[ATA_ERING_SIZE];  }; +struct ata_cpr { +	u8			num; +	u8			num_storage_elements; +	u64			start_lba; +	u64			num_lbas; +}; + +struct ata_cpr_log { +	u8			nr_cpr; +	struct ata_cpr		cpr[]; +}; +  struct ata_device {  	struct ata_link		*link;  	unsigned int		devno;		/* 0 or 1 */ @@ -735,6 +747,9 @@ struct ata_device {  	u32			zac_zones_optimal_nonseq;  	u32			zac_zones_max_open; +	/* Concurrent positioning ranges */ +	struct ata_cpr_log	*cpr_log; +  	/* error history */  	int			spdn_cnt;  	/* ering is CLEAR_END, read comment above CLEAR_END */ @@ -1388,7 +1403,7 @@ extern int ata_link_nr_enabled(struct ata_link *link);   */  extern const struct ata_port_operations ata_base_port_ops;  extern const struct ata_port_operations sata_port_ops; -extern struct device_attribute *ata_common_sdev_attrs[]; +extern const struct attribute_group *ata_common_sdev_groups[];  /*   * All sht initializers (BASE, PIO, BMDMA, NCQ) must be instantiated @@ -1418,14 +1433,14 @@ extern struct device_attribute *ata_common_sdev_attrs[];  #define ATA_BASE_SHT(drv_name)					\  	ATA_SUBBASE_SHT(drv_name),				\ -	.sdev_attrs		= ata_common_sdev_attrs +	.sdev_groups		= ata_common_sdev_groups  #ifdef CONFIG_SATA_HOST -extern struct device_attribute *ata_ncq_sdev_attrs[]; +extern const struct attribute_group *ata_ncq_sdev_groups[];  #define ATA_NCQ_SHT(drv_name)					\  	ATA_SUBBASE_SHT(drv_name),				\ -	.sdev_attrs		= ata_ncq_sdev_attrs,		\ +	.sdev_groups		= ata_ncq_sdev_groups,		\  	.change_queue_depth	= ata_scsi_change_queue_depth  #endif |