1. 17 2月, 2007 6 次提交
  2. 08 2月, 2007 1 次提交
    • H
      ACPI support for IDE devices · e3a59b4d
      Hannes Reinecke 提交于
      This patch implements ACPI integration for generic IDE devices.
      The ACPI spec mandates that some methods are called during suspend and
      resume. And consequently there most modern Laptops cannot resume
      properly without it.
      
      According to the spec, we should call '_GTM' (Get Timing) upon suspend
      to store the current IDE adapter settings.
      Upon resume we should call '_STM' (Set Timing) to initialize the
      adapter with the stored settings; afterwards '_GTF' (Get Taskfile)
      should be called which returns a buffer with some IDE initialisation
      commands. Those commands should be passed to the drive.
      
      There are two module params which control the behaviour of this patch:
      
      'ide=noacpi'
      	Do not call any ACPI methods (Disables any ACPI method calls)
      'ide=acpigtf'
      	Enable execution of _GTF methods upon resume.
      	Has no effect if 'ide=noacpi' is set.
      'ide=acpionboot'
      	Enable execution of ACPI methods during boot.
      	This might be required on some machines if 'ide=acpigtf' is
      	selected as some machines modify the _GTF information
      	depending on the drive identification passed down with _STM.
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      e3a59b4d
  3. 02 2月, 2007 1 次提交
  4. 27 1月, 2007 1 次提交
  5. 08 12月, 2006 1 次提交
    • P
      [PATCH] lockdep: fix ide/proc interaction · 9a2239b1
      Peter Zijlstra 提交于
        rmmod/3080 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
         (proc_subdir_lock){--..}, at: [<c04a33b0>] remove_proc_entry+0x40/0x191
      
        and this task is already holding:
         (ide_lock){++..}, at: [<c05651a2>] ide_unregister_subdriver+0x39/0xc8
        which would create a new lock dependency:
         (ide_lock){++..} -> (proc_subdir_lock){--..}
      
        but this new dependency connects a hard-irq-safe lock:
         (ide_lock){++..}
        ... which became hard-irq-safe at:
          [<c043c458>] lock_acquire+0x4b/0x6b
          [<c06129d7>] _spin_lock_irqsave+0x22/0x32
          [<c0567870>] ide_intr+0x17/0x1a9
          [<c044eb31>] handle_IRQ_event+0x20/0x4d
          [<c044ebf2>] __do_IRQ+0x94/0xef
          [<c0406771>] do_IRQ+0x9e/0xbd
      
        to a hard-irq-unsafe lock:
         (proc_subdir_lock){--..}
        ... which became hard-irq-unsafe at:
        ...  [<c043c458>] lock_acquire+0x4b/0x6b
          [<c06126ab>] _spin_lock+0x19/0x28
          [<c04a32f2>] xlate_proc_name+0x1b/0x99
          [<c04a3547>] proc_create+0x46/0xdf
          [<c04a3642>] create_proc_entry+0x62/0xa5
          [<c07c1972>] proc_misc_init+0x1c/0x1d2
          [<c07c1844>] proc_root_init+0x4c/0xe9
          [<c07ad703>] start_kernel+0x294/0x3b3
      
      Move ide_remove_proc_entries() out from under ide_lock; there is nothing
      that indicates that this is needed.
      
      In specific, the call to ide_add_proc_entries() is unprotected, and there
      is nothing else in the file using the respective ->proc fields. Also the
      lock order around destroy_proc_ide_interface() suggests this.
      
      Alan sayeth:
      
        proc_ide_write_settings walks the setting list under ide_setting_sem, read
        ditto.  remove_proc_entry is doing proc side housekeeping.
      
        Looks fine to me, although that old code is such a mess anything could be
        going on.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9a2239b1
  6. 03 10月, 2006 3 次提交
  7. 01 10月, 2006 2 次提交
  8. 26 9月, 2006 1 次提交
  9. 28 7月, 2006 1 次提交
  10. 01 7月, 2006 1 次提交
  11. 27 6月, 2006 1 次提交
  12. 23 6月, 2006 3 次提交
  13. 26 3月, 2006 1 次提交
  14. 04 2月, 2006 1 次提交
  15. 14 1月, 2006 1 次提交
  16. 10 1月, 2006 1 次提交
  17. 09 1月, 2006 1 次提交
    • C
      [PATCH] Add block_device_operations.getgeo block device method · a885c8c4
      Christoph Hellwig 提交于
      HDIO_GETGEO is implemented in most block drivers, and all of them have to
      duplicate the code to copy the structure to userspace, as well as getting
      the start sector.  This patch moves that to common code [1] and adds a
      ->getgeo method to fill out the raw kernel hd_geometry structure.  For many
      drivers this means ->ioctl can go away now.
      
      [1] the s390 block drivers are odd in this respect.  xpram sets ->start
          to 4 always which seems more than odd, and the dasd driver shifts
          the start offset around, probably because of it's non-standard
          sector size.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: Jens Axboe <axboe@suse.de>
      Cc: <mike.miller@hp.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
      Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
      Cc: Neil Brown <neilb@cse.unsw.edu.au>
      Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a885c8c4
  18. 05 1月, 2006 1 次提交
    • K
      [PATCH] ide: MODALIAS support for autoloading of ide-cd, ide-disk, ... · 263756ec
      Kay Sievers 提交于
      IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ...
      
      Add MODULE_ALIAS to IDE midlayer modules: ide-disk, ide-cd, ide-floppy and
      ide-tape, to autoload these modules depending on the probed media type of
      the IDE device.
      
      It is used by udev and replaces the former agent shell script of the hotplug
      package, which was required to lookup the media type in the proc filesystem.
      Using proc was racy, cause the media file is created after the hotplug event
      is sent out.
      
      The module autoloading does not take any effect, until something like the
      following udev rule is configured:
        SUBSYSTEM=="ide",  ACTION=="add", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
      
      The module ide-scsi will not be autoloaded, cause it requires manual
      configuration. It can't be, and never was supported for automatic setup in
      the hotplug package. Adding a MODULE_ALIAS to ide-scsi for all supported
      media types, would just lead to a default blacklist entry anyway.
      
        $ modinfo ide-disk
        filename:       /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko
        description:    ATA DISK Driver
        alias:          ide:*m-disk*
        license:        GPL
        ...
      
        $ modprobe -vn ide:m-disk
        insmod /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko
      
        $ cat /sys/bus/ide/devices/0.0/modalias
        ide:m-disk
      
      It also adds attributes to the IDE device:
        $ tree /sys/bus/ide/devices/0.0/
        /sys/bus/ide/devices/0.0/
        |-- bus -> ../../../../../../../bus/ide
        |-- drivename
        |-- media
        |-- modalias
        |-- power
        |   |-- state
        |   `-- wakeup
        `-- uevent
      
        $ cat /sys/bus/ide/devices/0.0/{modalias,drivename,media}
        ide:m-disk
        hda
        disk
      Signed-off-by: NKay Sievers <kay.sievers@suse.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      263756ec
  19. 10 11月, 2005 1 次提交
  20. 07 11月, 2005 2 次提交
  21. 05 9月, 2005 1 次提交
  22. 26 5月, 2005 1 次提交
    • B
      [PATCH] convert IDE device drivers to driver-model · 8604affd
      Bartlomiej Zolnierkiewicz 提交于
      * add ide_bus_match() and export ide_bus_type
      * split ide_remove_driver_from_hwgroup() out of ide_unregister()
      * move device cleanup from ide_unregister() to drive_release_dev()
      * convert ide_driver_t->name to driver->name
      * convert ide_driver_t->{attach,cleanup} to driver->{probe,remove}
      * remove ide_driver_t->busy as ide_bus_type->subsys.rwsem
        protects against concurrent ->{probe,remove} calls
      * make ide_{un}register_driver() void as it cannot fail now
      * use driver_{un}register() directly, remove ide_{un}register_driver()
      * use device_register() instead of ata_attach(), remove ata_attach()
      * add proc_print_driver() and ide_drivers_show(), remove ide_drivers_op
      * fix ide_replace_subdriver() and move it to ide-proc.c
      * remove ide_driver_t->drives, ide_drives and drives_lock
      * remove ide_driver_t->drivers, drivers and drivers_lock
      * remove ide_drive_t->driver and DRIVER() macro
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      8604affd
  23. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4