02 Jun, 2010

1 commit

  • Grant patches added an of mach table to struct device_driver. However,
    while he changed the macio device code to use that, he left the match
    table pointer in struct macio_driver and didn't update drivers to use
    the "new" one, thus breaking the probing.

    This completes the change by moving all drivers to setup the "new"
    one, removing all traces of the old one, and while at it (since it
    changes the exact same locations), I also remove two other duplicates
    from struct driver which are the name and owner fields.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     

19 May, 2010

1 commit


09 Dec, 2009

1 commit

  • The hotplug mediabay has tendrils deep into drivers/ide code
    which makes a libata port reather difficult. In addition it's
    ugly and could be done better.

    This reworks the interface between the mediabay and the rest
    of the world so that:

    - Any macio_driver can now have a mediabay_event callback
    which will be called when that driver sits on a mediabay and
    it's been either plugged or unplugged. The device type is
    passed as an argument. We can now move all the IDE cruft
    into the IDE driver itself

    - A check_media_bay() function can be used to take a peek
    at the type of device currently in the bay if any, a cleaner
    variant of the previous function with the same name.

    - A pair of lock/unlock functions are exposed to allow the
    IDE driver to block the hotplug callbacks during the initial
    setup and probing of the bay in order to avoid nasty race
    conditions.

    - The mediabay code no longer needs to spin on the status
    register of the IDE interface when it detects an IDE device,
    this is done just fine by the IDE code itself

    Overall, less code, simpler, and allows for another driver
    than our old drivers/ide based one.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     

24 Apr, 2009

1 commit


23 Apr, 2009

1 commit

  • On Tuesday 14 April 2009 20:31:21 Subrata Modak wrote:
    > Observed the following build error:
    > ---
    > CC drivers/macintosh/mediabay.o
    > In file included from drivers/macintosh/mediabay.c:21:
    > include/linux/ide.h:605: error: field ‘request_sense_rq’ has incomplete
    > type
    > make[2]: *** [drivers/macintosh/mediabay.o] Error 1
    > make[1]: *** [drivers/macintosh] Error 2
    > make: *** [drivers] Error 2
    > ---

    mediabay shouldn't include unconditionally so
    remove the superfluous include from mediabay.c (
    will pull in for CONFIG_BLK_DEV_IDE_PMAC=y).

    Reported-by: Subrata Modak
    Cc: Paul Mackerras
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

22 Apr, 2009

1 commit

  • Now that the powermac IDE host driver can be modular, we need to
    export check_media_bay_by_base() and media_bay_set_ide_infos()
    from drivers/macintosh/mediabay.c for it.

    This fixes the following build error:

    > CC [M] drivers/ide/pmac.o
    > drivers/ide/pmac.c: In function ‘pmac_ide_init_dev’:
    > drivers/ide/pmac.c:955: error: implicit declaration of function
    > ‘check_media_bay_by_base’
    > drivers/ide/pmac.c: In function ‘pmac_ide_setup_device’:
    > drivers/ide/pmac.c:1090: error: implicit declaration of function
    > ‘media_bay_set_ide_infos’
    > make[2]: *** [drivers/ide/pmac.o] Error 1
    > make[1]: *** [drivers/ide] Error 2
    > make: *** [drivers] Error 2

    Reported-by: Subrata Modak
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Paul Mackerras

    Bartlomiej Zolnierkiewicz
     

06 Aug, 2008

1 commit


30 Jun, 2008

1 commit


16 Jun, 2008

2 commits

  • This fixes the following build error with CONFIG_BLK_DEV_IDE_PMAC=n:

    ...
    CC drivers/macintosh/mediabay.o
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/macintosh/mediabay.c: In function 'check_media_bay':
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/macintosh/mediabay.c:428: error: 'struct media_bay_info' has no member named 'cd_index'
    make[3]: *** [drivers/macintosh/mediabay.o] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Paul Mackerras

    Adrian Bunk
     
  • Fix bug introduced by:

    commit 2dde7861afa23cd59db83515cb0b810b92b220aa
    Author: Bartlomiej Zolnierkiewicz
    Date: Fri Apr 18 00:46:23 2008 +0200

    ide: rework PowerMac media-bay support (take 2)
    ...

    [ Yeah, I suck. ]

    bay->cd_index shouldn't be changed if IDE devices are not present
    or retry operations won't happen.

    Cc: Benjamin Herrenschmidt
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

18 Apr, 2008

1 commit

  • Rework PowerMac media-bay support in such way that instead of
    un/registering the IDE interface we un/register IDE devices:

    * Add ide_port_scan() helper for probing+registerering devices on a port.

    * Rename ide_port_unregister_devices() to __ide_port_unregister_devices().

    * Add ide_port_unregister_devices() helper for unregistering devices on a port.

    * Add 'ide_hwif_t *cd_port' to 'struct media_bay_info', pass 'hwif' instead
    of hwif->index to media_bay_set_ide_infos() and use it to setup 'cd_port'.

    * Use ide_port_unregister_devices() instead of ide_unregister()
    and ide_port_scan() instead of ide_register_hw() in media_bay_step().

    * Unexport ide_register_hw() and make it static.

    v2:
    * Fix build by adding include to .
    (Reported by Michael/Kamalesh/Andrew).

    Cc: Kamalesh Babulal
    Cc: Michael Ellerman
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

24 Feb, 2008

1 commit

  • During the last step of hibernation in the "platform" mode (with the
    help of ACPI) we use the suspend code, including the devices'
    ->suspend() methods, to prepare the system for entering the ACPI S4
    system sleep state.

    But at least for some devices the operations performed by the
    ->suspend() callback in that case must be different from its operations
    during regular suspend.

    For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and
    pass it to the device drivers' ->suspend() methods during the last phase
    of hibernation, so that they can distinguish this case and handle it as
    appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a
    special way and need to handle PM_EVENT_HIBERNATE in the same way.

    These changes are necessary to fix a hibernation regression related
    to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Tested-by: Jeff Chua
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

15 Feb, 2008

1 commit

  • The current pmac32_defconfig fails to build with the following error:

    Building modules, stage 2.
    ERROR: "check_media_bay" [drivers/block/swim3.ko] undefined!
    WARNING: modpost: Found 23 section mismatch(es).
    To see full details build your kernel with:
    'make CONFIG_DEBUG_SECTION_MISMATCH=y'
    make[2]: *** [__modpost] Error 1

    This patch fixes that.

    Signed-off-by: Tony Breeds
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Acked-by: Bartlomiej Zolnierkiewicz
    Cc: Josh Boyer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tony Breeds
     

06 Feb, 2008

1 commit

  • * Replace incorrect CONFIG_BLK_DEV_IDE #ifdef in
    check_media_bay() by CONFIG_MAC_FLOPPY one.

    * Replace incorrect CONFIG_BLK_DEV_IDE #ifdef-s by
    CONFIG_BLK_DEV_IDE_PMAC ones.

    * check_media_bay() is used only by drivers/block/swim3.c
    so make this function available only if CONFIG_MAC_FLOPPY
    is defined.

    * check_media_bay_by_base() and media_bay_set_ide_infos()
    are used only by drivers/ide/ppc/pmac.c so so make these
    functions available only if CONFIG_MAC_FLOPPY is defined.

    v2:
    * Remove ifdefs from function prototypes. (Andrew Morton)

    Cc: Benjamin Herrenschmidt
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

03 Feb, 2008

1 commit

  • * Add 'init_default' (flag for calling init_hwif_default()) and 'restore'
    (flag for calling ide_hwif_restore()) arguments to ide_unregister().

    * Update ide_unregister() users to set 'init_default' and 'restore' flags.

    * No need to set 'init_default' flag in ide_register_hw() if the setup done
    by init_hwif_default() is going to be overridden by ide_init_port_hw().

    * No need to set 'init_default' and 'restore' flags in cleanup_module().

    There should be no functionality changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

31 Jan, 2008

1 commit


27 Jan, 2008

1 commit

  • * Rename init_hwif_data() to ide_init_port_data() and export it.

    * For all users of ide_register_hw() with 'initializing' argument set
    hwif->present and hwif->hold are always zero so convert these host
    drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw()
    instead (also no need for init_hwif_default() call since the setup
    done by it gets over-ridden by ide_init_port_hw() call).

    * Drop 'initializing' argument from ide_register_hw().

    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

19 Dec, 2007

1 commit


20 Oct, 2007

1 commit

  • * Add ->fixup method to ide_hwif_t.

    * Set hwif->fixup in ide_pci_setup_ports() to d->fixup.

    * Use hwif->fixup in probe_hwif().

    * Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in
    ide_setup_pci_device().

    * Add 'fixup' argument to ide_register_hw() and use it to set hwif->fixup,
    update all ide_register_hw() users accordingly.

    * Convert ide-cs/delkin_cb host drivers to use ide_register_hw().

    * Restore hwif->fixup in ide_hwif_restore().

    * Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup()
    and 'fixup' argument from probe_hwif().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

10 May, 2007

1 commit


01 Jul, 2006

1 commit


28 Mar, 2006

1 commit

  • This removes statically assigned platform numbers and reworks the
    powerpc platform probe code to use a better mechanism. With this,
    board support files can simply declare a new machine type with a
    macro, and implement a probe() function that uses the flattened
    device-tree to detect if they apply for a given machine.

    We now have a machine_is() macro that replaces the comparisons of
    _machine with the various PLATFORM_* constants. This commit also
    changes various drivers to use the new macro instead of looking at
    _machine.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

09 Jan, 2006

1 commit

  • The pre-parsed addrs/n_addrs fields in struct device_node are finally
    gone. Remove the dodgy heuristics that did that parsing at boot and
    remove the fields themselves since we now have a good replacement with
    the new OF parsing code. This patch also fixes a bunch of drivers to use
    the new code instead, so that at least pmac32, pseries, iseries and g5
    defconfigs build.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

19 Sep, 2005

1 commit


05 Sep, 2005

2 commits

  • This adds type-checking to pm_message_t, so that people can't confuse it
    with int or u32. It also allows us to fix "disk yoyo" during suspend (disk
    spinning down/up/down).

    [We've tried that before; since that cpufreq problems were fixed and I've
    tried make allyes config and fixed resulting damage.]

    Signed-off-by: Pavel Machek
    Signed-off-by: Alexander Nyberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • Fix remaining bits of u32 vs. pm_message confusion. Should not break
    anything.

    Signed-off-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     

07 Jul, 2005

1 commit

  • This converts the usage of struct of_match to struct of_device_id,
    similar to pci_device_id. This allows a device table to be generated,
    which can be parsed by depmod(8) to generate a map file for module
    loading.

    In order for hotplug to work with macio devices, patches to
    module-init-tools and hotplug must be applied. Those patches are
    available at:

    ftp://ftp.suse.com/pub/people/jeffm/linux/macio-hotplug/

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     

17 Apr, 2005

2 commits

  • I thought I'm done with fixing u32 vs. pm_message_t ... unfortunately that
    turned out not to be the case as Russel King pointed out. Here are fixes for
    drivers/macintosh.

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • 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!

    Linus Torvalds