提交 2a397e82 编写于 作者: L Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide: add SH-S202J to ivb_list[]
  drivers/ide/pci/sc1200.c: fix suspend/resume buglets and warnings
  drivers/ide/pci/generic: fix build for CONFIG_HOTPLUG=n
  hpt366: fix build for CONFIG_HOTPLUG=n
  cy82c693: fix build for CONFIG_HOTPLUG=n
...@@ -582,9 +582,12 @@ EXPORT_SYMBOL_GPL(ide_in_drive_list); ...@@ -582,9 +582,12 @@ EXPORT_SYMBOL_GPL(ide_in_drive_list);
/* /*
* Early UDMA66 devices don't set bit14 to 1, only bit13 is valid. * Early UDMA66 devices don't set bit14 to 1, only bit13 is valid.
* We list them here and depend on the device side cable detection for them. * We list them here and depend on the device side cable detection for them.
*
* Some optical devices with the buggy firmwares have the same problem.
*/ */
static const struct drive_list_entry ivb_list[] = { static const struct drive_list_entry ivb_list[] = {
{ "QUANTUM FIREBALLlct10 05" , "A03.0900" }, { "QUANTUM FIREBALLlct10 05" , "A03.0900" },
{ "TSSTcorp CDDVDW SH-S202J" , "SB00" },
{ NULL , NULL } { NULL , NULL }
}; };
......
/* /*
* linux/drivers/ide/pci/cy82c693.c Version 0.41 Aug 27, 2007 * linux/drivers/ide/pci/cy82c693.c Version 0.42 Oct 23, 2007
* *
* Copyright (C) 1998-2000 Andreas S. Krebs (akrebs@altavista.net), Maintainer * Copyright (C) 1998-2000 Andreas S. Krebs (akrebs@altavista.net), Maintainer
* Copyright (C) 1998-2002 Andre Hedrick <andre@linux-ide.org>, Integrator * Copyright (C) 1998-2002 Andre Hedrick <andre@linux-ide.org>, Integrator
...@@ -436,10 +436,10 @@ static void __devinit init_hwif_cy82c693(ide_hwif_t *hwif) ...@@ -436,10 +436,10 @@ static void __devinit init_hwif_cy82c693(ide_hwif_t *hwif)
hwif->ide_dma_on = &cy82c693_ide_dma_on; hwif->ide_dma_on = &cy82c693_ide_dma_on;
} }
static __devinitdata ide_hwif_t *primary;
static void __devinit init_iops_cy82c693(ide_hwif_t *hwif) static void __devinit init_iops_cy82c693(ide_hwif_t *hwif)
{ {
static ide_hwif_t *primary;
if (PCI_FUNC(hwif->pci_dev->devfn) == 1) if (PCI_FUNC(hwif->pci_dev->devfn) == 1)
primary = hwif; primary = hwif;
else { else {
......
...@@ -49,7 +49,7 @@ static int __init ide_generic_all_on(char *unused) ...@@ -49,7 +49,7 @@ static int __init ide_generic_all_on(char *unused)
printk(KERN_INFO "IDE generic will claim all unknown PCI IDE storage controllers.\n"); printk(KERN_INFO "IDE generic will claim all unknown PCI IDE storage controllers.\n");
return 1; return 1;
} }
__setup("all-generic-ide", ide_generic_all_on); const __setup("all-generic-ide", ide_generic_all_on);
#endif #endif
module_param_named(all_generic_ide, ide_generic_all, bool, 0444); module_param_named(all_generic_ide, ide_generic_all, bool, 0444);
MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers."); MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers.");
......
/* /*
* linux/drivers/ide/pci/hpt366.c Version 1.20 Oct 1, 2007 * linux/drivers/ide/pci/hpt366.c Version 1.21 Oct 23, 2007
* *
* Copyright (C) 1999-2003 Andre Hedrick <andre@linux-ide.org> * Copyright (C) 1999-2003 Andre Hedrick <andre@linux-ide.org>
* Portions Copyright (C) 2001 Sun Microsystems, Inc. * Portions Copyright (C) 2001 Sun Microsystems, Inc.
...@@ -433,7 +433,7 @@ static u32 *hpt37x_settings[NUM_ATA_CLOCKS] = { ...@@ -433,7 +433,7 @@ static u32 *hpt37x_settings[NUM_ATA_CLOCKS] = {
sixty_six_base_hpt37x sixty_six_base_hpt37x
}; };
static struct hpt_info hpt36x __devinitdata = { static const struct hpt_info hpt36x __devinitdata = {
.chip_name = "HPT36x", .chip_name = "HPT36x",
.chip_type = HPT36x, .chip_type = HPT36x,
.udma_mask = HPT366_ALLOW_ATA66_3 ? (HPT366_ALLOW_ATA66_4 ? ATA_UDMA4 : ATA_UDMA3) : ATA_UDMA2, .udma_mask = HPT366_ALLOW_ATA66_3 ? (HPT366_ALLOW_ATA66_4 ? ATA_UDMA4 : ATA_UDMA3) : ATA_UDMA2,
...@@ -441,7 +441,7 @@ static struct hpt_info hpt36x __devinitdata = { ...@@ -441,7 +441,7 @@ static struct hpt_info hpt36x __devinitdata = {
.settings = hpt36x_settings .settings = hpt36x_settings
}; };
static struct hpt_info hpt370 __devinitdata = { static const struct hpt_info hpt370 __devinitdata = {
.chip_name = "HPT370", .chip_name = "HPT370",
.chip_type = HPT370, .chip_type = HPT370,
.udma_mask = HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4, .udma_mask = HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4,
...@@ -449,7 +449,7 @@ static struct hpt_info hpt370 __devinitdata = { ...@@ -449,7 +449,7 @@ static struct hpt_info hpt370 __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt370a __devinitdata = { static const struct hpt_info hpt370a __devinitdata = {
.chip_name = "HPT370A", .chip_name = "HPT370A",
.chip_type = HPT370A, .chip_type = HPT370A,
.udma_mask = HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4, .udma_mask = HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4,
...@@ -457,7 +457,7 @@ static struct hpt_info hpt370a __devinitdata = { ...@@ -457,7 +457,7 @@ static struct hpt_info hpt370a __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt374 __devinitdata = { static const struct hpt_info hpt374 __devinitdata = {
.chip_name = "HPT374", .chip_name = "HPT374",
.chip_type = HPT374, .chip_type = HPT374,
.udma_mask = ATA_UDMA5, .udma_mask = ATA_UDMA5,
...@@ -465,7 +465,7 @@ static struct hpt_info hpt374 __devinitdata = { ...@@ -465,7 +465,7 @@ static struct hpt_info hpt374 __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt372 __devinitdata = { static const struct hpt_info hpt372 __devinitdata = {
.chip_name = "HPT372", .chip_name = "HPT372",
.chip_type = HPT372, .chip_type = HPT372,
.udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -473,7 +473,7 @@ static struct hpt_info hpt372 __devinitdata = { ...@@ -473,7 +473,7 @@ static struct hpt_info hpt372 __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt372a __devinitdata = { static const struct hpt_info hpt372a __devinitdata = {
.chip_name = "HPT372A", .chip_name = "HPT372A",
.chip_type = HPT372A, .chip_type = HPT372A,
.udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -481,7 +481,7 @@ static struct hpt_info hpt372a __devinitdata = { ...@@ -481,7 +481,7 @@ static struct hpt_info hpt372a __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt302 __devinitdata = { static const struct hpt_info hpt302 __devinitdata = {
.chip_name = "HPT302", .chip_name = "HPT302",
.chip_type = HPT302, .chip_type = HPT302,
.udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -489,7 +489,7 @@ static struct hpt_info hpt302 __devinitdata = { ...@@ -489,7 +489,7 @@ static struct hpt_info hpt302 __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt371 __devinitdata = { static const struct hpt_info hpt371 __devinitdata = {
.chip_name = "HPT371", .chip_name = "HPT371",
.chip_type = HPT371, .chip_type = HPT371,
.udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -497,7 +497,7 @@ static struct hpt_info hpt371 __devinitdata = { ...@@ -497,7 +497,7 @@ static struct hpt_info hpt371 __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt372n __devinitdata = { static const struct hpt_info hpt372n __devinitdata = {
.chip_name = "HPT372N", .chip_name = "HPT372N",
.chip_type = HPT372N, .chip_type = HPT372N,
.udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -505,7 +505,7 @@ static struct hpt_info hpt372n __devinitdata = { ...@@ -505,7 +505,7 @@ static struct hpt_info hpt372n __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt302n __devinitdata = { static const struct hpt_info hpt302n __devinitdata = {
.chip_name = "HPT302N", .chip_name = "HPT302N",
.chip_type = HPT302N, .chip_type = HPT302N,
.udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -513,7 +513,7 @@ static struct hpt_info hpt302n __devinitdata = { ...@@ -513,7 +513,7 @@ static struct hpt_info hpt302n __devinitdata = {
.settings = hpt37x_settings .settings = hpt37x_settings
}; };
static struct hpt_info hpt371n __devinitdata = { static const struct hpt_info hpt371n __devinitdata = {
.chip_name = "HPT371N", .chip_name = "HPT371N",
.chip_type = HPT371N, .chip_type = HPT371N,
.udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
...@@ -1508,7 +1508,7 @@ static const struct ide_port_info hpt366_chipsets[] __devinitdata = { ...@@ -1508,7 +1508,7 @@ static const struct ide_port_info hpt366_chipsets[] __devinitdata = {
*/ */
static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_device_id *id) static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_device_id *id)
{ {
struct hpt_info *info = NULL; const struct hpt_info *info = NULL;
struct pci_dev *dev2 = NULL; struct pci_dev *dev2 = NULL;
struct ide_port_info d; struct ide_port_info d;
u8 idx = id->driver_data; u8 idx = id->driver_data;
...@@ -1522,7 +1522,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic ...@@ -1522,7 +1522,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic
if (rev < 3) if (rev < 3)
info = &hpt36x; info = &hpt36x;
else { else {
static struct hpt_info *hpt37x_info[] = static const struct hpt_info *hpt37x_info[] =
{ &hpt370, &hpt370a, &hpt372, &hpt372n }; { &hpt370, &hpt370a, &hpt372, &hpt372n };
info = hpt37x_info[min_t(u8, rev, 6) - 3]; info = hpt37x_info[min_t(u8, rev, 6) - 3];
...@@ -1552,7 +1552,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic ...@@ -1552,7 +1552,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic
d.name = info->chip_name; d.name = info->chip_name;
d.udma_mask = info->udma_mask; d.udma_mask = info->udma_mask;
pci_set_drvdata(dev, info); pci_set_drvdata(dev, (void *)info);
if (info == &hpt36x || info == &hpt374) if (info == &hpt36x || info == &hpt374)
dev2 = pci_get_slot(dev->bus, dev->devfn + 1); dev2 = pci_get_slot(dev->bus, dev->devfn + 1);
...@@ -1560,7 +1560,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic ...@@ -1560,7 +1560,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic
if (dev2) { if (dev2) {
int ret; int ret;
pci_set_drvdata(dev2, info); pci_set_drvdata(dev2, (void *)info);
if (info == &hpt374) if (info == &hpt374)
hpt374_init(dev, dev2); hpt374_init(dev, dev2);
......
...@@ -324,17 +324,18 @@ static int sc1200_suspend (struct pci_dev *dev, pm_message_t state) ...@@ -324,17 +324,18 @@ static int sc1200_suspend (struct pci_dev *dev, pm_message_t state)
pci_disable_device(dev); pci_disable_device(dev);
pci_set_power_state(dev, pci_choose_state(dev, state)); pci_set_power_state(dev, pci_choose_state(dev, state));
dev->current_state = state.event;
return 0; return 0;
} }
static int sc1200_resume (struct pci_dev *dev) static int sc1200_resume (struct pci_dev *dev)
{ {
ide_hwif_t *hwif = NULL; ide_hwif_t *hwif = NULL;
int i;
i = pci_enable_device(dev);
if (i)
return i;
pci_set_power_state(dev, PCI_D0); // bring chip back from sleep state
dev->current_state = PM_EVENT_ON;
pci_enable_device(dev);
// //
// loop over all interfaces that are part of this pci device: // loop over all interfaces that are part of this pci device:
// //
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册