diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-12-13 22:22:41 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-13 22:22:41 -0500 |
commit | e7fb585940a3dc87a42ebc30a62296e5cf6f9cd5 (patch) | |
tree | 6b0290f0cb5f019b792df8580a73f0f852a4e856 | |
parent | 80c7af4074cbb4cb6be5d35c443ea6d5e8838a84 (diff) | |
parent | c6329f4df2263ab5a40601a5236639e61b682f51 (diff) |
Merge branch 'upstream'
-rw-r--r-- | Documentation/kernel-parameters.txt | 8 | ||||
-rw-r--r-- | drivers/net/skge.c | 2 | ||||
-rw-r--r-- | drivers/pci/quirks.c | 30 | ||||
-rw-r--r-- | drivers/scsi/libata-scsi.c | 7 | ||||
-rw-r--r-- | drivers/scsi/sata_mv.c | 3 | ||||
-rw-r--r-- | drivers/scsi/sata_promise.c | 12 | ||||
-rw-r--r-- | drivers/scsi/sata_sx4.c | 3 | ||||
-rw-r--r-- | include/asm-ia64/sal.h | 3 | ||||
-rw-r--r-- | include/linux/libata.h | 1 | ||||
-rw-r--r-- | init/Kconfig | 4 |
10 files changed, 59 insertions, 14 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 5dffcfefc3c7..61a56b100c62 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -633,6 +633,14 @@ running once the system is up. | |||
633 | inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver | 633 | inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver |
634 | Format: <irq> | 634 | Format: <irq> |
635 | 635 | ||
636 | combined_mode= [HW] control which driver uses IDE ports in combined | ||
637 | mode: legacy IDE driver, libata, or both | ||
638 | (in the libata case, libata.atapi_enabled=1 may be | ||
639 | useful as well). Note that using the ide or libata | ||
640 | options may affect your device naming (e.g. by | ||
641 | changing hdc to sdb). | ||
642 | Format: combined (default), ide, or libata | ||
643 | |||
636 | inttest= [IA64] | 644 | inttest= [IA64] |
637 | 645 | ||
638 | io7= [HW] IO7 for Marvel based alpha systems | 646 | io7= [HW] IO7 for Marvel based alpha systems |
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 8b6e2a11e28d..00d683063c01 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -2280,7 +2280,7 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev) | |||
2280 | } | 2280 | } |
2281 | 2281 | ||
2282 | if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) { | 2282 | if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) { |
2283 | if (!netif_stopped(dev)) { | 2283 | if (!netif_queue_stopped(dev)) { |
2284 | netif_stop_queue(dev); | 2284 | netif_stop_queue(dev); |
2285 | 2285 | ||
2286 | printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", | 2286 | printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 3a4f49f4effb..f28ebdd3958a 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -1098,6 +1098,23 @@ static void __init quirk_alder_ioapic(struct pci_dev *pdev) | |||
1098 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic ); | 1098 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic ); |
1099 | #endif | 1099 | #endif |
1100 | 1100 | ||
1101 | enum ide_combined_type { COMBINED = 0, IDE = 1, LIBATA = 2 }; | ||
1102 | /* Defaults to combined */ | ||
1103 | static enum ide_combined_type combined_mode; | ||
1104 | |||
1105 | static int __init combined_setup(char *str) | ||
1106 | { | ||
1107 | if (!strncmp(str, "ide", 3)) | ||
1108 | combined_mode = IDE; | ||
1109 | else if (!strncmp(str, "libata", 6)) | ||
1110 | combined_mode = LIBATA; | ||
1111 | else /* "combined" or anything else defaults to old behavior */ | ||
1112 | combined_mode = COMBINED; | ||
1113 | |||
1114 | return 1; | ||
1115 | } | ||
1116 | __setup("combined_mode=", combined_setup); | ||
1117 | |||
1101 | #ifdef CONFIG_SCSI_SATA_INTEL_COMBINED | 1118 | #ifdef CONFIG_SCSI_SATA_INTEL_COMBINED |
1102 | static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev) | 1119 | static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev) |
1103 | { | 1120 | { |
@@ -1164,6 +1181,19 @@ static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev) | |||
1164 | if (prog & comb) | 1181 | if (prog & comb) |
1165 | return; | 1182 | return; |
1166 | 1183 | ||
1184 | /* Don't reserve any so the IDE driver can get them (but only if | ||
1185 | * combined_mode=ide). | ||
1186 | */ | ||
1187 | if (combined_mode == IDE) | ||
1188 | return; | ||
1189 | |||
1190 | /* Grab them both for libata if combined_mode=libata. */ | ||
1191 | if (combined_mode == LIBATA) { | ||
1192 | request_region(0x1f0, 8, "libata"); /* port 0 */ | ||
1193 | request_region(0x170, 8, "libata"); /* port 1 */ | ||
1194 | return; | ||
1195 | } | ||
1196 | |||
1167 | /* SATA port is in legacy mode. Reserve port so that | 1197 | /* SATA port is in legacy mode. Reserve port so that |
1168 | * IDE driver does not attempt to use it. If request_region | 1198 | * IDE driver does not attempt to use it. If request_region |
1169 | * fails, it will be obvious at boot time, so we don't bother | 1199 | * fails, it will be obvious at boot time, so we don't bother |
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index e2f298b2ade6..665ce382eb23 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c | |||
@@ -2169,9 +2169,12 @@ ata_scsi_find_dev(struct ata_port *ap, const struct scsi_device *scsidev) | |||
2169 | if (unlikely(!ata_dev_present(dev))) | 2169 | if (unlikely(!ata_dev_present(dev))) |
2170 | return NULL; | 2170 | return NULL; |
2171 | 2171 | ||
2172 | if (!atapi_enabled) { | 2172 | if (!atapi_enabled || (ap->flags & ATA_FLAG_NO_ATAPI)) { |
2173 | if (unlikely(dev->class == ATA_DEV_ATAPI)) | 2173 | if (unlikely(dev->class == ATA_DEV_ATAPI)) { |
2174 | printk(KERN_WARNING "ata%u(%u): WARNING: ATAPI is %s, device ignored.\n", | ||
2175 | ap->id, dev->devno, atapi_enabled ? "not supported with this driver" : "disabled"); | ||
2174 | return NULL; | 2176 | return NULL; |
2177 | } | ||
2175 | } | 2178 | } |
2176 | 2179 | ||
2177 | return dev; | 2180 | return dev; |
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 3e7866b51ac6..b2bf16a9bf4b 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -86,7 +86,8 @@ enum { | |||
86 | MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */ | 86 | MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */ |
87 | MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ | 87 | MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ |
88 | MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 88 | MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
89 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO), | 89 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | |
90 | ATA_FLAG_NO_ATAPI), | ||
90 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, | 91 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, |
91 | 92 | ||
92 | CRQB_FLAG_READ = (1 << 0), | 93 | CRQB_FLAG_READ = (1 << 0), |
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c index e2e146a14f97..da7fa04b8a73 100644 --- a/drivers/scsi/sata_promise.c +++ b/drivers/scsi/sata_promise.c | |||
@@ -70,6 +70,9 @@ enum { | |||
70 | PDC_HAS_PATA = (1 << 1), /* PDC20375 has PATA */ | 70 | PDC_HAS_PATA = (1 << 1), /* PDC20375 has PATA */ |
71 | 71 | ||
72 | PDC_RESET = (1 << 11), /* HDMA reset */ | 72 | PDC_RESET = (1 << 11), /* HDMA reset */ |
73 | |||
74 | PDC_COMMON_FLAGS = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | | ||
75 | ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI, | ||
73 | }; | 76 | }; |
74 | 77 | ||
75 | 78 | ||
@@ -162,8 +165,7 @@ static const struct ata_port_info pdc_port_info[] = { | |||
162 | /* board_2037x */ | 165 | /* board_2037x */ |
163 | { | 166 | { |
164 | .sht = &pdc_ata_sht, | 167 | .sht = &pdc_ata_sht, |
165 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 168 | .host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SATA, |
166 | ATA_FLAG_SRST | ATA_FLAG_MMIO, | ||
167 | .pio_mask = 0x1f, /* pio0-4 */ | 169 | .pio_mask = 0x1f, /* pio0-4 */ |
168 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 170 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
169 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 171 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
@@ -173,8 +175,7 @@ static const struct ata_port_info pdc_port_info[] = { | |||
173 | /* board_20319 */ | 175 | /* board_20319 */ |
174 | { | 176 | { |
175 | .sht = &pdc_ata_sht, | 177 | .sht = &pdc_ata_sht, |
176 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 178 | .host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SATA, |
177 | ATA_FLAG_SRST | ATA_FLAG_MMIO, | ||
178 | .pio_mask = 0x1f, /* pio0-4 */ | 179 | .pio_mask = 0x1f, /* pio0-4 */ |
179 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 180 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
180 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 181 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
@@ -184,8 +185,7 @@ static const struct ata_port_info pdc_port_info[] = { | |||
184 | /* board_20619 */ | 185 | /* board_20619 */ |
185 | { | 186 | { |
186 | .sht = &pdc_ata_sht, | 187 | .sht = &pdc_ata_sht, |
187 | .host_flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | | 188 | .host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SLAVE_POSS, |
188 | ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS, | ||
189 | .pio_mask = 0x1f, /* pio0-4 */ | 189 | .pio_mask = 0x1f, /* pio0-4 */ |
190 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 190 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
191 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 191 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
diff --git a/drivers/scsi/sata_sx4.c b/drivers/scsi/sata_sx4.c index 58da854a7c68..94b253b80da8 100644 --- a/drivers/scsi/sata_sx4.c +++ b/drivers/scsi/sata_sx4.c | |||
@@ -220,7 +220,8 @@ static const struct ata_port_info pdc_port_info[] = { | |||
220 | { | 220 | { |
221 | .sht = &pdc_sata_sht, | 221 | .sht = &pdc_sata_sht, |
222 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 222 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
223 | ATA_FLAG_SRST | ATA_FLAG_MMIO, | 223 | ATA_FLAG_SRST | ATA_FLAG_MMIO | |
224 | ATA_FLAG_NO_ATAPI, | ||
224 | .pio_mask = 0x1f, /* pio0-4 */ | 225 | .pio_mask = 0x1f, /* pio0-4 */ |
225 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 226 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
226 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 227 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
diff --git a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h index 29df88bdd2bc..313cad0628d0 100644 --- a/include/asm-ia64/sal.h +++ b/include/asm-ia64/sal.h | |||
@@ -320,7 +320,8 @@ typedef struct sal_log_timestamp { | |||
320 | typedef struct sal_log_record_header { | 320 | typedef struct sal_log_record_header { |
321 | u64 id; /* Unique monotonically increasing ID */ | 321 | u64 id; /* Unique monotonically increasing ID */ |
322 | sal_log_revision_t revision; /* Major and Minor revision of header */ | 322 | sal_log_revision_t revision; /* Major and Minor revision of header */ |
323 | u16 severity; /* Error Severity */ | 323 | u8 severity; /* Error Severity */ |
324 | u8 validation_bits; /* 0: platform_guid, 1: !timestamp */ | ||
324 | u32 len; /* Length of this error log in bytes */ | 325 | u32 len; /* Length of this error log in bytes */ |
325 | sal_log_timestamp_t timestamp; /* Timestamp */ | 326 | sal_log_timestamp_t timestamp; /* Timestamp */ |
326 | efi_guid_t platform_guid; /* Unique OEM Platform ID */ | 327 | efi_guid_t platform_guid; /* Unique OEM Platform ID */ |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 46337e71613e..e828e172ccbf 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -122,6 +122,7 @@ enum { | |||
122 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once | 122 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once |
123 | * proper HSM is in place. */ | 123 | * proper HSM is in place. */ |
124 | ATA_FLAG_DEBUGMSG = (1 << 10), | 124 | ATA_FLAG_DEBUGMSG = (1 << 10), |
125 | ATA_FLAG_NO_ATAPI = (1 << 11), /* No ATAPI support */ | ||
125 | 126 | ||
126 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ | 127 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ |
127 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ | 128 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ |
diff --git a/init/Kconfig b/init/Kconfig index ea097e0a9c02..be74adb389ea 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -206,7 +206,7 @@ config HOTPLUG | |||
206 | outside the kernel tree does. Such modules require Y here. | 206 | outside the kernel tree does. Such modules require Y here. |
207 | 207 | ||
208 | config KOBJECT_UEVENT | 208 | config KOBJECT_UEVENT |
209 | bool "Kernel Userspace Events" | 209 | bool "Kernel Userspace Events" if EMBEDDED |
210 | depends on NET | 210 | depends on NET |
211 | default y | 211 | default y |
212 | help | 212 | help |
@@ -339,7 +339,7 @@ config EPOLL | |||
339 | support for epoll family of system calls. | 339 | support for epoll family of system calls. |
340 | 340 | ||
341 | config CC_OPTIMIZE_FOR_SIZE | 341 | config CC_OPTIMIZE_FOR_SIZE |
342 | bool "Optimize for size" if EMBEDDED | 342 | bool "Optimize for size" |
343 | default y if ARM || H8300 | 343 | default y if ARM || H8300 |
344 | help | 344 | help |
345 | Enabling this option will pass "-Os" instead of "-O2" to gcc | 345 | Enabling this option will pass "-Os" instead of "-O2" to gcc |