|
@@ -67,9 +67,9 @@ static void ata_dev_reread_id(struct ata_port *ap, struct ata_device *dev);
|
|
|
static void ata_dev_init_params(struct ata_port *ap, struct ata_device *dev);
|
|
|
static void ata_set_mode(struct ata_port *ap);
|
|
|
static void ata_dev_set_xfermode(struct ata_port *ap, struct ata_device *dev);
|
|
|
-static unsigned int ata_get_mode_mask(struct ata_port *ap, int shift);
|
|
|
+static unsigned int ata_get_mode_mask(const struct ata_port *ap, int shift);
|
|
|
static int fgb(u32 bitmap);
|
|
|
-static int ata_choose_xfer_mode(struct ata_port *ap,
|
|
|
+static int ata_choose_xfer_mode(const struct ata_port *ap,
|
|
|
u8 *xfer_mode_out,
|
|
|
unsigned int *xfer_shift_out);
|
|
|
static void __ata_qc_complete(struct ata_queued_cmd *qc);
|
|
@@ -97,7 +97,7 @@ MODULE_VERSION(DRV_VERSION);
|
|
|
* Inherited from caller.
|
|
|
*/
|
|
|
|
|
|
-static void ata_tf_load_pio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+static void ata_tf_load_pio(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
struct ata_ioports *ioaddr = &ap->ioaddr;
|
|
|
unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR;
|
|
@@ -155,7 +155,7 @@ static void ata_tf_load_pio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* Inherited from caller.
|
|
|
*/
|
|
|
|
|
|
-static void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+static void ata_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
struct ata_ioports *ioaddr = &ap->ioaddr;
|
|
|
unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR;
|
|
@@ -224,7 +224,7 @@ static void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* LOCKING:
|
|
|
* Inherited from caller.
|
|
|
*/
|
|
|
-void ata_tf_load(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+void ata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
if (ap->flags & ATA_FLAG_MMIO)
|
|
|
ata_tf_load_mmio(ap, tf);
|
|
@@ -244,7 +244,7 @@ void ata_tf_load(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* spin_lock_irqsave(host_set lock)
|
|
|
*/
|
|
|
|
|
|
-static void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+static void ata_exec_command_pio(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
DPRINTK("ata%u: cmd 0x%X\n", ap->id, tf->command);
|
|
|
|
|
@@ -265,7 +265,7 @@ static void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* spin_lock_irqsave(host_set lock)
|
|
|
*/
|
|
|
|
|
|
-static void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+static void ata_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
DPRINTK("ata%u: cmd 0x%X\n", ap->id, tf->command);
|
|
|
|
|
@@ -285,7 +285,7 @@ static void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* LOCKING:
|
|
|
* spin_lock_irqsave(host_set lock)
|
|
|
*/
|
|
|
-void ata_exec_command(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
if (ap->flags & ATA_FLAG_MMIO)
|
|
|
ata_exec_command_mmio(ap, tf);
|
|
@@ -305,7 +305,7 @@ void ata_exec_command(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* Obtains host_set lock.
|
|
|
*/
|
|
|
|
|
|
-static inline void ata_exec(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+static inline void ata_exec(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
unsigned long flags;
|
|
|
|
|
@@ -328,7 +328,7 @@ static inline void ata_exec(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* Obtains host_set lock.
|
|
|
*/
|
|
|
|
|
|
-static void ata_tf_to_host(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+static void ata_tf_to_host(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
ap->ops->tf_load(ap, tf);
|
|
|
|
|
@@ -348,7 +348,7 @@ static void ata_tf_to_host(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
* spin_lock_irqsave(host_set lock)
|
|
|
*/
|
|
|
|
|
|
-void ata_tf_to_host_nolock(struct ata_port *ap, struct ata_taskfile *tf)
|
|
|
+void ata_tf_to_host_nolock(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
{
|
|
|
ap->ops->tf_load(ap, tf);
|
|
|
ap->ops->exec_command(ap, tf);
|
|
@@ -558,7 +558,7 @@ u8 ata_chk_err(struct ata_port *ap)
|
|
|
* Inherited from caller.
|
|
|
*/
|
|
|
|
|
|
-void ata_tf_to_fis(struct ata_taskfile *tf, u8 *fis, u8 pmp)
|
|
|
+void ata_tf_to_fis(const struct ata_taskfile *tf, u8 *fis, u8 pmp)
|
|
|
{
|
|
|
fis[0] = 0x27; /* Register - Host to Device FIS */
|
|
|
fis[1] = (pmp & 0xf) | (1 << 7); /* Port multiplier number,
|
|
@@ -599,7 +599,7 @@ void ata_tf_to_fis(struct ata_taskfile *tf, u8 *fis, u8 pmp)
|
|
|
* Inherited from caller.
|
|
|
*/
|
|
|
|
|
|
-void ata_tf_from_fis(u8 *fis, struct ata_taskfile *tf)
|
|
|
+void ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf)
|
|
|
{
|
|
|
tf->command = fis[2]; /* status */
|
|
|
tf->feature = fis[3]; /* error */
|
|
@@ -845,7 +845,7 @@ static unsigned int ata_devchk(struct ata_port *ap,
|
|
|
* the event of failure.
|
|
|
*/
|
|
|
|
|
|
-unsigned int ata_dev_classify(struct ata_taskfile *tf)
|
|
|
+unsigned int ata_dev_classify(const struct ata_taskfile *tf)
|
|
|
{
|
|
|
/* Apple's open source Darwin code hints that some devices only
|
|
|
* put a proper signature into the LBA mid/high registers,
|
|
@@ -937,7 +937,7 @@ static u8 ata_dev_try_classify(struct ata_port *ap, unsigned int device)
|
|
|
* caller.
|
|
|
*/
|
|
|
|
|
|
-void ata_dev_id_string(u16 *id, unsigned char *s,
|
|
|
+void ata_dev_id_string(const u16 *id, unsigned char *s,
|
|
|
unsigned int ofs, unsigned int len)
|
|
|
{
|
|
|
unsigned int c;
|
|
@@ -1054,7 +1054,7 @@ void ata_dev_select(struct ata_port *ap, unsigned int device,
|
|
|
* caller.
|
|
|
*/
|
|
|
|
|
|
-static inline void ata_dump_id(struct ata_device *dev)
|
|
|
+static inline void ata_dump_id(const struct ata_device *dev)
|
|
|
{
|
|
|
DPRINTK("49==0x%04x "
|
|
|
"53==0x%04x "
|
|
@@ -1089,7 +1089,7 @@ static inline void ata_dump_id(struct ata_device *dev)
|
|
|
* FIXME: pre IDE drive timing (do we care ?).
|
|
|
*/
|
|
|
|
|
|
-static unsigned int ata_pio_modes(struct ata_device *adev)
|
|
|
+static unsigned int ata_pio_modes(const struct ata_device *adev)
|
|
|
{
|
|
|
u16 modes;
|
|
|
|
|
@@ -1352,7 +1352,7 @@ err_out:
|
|
|
}
|
|
|
|
|
|
|
|
|
-static inline u8 ata_dev_knobble(struct ata_port *ap)
|
|
|
+static inline u8 ata_dev_knobble(const struct ata_port *ap)
|
|
|
{
|
|
|
return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(ap->device->id)));
|
|
|
}
|
|
@@ -1684,7 +1684,7 @@ int ata_timing_compute(struct ata_device *adev, unsigned short speed,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static struct {
|
|
|
+static const struct {
|
|
|
unsigned int shift;
|
|
|
u8 base;
|
|
|
} xfer_mode_classes[] = {
|
|
@@ -2093,7 +2093,8 @@ err_out:
|
|
|
DPRINTK("EXIT\n");
|
|
|
}
|
|
|
|
|
|
-static void ata_pr_blacklisted(struct ata_port *ap, struct ata_device *dev)
|
|
|
+static void ata_pr_blacklisted(const struct ata_port *ap,
|
|
|
+ const struct ata_device *dev)
|
|
|
{
|
|
|
printk(KERN_WARNING "ata%u: dev %u is on DMA blacklist, disabling DMA\n",
|
|
|
ap->id, dev->devno);
|
|
@@ -2131,7 +2132,7 @@ static const char * ata_dma_blacklist [] = {
|
|
|
"_NEC DV5800A",
|
|
|
};
|
|
|
|
|
|
-static int ata_dma_blacklisted(struct ata_port *ap, struct ata_device *dev)
|
|
|
+static int ata_dma_blacklisted(const struct ata_device *dev)
|
|
|
{
|
|
|
unsigned char model_num[40];
|
|
|
char *s;
|
|
@@ -2156,9 +2157,9 @@ static int ata_dma_blacklisted(struct ata_port *ap, struct ata_device *dev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static unsigned int ata_get_mode_mask(struct ata_port *ap, int shift)
|
|
|
+static unsigned int ata_get_mode_mask(const struct ata_port *ap, int shift)
|
|
|
{
|
|
|
- struct ata_device *master, *slave;
|
|
|
+ const struct ata_device *master, *slave;
|
|
|
unsigned int mask;
|
|
|
|
|
|
master = &ap->device[0];
|
|
@@ -2170,14 +2171,14 @@ static unsigned int ata_get_mode_mask(struct ata_port *ap, int shift)
|
|
|
mask = ap->udma_mask;
|
|
|
if (ata_dev_present(master)) {
|
|
|
mask &= (master->id[ATA_ID_UDMA_MODES] & 0xff);
|
|
|
- if (ata_dma_blacklisted(ap, master)) {
|
|
|
+ if (ata_dma_blacklisted(master)) {
|
|
|
mask = 0;
|
|
|
ata_pr_blacklisted(ap, master);
|
|
|
}
|
|
|
}
|
|
|
if (ata_dev_present(slave)) {
|
|
|
mask &= (slave->id[ATA_ID_UDMA_MODES] & 0xff);
|
|
|
- if (ata_dma_blacklisted(ap, slave)) {
|
|
|
+ if (ata_dma_blacklisted(slave)) {
|
|
|
mask = 0;
|
|
|
ata_pr_blacklisted(ap, slave);
|
|
|
}
|
|
@@ -2187,14 +2188,14 @@ static unsigned int ata_get_mode_mask(struct ata_port *ap, int shift)
|
|
|
mask = ap->mwdma_mask;
|
|
|
if (ata_dev_present(master)) {
|
|
|
mask &= (master->id[ATA_ID_MWDMA_MODES] & 0x07);
|
|
|
- if (ata_dma_blacklisted(ap, master)) {
|
|
|
+ if (ata_dma_blacklisted(master)) {
|
|
|
mask = 0;
|
|
|
ata_pr_blacklisted(ap, master);
|
|
|
}
|
|
|
}
|
|
|
if (ata_dev_present(slave)) {
|
|
|
mask &= (slave->id[ATA_ID_MWDMA_MODES] & 0x07);
|
|
|
- if (ata_dma_blacklisted(ap, slave)) {
|
|
|
+ if (ata_dma_blacklisted(slave)) {
|
|
|
mask = 0;
|
|
|
ata_pr_blacklisted(ap, slave);
|
|
|
}
|
|
@@ -2258,7 +2259,7 @@ static int fgb(u32 bitmap)
|
|
|
* Zero on success, negative on error.
|
|
|
*/
|
|
|
|
|
|
-static int ata_choose_xfer_mode(struct ata_port *ap,
|
|
|
+static int ata_choose_xfer_mode(const struct ata_port *ap,
|
|
|
u8 *xfer_mode_out,
|
|
|
unsigned int *xfer_shift_out)
|
|
|
{
|
|
@@ -4144,7 +4145,7 @@ static void ata_host_remove(struct ata_port *ap, unsigned int do_unregister)
|
|
|
|
|
|
static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
|
|
|
struct ata_host_set *host_set,
|
|
|
- struct ata_probe_ent *ent, unsigned int port_no)
|
|
|
+ const struct ata_probe_ent *ent, unsigned int port_no)
|
|
|
{
|
|
|
unsigned int i;
|
|
|
|
|
@@ -4203,7 +4204,7 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
|
|
|
*
|
|
|
*/
|
|
|
|
|
|
-static struct ata_port * ata_host_add(struct ata_probe_ent *ent,
|
|
|
+static struct ata_port * ata_host_add(const struct ata_probe_ent *ent,
|
|
|
struct ata_host_set *host_set,
|
|
|
unsigned int port_no)
|
|
|
{
|
|
@@ -4251,7 +4252,7 @@ err_out:
|
|
|
*
|
|
|
*/
|
|
|
|
|
|
-int ata_device_add(struct ata_probe_ent *ent)
|
|
|
+int ata_device_add(const struct ata_probe_ent *ent)
|
|
|
{
|
|
|
unsigned int count = 0, i;
|
|
|
struct device *dev = ent->dev;
|
|
@@ -4470,7 +4471,7 @@ void ata_std_ports(struct ata_ioports *ioaddr)
|
|
|
}
|
|
|
|
|
|
static struct ata_probe_ent *
|
|
|
-ata_probe_ent_alloc(struct device *dev, struct ata_port_info *port)
|
|
|
+ata_probe_ent_alloc(struct device *dev, const struct ata_port_info *port)
|
|
|
{
|
|
|
struct ata_probe_ent *probe_ent;
|
|
|
|
|
@@ -4570,7 +4571,6 @@ static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, stru
|
|
|
if (!probe_ent)
|
|
|
return NULL;
|
|
|
|
|
|
-
|
|
|
probe_ent->legacy_mode = 1;
|
|
|
probe_ent->n_ports = 1;
|
|
|
probe_ent->hard_port_no = port_num;
|
|
@@ -4783,7 +4783,7 @@ void ata_pci_remove_one (struct pci_dev *pdev)
|
|
|
}
|
|
|
|
|
|
/* move to PCI subsystem */
|
|
|
-int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits)
|
|
|
+int pci_test_config_bits(struct pci_dev *pdev, const struct pci_bits *bits)
|
|
|
{
|
|
|
unsigned long tmp = 0;
|
|
|
|