summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-07-23ide: fix ide_host_register() return valueBartlomiej Zolnierkiewicz
Fix ide_host_register() to fail only if all ports cannot be registered. While at it: * Use host->ports[] instead of ide_hwifs[] and remove idx[]. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ide_host_add() helperBartlomiej Zolnierkiewicz
Add ide_host_add() helper which does ide_host_alloc()+ide_host_register(), then convert ide_setup_pci_device[s](), ide_legacy_device_add() and some host drivers to use it. While at it: * Fix ide_setup_pci_device[s](), ide_arm.c, gayle.c, ide-4drives.c, macide.c, q40ide.c, cmd640.c and cs5520.c to return correct error value. * -ENOENT -> -ENOMEM in rapide.c, ide-h8300.c, ide-generic.c, au1xxx-ide.c and pmac.c * -ENODEV -> -ENOMEM in palm_bk3710.c, ide_platform.c and delkin_cb.c * -1 -> -ENOMEM in ide-pnp.c Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add struct ide_host (take 3)Bartlomiej Zolnierkiewicz
* Add struct ide_host which keeps pointers to host's ports. * Add ide_host_alloc[_all]() and ide_host_remove() helpers. * Pass 'struct ide_host *host' instead of 'u8 *idx' to ide_device_add[_all]() and rename it to ide_host_register[_all](). * Convert host drivers and core code to use struct ide_host. * Remove no longer needed ide_find_port(). * Make ide_find_port_slot() static. * Unexport ide_unregister(). v2: * Add missing 'struct ide_host *host' to macide.c. v3: * Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/) (Noticed by Stephen Rothwell). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add struct ide_tp_ops (take 2)Bartlomiej Zolnierkiewicz
* Add struct ide_tp_ops for transport methods. * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info and ide_hwif_t. * Set the default hwif->tp_ops in ide_init_port_data(). * Set host driver specific hwif->tp_ops in ide_init_port(). * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(), ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}() and ata_{in,out}put_data(). * Convert host drivers and core code to use struct ide_tp_ops. * Remove no longer needed default_hwif_transport(). * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops. While at it: * Use struct ide_port_info in falconide.c and q40ide.c. * Rename ata_{in,out}put_data() to ide_{in,out}put_data(). v2: * Fix missing convertion in ns87415.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add 'config' field to hw_regs_tBartlomiej Zolnierkiewicz
Add 'config' field to hw_regs_t and use it to set hwif->config_data in ide_init_port_hw(), then convert ide_legacy_init_one() to use hw->config. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide-generic: probing fixBartlomiej Zolnierkiewicz
* Don't skip probing IDE port if the corresponding ide_hwifs[] slot is already occupied. * Remove duplicate idx[i] assignment. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23gayle: reserve memory resources at onceBartlomiej Zolnierkiewicz
* Reserve memory resources for all IDE ports at once by moving request_mem_region() out of 'for ()' loop and always defining GAYLE_IDEREG_SIZE to 0x2000. * Keep memory resources even if no free IDE slots can be found (this driver is unloadable currently). Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: filter out "default" transfer mode values in set_xfer_rate()Bartlomiej Zolnierkiewicz
* Filter out "default" transfer mode values (0x00 - default PIO mode, 0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted /proc/ide/hd?/settings:current_speed setting. Allowing "default" transfer mode values is a dangerous thing to do as we don't support programming controller to the "default" transfer mode and devices often use different values for the default and maximum PIO mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay programmed for higher PIO mode while device will use the lower PIO mode. There is no functionality loss as by using special IOCTLs device can still be programmed to "default" transfer modes (it is only useful for debugging/testing purposes anyway). * Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was previously used by few host drivers to program the controller to PIO0 timings for "default" transfer mode == 0x01 (although some host drivers would program invalid PIO timings instead). * Cleanup ide_set_xfer_rate() and add BUG_ON(). Suggested-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: filter out invalid transfer mode values in set_xfer_rate()Bartlomiej Zolnierkiewicz
Filter out invalid transfer mode values (0x02-0x07) in write handler for obsoleted /proc/ide/hd?/settings:current_speed setting. While at it: * Use XFER_UDMA_6 define. Suggested-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: remove dead Virtual DMA supportBartlomiej Zolnierkiewicz
Lets remove dead Virtual DMA support for now so it doesn't clutter core IDE code (it can be bring back when there is a need for it): * Remove IDE_HFLAG_VDMA host flag. * Remove ide_drive_t.vdma flag. * cs5520.c: remove stale FIXMEs, cs5520_dma_host_set() and cs5520_dma_ops (also there is no longer a need to set IDE_HFLAG_NO_ATAPI_DMA). There should be no functional changes caused by this patch. Cc: TAKADA Yoshihito <takada@mbf.nifty.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: mark hpt34x host driver as BROKENBartlomiej Zolnierkiewicz
Alan Cox has noticed some time ago that hpt34x is broken (http://lkml.org/lkml/2007/7/3/257): "No the old driver doesn't even do that. It starts up. It spuriously adjusts some non writable PCI BAR registers, prints a message about resources being in use already then exits." Reported-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: limit cy82c693 host driver to ALPHABartlomiej Zolnierkiewicz
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: remove ->INB, ->OUTB and ->OUTBSYNC methodsBartlomiej Zolnierkiewicz
* Remove no longer needed ->INB, ->OUTB and ->OUTBSYNC methods. Then: * Remove no longer used default_hwif_[mm]iops() and ide_[mm_]outbsync(). * Cleanup SuperIO handling in ns87415.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ide_read_bcount_and_ireason() helperBartlomiej Zolnierkiewicz
Add ide_read_bcount_and_ireason() helper and use it instead of ->INB in {cdrom_newpc,ide_pc}_intr(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ide_read_ireason() helperBartlomiej Zolnierkiewicz
Add ide_read_ireason() helper and use instead of ->INB for reading ATAPI Interrupt Reason register. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ide_read_device() helperBartlomiej Zolnierkiewicz
Add ide_read_device() helper and convert do_probe() to use it instead of ->INB. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: use ->tf_read in ide_read_error()Bartlomiej Zolnierkiewicz
* Add IDE_TFLAG_IN_FEATURE taskfile flag for reading Feature register and handle it in ->tf_read. * Convert ide_read_error() to use ->tf_read instead of ->INB, then uninline and export it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: use ->tf_load in SELECT_DRIVE()Bartlomiej Zolnierkiewicz
Convert SELECT_DRIVE() to use ->tf_load instead of ->OUTB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: use ->tf_load in actual_try_to_identify()Bartlomiej Zolnierkiewicz
Convert actual_try_to_identify() to use ->tf_load instead of ->OUTB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: use ->tf_load in ide_config_drive_speed()Bartlomiej Zolnierkiewicz
Convert ide_config_drive_speed() to use ->tf_load instead of ->OUTB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: change order of register access in ide_config_drive_speed()Bartlomiej Zolnierkiewicz
Write ATA Feature register before ATA Sector Count register as a preparation to use ->tf_load in ide_config_drive_speed(). This change shouldn't affect anything (just an usual paranoia). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ->set_irq methodBartlomiej Zolnierkiewicz
Add ->set_irq method for setting nIEN bit of ATA Device Control register and use it instead of ide_set_irq(). While at it: * Use ->set_irq in init_irq() and do_reset1(). * Don't use HWIF() macro in ide_check_pm_state(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ->read_altstatus methodBartlomiej Zolnierkiewicz
* Remove ide_read_altstatus() inline helper. * Add ->read_altstatus method for reading ATA Alternate Status register and use it instead of ->INB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ->read_status methodBartlomiej Zolnierkiewicz
* Remove ide_read_status() inline helper. * Add ->read_status method for reading ATA Status register and use it instead of ->INB. While at it: * Don't use HWGROUP() macro. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ->exec_command methodBartlomiej Zolnierkiewicz
Add ->exec_command method for writing ATA Command register and use it instead of ->OUTBSYNC. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: factor out simplex handling from ide_pci_dma_base()Bartlomiej Zolnierkiewicz
* Factor out simplex handling from ide_pci_dma_base() to ide_pci_check_simplex(). * Set hwif->dma_base early in ->init_dma method / ide_hwif_setup_dma() and reset it in ide_init_port() if DMA initialization fails. * Use ->read_sff_dma_status instead of ->INB in ide_pci_dma_base(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: remove ide_setup_dma()Bartlomiej Zolnierkiewicz
Export sff_dma_ops and then remove ide_setup_dma(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: remove ->dma_{status,command} fields from ide_hwif_tBartlomiej Zolnierkiewicz
* Use ->dma_base + offset instead of ->dma_{status,command} and remove no longer needed ->dma_{status,command}. While at it: * Use ATA_DMA_* defines. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: use I/O ops directly in ide-dma.cBartlomiej Zolnierkiewicz
Use I/O ops directly in ide_dma_host_set(), ide_dma_setup(), ide_dma_start() and __ide_dma_end(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: add ->read_sff_dma_status methodBartlomiej Zolnierkiewicz
Add ->read_sff_dma_status method for reading DMA Status register and use it instead of ->INB. While at it: * Use inb() directly in ns87415.c::ns87415_dma_end(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3)Bartlomiej Zolnierkiewicz
* Add 'hw_regs_t **hws' argument to ide_device_add[_all]() and convert host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use it instead of calling ide_init_port_hw() directly. [ However if host has > 1 port we must still set hwif->chipset to hint consecutive ide_find_port() call that the previous slot is occupied. ] * Unexport ide_init_port_hw(). v2: * Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c. (Suggested by Geert Uytterhoeven) * Better patch description. v3: * Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell) There should be no functional changes caused by this patch. Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide: move ide_pci_setup_ports() call out from do_ide_setup_pci_device()Bartlomiej Zolnierkiewicz
* Move ide_pci_setup_ports() call out from do_ide_setup_pci_device() to ide_setup_pci_device[s](). * Drop no longer needed idx argument from do_ide_setup_pci_device(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide-pmac: move ide_find_port() call to pmac_ide_setup_device() (take 2)Bartlomiej Zolnierkiewicz
Move ide_find_port() call to pmac_ide_setup_device(). While at it: - fix return value (s/-ENODEV/-ENOENT/) - add DRV_NAME define and use it to set name field of pmac_port_info - use ide_find_port_slot() instead of ide_find_port() - remove superfluous error message (ide_find_port_slot() takes care of it) - drop IDE interface number from driver banner message (but include bus type) v2: * Build fix (thanks to Stephen Rothwell for noticing the issue). Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide-pmac: add ->init_dev method (take 4)Bartlomiej Zolnierkiewicz
v2/3: * Build fixes from Stephen Rothwell. v4: * Fix ->noprobe setting. (From Benjamin Herrenschmidt) Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23ide-pmac: store pmif instead of hwif in ->driver_data (take 2)Bartlomiej Zolnierkiewicz
* Pass pmif instead of hwif to pmac_ide_do_{suspend,resume}(). * Store pmif instead of hwif in ->driver_data. * Use dev_get_drvdata() instead of ->hwif_data to obtain pmif. v2: * Build fixes from Stephen Rothwell. There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23Merge ../linux-2.6Mauro Carvalho Chehab
2008-07-23Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: apple_fn_keys F5 and F6 HID: remove quirk lookup from usbkbd/usbmouse HID: Add mapping of new KEY_MEDIA_REPEAT keycode HID: gyration remote support HID: gyration sleep button quirk HID: add quirk for Logitech DiNovo desktop HID: fix quirk handling in usbmouse/kbd HID: fix memory leak in hidraw_release HID: add n-trig digitizer usage HID: Invert HWHEEL mappings for some Logitech mice HID:usbkbd:mark usb_kbd_keycode array as const HID: add fn key support on Macbook Pro 4,1 and Macbook Air HID: remove unused variable from hiddev compat ioctl HID: fix compile issue in hiddev ioctl HID: Push down BKL into ioctl handler in hidraw HID: Switch hiddev to unlocked_ioctl HID: use get/put_unaligned_* helpers HID: fix report descriptor handling for MS Wireless model 1028
2008-07-23UML - Fix boot crashJeff Dike
My copying of linux/init.h didn't go far enough. The definition of __used singled out gcc minor version 3, but didn't care what the major version was. This broke when unit-at-a-time was added and gcc started throwing out initcalls. This results in an early boot crash when ptrace tries to initialize a process with an empty, uninitialized register set. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-23drivers/char/nvram.c: Removed duplicated includeHuang Weiyi
Removed duplicated include file <linux/smp_lock.h> in drivers/char/nvram.c. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-23set_irq_wake: fix return code and wake status trackingUwe Kleine-König
Since 15a647eba94c3da27ccc666bea72e7cca06b2d19 set_irq_wake returned -ENXIO if another device had it already enabled. Zero is the right value to return in this case. Moreover the change to desc->status was not reverted if desc->chip->set_wake returned an error. Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-23kgdb: kgdboc console poll hooks for mpsc uartJason Wessel
Add in console polling hooks for the mpsc uart for use with kgdb and kgdboc. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2008-07-23kgdb: kgdboc console poll hooks for cpm uartJason Wessel
Add in console polling hooks for the cpm uart for use with kgdb and kgdboc. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> CC: galak@kernel.crashing.org
2008-07-23kgdb, powerpc: arch specific powerpc kgdb supportJason Wessel
This patch removes the old kgdb reminants from ARCH=powerpc and implements the new style arch specific stub for the common kgdb core interface. It is possible to have xmon and kgdb in the same kernel, but you cannot use both at the same time because there is only one set of debug hooks. The arch specific kgdb implementation saves the previous state of the debug hooks and restores them if you unconfigure the kgdb I/O driver. Kgdb should have no impact on a kernel that has no kgdb I/O driver configured. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2008-07-23kgdb: support for ARCH=armJason Wessel
This patch adds the ARCH=arm specific a kgdb backend, originally written by Deepak Saxena <dsaxena@plexity.net> and George Davis <gdavis@mvista.com>. Geoff Levand <geoffrey.levand@am.sony.com>, Nicolas Pitre, Manish Lachwani, and Jason Wessel have contributed various fixups here as well. The KGDB patch makes one change to the core ARM architecture such that the traps are initialized early for use with the debugger or other subsystems. [ mingo@elte.hu: small cleanups. ] [ ben-linux@fluff.org: fixed early_trap_init ] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Deepak Saxena <dsaxena@plexity.net>
2008-07-23kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variableJason Wessel
Remove HAVE_ARCH_KGDB_SHADOW_INFO because it does not exist anywhere in the kernel mainline sources Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2008-07-23Merge branches 'upstream' and 'upstream-fixes' into for-linusJiri Kosina
2008-07-23HID: apple_fn_keys F5 and F6Henrik Rydberg
In drivers/hid/hid-input.c, the apple_fn_keys translation table contains no entries for the F5 and F6 keys. This patch maps the F5 and F6 keys to KBDILLUMDOWN and KBDILLUMUP, respektively, which make them work as keyboard backlight control keys. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2008-07-23HID: remove quirk lookup from usbkbd/usbmouseJiri Kosina
This patch completely removes the dependency of usbkbd and usbmouse drivers on usbhid code. usbkbd/usbmouse drivers are not needed in the vast majority of cases anyway, and they shouldn't be loaded in standard configurations at all. They are supposed to be as trivial as possible, and searching for HID_QUIRK_IGNORE can even be bad in some cases. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2008-07-23HID: Add mapping of new KEY_MEDIA_REPEAT keycodeDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2008-07-23HID: gyration remote supportDaniel Walker
This adds in a quirk for the additional un-mapped buttons on the gyration MCE remote. Defines are now alphabetical. Signed-off-by: Daniel Walker <dwalker@mvista.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>