aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* ACPI: thinkpad-acpi: bump up version to 0.19Henrique de Moraes Holschuh2008-02-01
| | | | | | | | The major code reorganization and cleanups, and new HKEY events, plus poll()/select() support are good reasons to checkpoint a new version... Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: update copyright dates to 2008Henrique de Moraes Holschuh2008-02-01
| | | | | | | Update the copyright headers to include 2008. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: add poll() support to some sysfs attributesHenrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | | Implement poll()/select() support through sysfs_notify() for some key attributes which userspace might want to poll() or select() on. In order to let userspace know poll()/select() support is available for an attribute, the thinkpad-acpi sysfs interface version is also bumped up. Further changes that add poll()/select() capabilities to any pre-existing attributes will also increment the sysfs interface version. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: silence _sta warningHenrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | | When both CONFIG_THINKPAD_ACPI_DOCK and CONFIG_THINKPAD_ACPI_BAY are undefined, _sta is not used and that causes a gcc warning. Fix it (and I think this is a regression, I am pretty sure I fixed this once before, sorry about that). Issue reported by: Pritt Laes. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: Pritt Laes <plaes@plaes.org> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: add X61t HKEY eventsHenrique de Moraes Holschuh2008-02-01
| | | | | | | | | | Tomas Carnecky reports that events 0x5009 and 0x500a are swivel events, and that 0x500b/0x500c are tablet pen storage bay events. Document these events, and avoid nasty messages when they happen. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: wakeup on hotunplug reportingHenrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle some HKEY events that the firmware uses to report the reason for a wake up, and to also notify that the system could go back to sleep (if it woke up just to eject something from the bay, or to undock). The driver will report the reason of the last wake up in the sysfs attribute "wakeup_reason": 0 for "none, unknown, or standard ACPI wake up event", 1 for "bay ejection request" and 2 for "undock request". The firmware will also report if the operation that triggered the wake up has been completed, by issuing an HKEY 0x3003 or 0x4003 event. If the operation fails, no event is sent. When such a hotunplug sucessfull notification is issued, the driver sets the attribute "wakeup_hotunplug_complete" to 1. While the firmware does tell us whether we are waking from a suspend or hibernation scenario, the Linux way of hibernating makes this information not reliable, and therefore it is not reported. The idea is that if any of these attributes are non-zero, userspace might want to do something at the end of the "wake up from sleep" procedures, such as offering to send the machine back into sleep as soon as it is safe to do so. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: cleanup hotkey_notify and HKEY log messagesHenrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | Use a generic message on hotkey_notify to log unknown and unhandled events, and cleanup hotkey_notify a little. Also, document event 0x5010 (brightness changed notification) and do not log it as an unknown event (even if we do not use it for anything right now). Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: add suspend handlerHenrique de Moraes Holschuh2008-02-01
| | | | | | | Add a handler for suspend events. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: some checkpatch.pl fluffHenrique de Moraes Holschuh2008-02-01
| | | | | | | Fix some of the crap reported by checkpatch.pl. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: rename IBM in definesHenrique de Moraes Holschuh2008-02-01
| | | | | | | | | Rename defines with IBM in their name that are related to the older driver name (ibm-acpi) to TPACPI, unless they are specific to IBM ThinkPads. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: module glue cleanupsHenrique de Moraes Holschuh2008-02-01
| | | | | | | | General cleanup of module glue: Do some code reordering, and add missing parameter help text. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: spring cleanup part 4Henrique de Moraes Holschuh2008-02-01
| | | | | | | | Remove dead code, and anything in the old changelog that is not a thank you credit, or a key point to track down history. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: spring cleanup part 3Henrique de Moraes Holschuh2008-02-01
| | | | | | | | Reorder code in the file to get rid of more of the forward declarations, and to make things cleaner and more organized. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: spring cleanup part 2Henrique de Moraes Holschuh2008-02-01
| | | | | | | | Move most subdriver-related stuff imported from the header file closer to their subdriver code. Also, delete unneeded forward declarations. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: spring cleanup part 1Henrique de Moraes Holschuh2008-02-01
| | | | | | | | Remove the header file. Private header files used by a single .c file are in bad taste, and I know better now. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: bump up version to 0.18Henrique de Moraes Holschuh2008-02-01
| | | | | | | | The NVRAM polling support for hot keys is reason enough to bump up the version string. Do it. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keys (v9)Henrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older ThinkPad models do not export some of the hot keys over the event-based ACPI hot key interface. For these models, one has to poll the CMOS NVRAM to check the key state at a rate faster than the expected rate at which the user might repeatedly press the same hot key. This patch implements this functionality for many of the hotkeys in a transparent way: hot keys will now Just Work, and the driver knows the best approach (events or NVRAM polling) to employ, based on the HKEY.MHKA ACPI method. Also, the driver can turn off the polling when there are no users for the hot keys that need such polling. The NVRAM-based hot keys of the A3x series that have never been implemented by later models are not supported, to avoid changes in the keymap of the input devices that could cause headaches in the future. There is a Kconfig option to avoid compiling the NVRAM polling code, as it is not very small, and unlikely to be useful on any ThinkPad newer than a T40, X31 or R52. This feature is based on a previous effort by Richard Hughes. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: Richard Hughes <hughsient@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: prepare for NVRAM polling supportHenrique de Moraes Holschuh2008-02-01
| | | | | | | | Make some small internal thinkpad-acpi changes to the hotkey subdriver code that will make it easier to add NVRAM polling support. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: refactor hotkey_get and hotkey_set (v2)Henrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | | | | | | Refactor and organize the code a bit for the NVRAM polling support: 1. Split hotkey_get/set into hotkey_status_get/set and hotkey_mask_get/set; 2. Cache the status of hot key mask for later driver use; 3. Make sure the cache of hot key mask is refreshed when needed; 4. log a printk notice when the firmware doesn't set the hot key mask to exactly what we asked it to; 5. Add proper locking to the data structures. Only (4) should be user-noticeable, but there is a chance (5) fixes some unknown/unreported race conditions. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: thinkpad-acpi: document keymap gotcha's (v2)Henrique de Moraes Holschuh2008-02-01
| | | | | | | | | | | | | | | | | | Publish the requirements for keymap changes. This is a documentation change, only. Currently, people look at the thinkpad-acpi default keymaps, and think: "modifying this is a trivial thing, it can't break systems, and there are keys defined for foo and bar, but the driver has them as KEY_RESERVED. Must have been an oversight, let me change it." And since they never get to see the bug reports, because they are not really a part of the Linux ThinkPad users community (linux-thinkpad mailinglist, thinkwiki wiki, thinkpad forums) and laptop users are slow to complain to distros about any breakages... Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
* x86: fix bootup crash in native_read_tsc()Ingo Molnar2008-02-01
| | | | | | | | | | fix bootup crash in native_read_tsc() that was reported on an Athlon-XP and bisected. The correct feature boundary for X86_FEATURE_MFENCE_RDTSC is not XMM but XMM2. Signed-off-by: Ingo Molnar <mingo@elte.hu> Acked-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6Linus Torvalds2008-02-01
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (100 commits) ide: move hwif_register() call out of ide_probe_port() ide: factor out code for tuning devices from ide_probe_port() ide: move handling of I/O resources out of ide_probe_port() ide: make probe_hwif() return an error value ide: use ide_remove_port_from_hwgroup in init_irq() ide: prepare init_irq() for using ide_remove_port_from_hwgroup() ide: factor out code removing port from hwgroup from ide_unregister() ide: I/O resources are released too early in ide_unregister() ide: cleanup ide_system_bus_speed() ide: remove needless zeroing of hwgroup fields from init_irq() ide: remove unused ide_hwgroup_t fields ide_platform: remove struct hwif_prop ide: remove hwif->present manipulations from hwif_init() ide: move wait_hwif_ready() documentation in the right place ide: fix handling of busy I/O resources in probe_hwif() <linux/hdsmart.h> is not used by kernel code ide: don't include <linux/hdsmart.h> ide-floppy: cleanup header ide: update/add my Copyrights ide: delete filenames/versions from comments ...
| * ide: move hwif_register() call out of ide_probe_port()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add BUG_ON(hwif->present) at the start of ide_probe_port(). * Move hwif_register() call (along with setting hwif->present) from ide_probe_port() to ide_device_add_all(). As a result the port will be registered with the device tree _after_: - probing both devices (if both are present) - port reset (if hwif->reset is set) - restoring local IRQs state and re-enabling port IRQ While at it: * Rename hwif_register() to ide_register_port(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: factor out code for tuning devices from ide_probe_port()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | * Factor out code for tuning devices from ide_probe_port() to ide_port_tune_devices(). * Move ide_port_tune_devices() call from ide_probe_port() to ide_device_add_all(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: move handling of I/O resources out of ide_probe_port()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | Reserve/release I/O resources in ide_device_add_all() instead of ide_probe_port(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: make probe_hwif() return an error valueBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | Make probe_hwif() return an error value. While at it: * Remove comment about MAX_DRIVES == 2 limitation (it is not special to probe_hwif(), it is a general assumption taken by a lot of IDE code). * Rename probe_hwif() to ide_probe_port(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: use ide_remove_port_from_hwgroup in init_irq()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: prepare init_irq() for using ide_remove_port_from_hwgroup()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | * BUG_ON() early if 'hwif->next == hwif' and there is a 'match' hwgroup. * Remove printk() for impossible condition and add a BUG_ON(hwgroup->drive) to match code in ide_unregister(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: factor out code removing port from hwgroup from ide_unregister()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: I/O resources are released too early in ide_unregister()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | Release I/O resources after releasing DMA. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: cleanup ide_system_bus_speed()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the facts that: * When ide_init() is called 'system_bus_speed' always equals zero. * system_bus_clock() is never called before ide_init(). and: * Move printk() from ide_system_bus_speed() to ide_init(). * Don't assign 'system_bus_speed' in ide_system_bus_speed(). * Don't call ide_system_bus_speed() in system_bus_clock(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove needless zeroing of hwgroup fields from init_irq()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | Since kmalloc_node() is called with __GFP_ZERO flag there is no need to explicitly zero hwgroup fields. While at it: * Use 'hwif' instead of 'hwif->drives[0].hwif' for kmalloc_node() call. * Fix whitespace damage. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove unused ide_hwgroup_t fieldsBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide_platform: remove struct hwif_propBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | * Remove 'if (hwif != hwif_prop.hwif)' check from plat_ide_remove() (pdev->dev.driver_data and hwif_prop.hwif are set at the same time in plat_ide_probe() and are identical). * Use hwif->index for ide_unregister() in plat_ide_remove(). * Use local variables instead of hwif_prop.plat_ide[_alt]_mapbase in plat_ide_probe() and remove no longer needed struct hwif_prop. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: remove hwif->present manipulations from hwif_init()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | * Call hwif_init() only if hwif->present is set. * If hwif_init() fails clear hwif->present. * Remove hwif->present manipulations from hwif_init(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: move wait_hwif_ready() documentation in the right placeBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move wait_hwif_ready() documentation before this function. * Fix trailing whitespaces. * s/wait-for-busy/wait-for-non-busy/ * Remove no longer valid comment about the current code behavior. * Docbook-ize it. * Rename wait_hwif_ready() to ide_port_wait_ready(). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: fix handling of busy I/O resources in probe_hwif()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | It could be that I/O resources are busy because some other host driver has already claimed them so don't unregister the devices. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * <linux/hdsmart.h> is not used by kernel codeBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: don't include <linux/hdsmart.h>Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | IDE doesn't need it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide-floppy: cleanup headerBorislav Petkov2008-02-01
| | | | | | | | | | | | | | | | Move ide-floppy historical changelog to Documentation/ide/ChangeLog.ide-floppy.1996-2002 Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: update/add my CopyrightsBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | The last years stuff and a trip down memory lane... Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: delete filenames/versions from commentsBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete filenames/versions from comments. I'm leaving decisions about adding DRV_VERSION defines and MODULE_VERSION()-s to maintainers of the respective drivers. While at it: * Remove unused VERSION define from ide.c. * Remove unused/stale DRV_VERSION define from au1xxx-ide.c. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * au1xxx-ide/rapide: use hwif->index for ide_unregister()Bartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide-pmac: macio resource freeing bugfixBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | Release DMA resource before zeroing pmif. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * au1xxx-ide: device tree bugfixBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | Add missing hw.dev setup (so hwif->gendev.parent will be set by ide_init_port_hw() to point to the parent device). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: use ide_build_sglist() and ide_destroy_dmatable() in non-PCI host driversBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | * Make ide_build_sglist() and ide_destroy_dmatable() available also when CONFIG_BLK_DEV_IDEDMA_PCI=n. * Use ide_build_sglist() and ide_destroy_dmatable() in {ics,au1xxx-}ide.c and remove no longer needed {ics,au}ide_build_sglist(). There should be no functionality changes caused by this patch. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: switch to DMA-mapping APIBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pci_map_sg() -> dma_map_sg() in ide_build_sglist(). * pci_unmap_sg() -> dma_unmap_sg() in ide_destroy_dmatable(). There should be no functionality changes caused by this patch except for blackfin arch whose dma_[un]map_sg() implementation differs from pci_[un]map_sg() one (on s390 arch there is no PCI, on avr32 and h8300 archs PCI is currently unsupported, on m32r arch PCI support depends on BROKEN, on m68k arch PCI support depends on HADES which in turn depends on BROKEN, on all other archs dma_[un]map_sg() functionality matches with pci_[un]map_sg() one). blackfin behavior change was ack-ed by Bryan Wu. Cc: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * icside: use hwif->devBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | * Setup hwif->dev in icside_setup(). * Use hwif->dev instead of state->dev in icside_build_sglist(), icside_dma_end(), icside_dma_start() and icside_dma_setup(). * Remove no longer needed 'dev' field from struct icside_state. Cc: Russell King <rmk@arm.linux.org.uk> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * au1xxx-ide: use hwif->devBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | * Setup hwif->dev in au_ide_probe(). * Use hwif->dev instead of ahwif->dev in auide_build_sglist(), auide_build_dmatable(), auide_dma_end() and auide_ddma_init(). * Remove no longer needed 'dev' field from _auide_hwif type. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide: keep pointer to struct device instead of struct pci_dev in ide_hwif_tBartlomiej Zolnierkiewicz2008-02-01
| | | | | | | | | | | | | | | | | | | | | | Keep pointer to struct device instead of struct pci_dev in ide_hwif_t. While on it: * Use *dev->dma_mask instead of pci_dev->dma_mask in ide_toggle_bounce(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>