18 May, 2009

3 commits

  • Remove hw_regs_t typedef and rename struct hw_regs_s to struct ide_hw.

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Pass number of ports to ide_host_{alloc,add}() and then update
    all users accordingly.

    v2:
    - drop no longer needed NULL initializers in buddha.c, cmd640.c and gayle.c
    (noticed by Sergei)

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Convert host drivers that still use hw_regs_t's chipset field to use
    the one in struct ide_port_info instead.

    * Move special handling of ide_pci chipset type from ide_hw_configure()
    to ide_init_port().

    * Remove chipset field from hw_regs_t.

    While at it:
    - remove stale comment in delkin_cb.c

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

01 Apr, 2009

2 commits


27 Mar, 2009

1 commit


14 Oct, 2008

2 commits


11 Oct, 2008

1 commit

  • Avoid probing the io-ports in case an IDE PCI controller is present and it
    uses the legacy iobases. If we still want to enforce the probing, we do

    ide_generic.probe_mask=0x3f

    on the kernel command line. The iobase checking code is
    adapted from drivers/ata/pata_legacy.c after converting hex
    pci ids into their corresponding macros in .

    Also, check only BAR0/2 resources since those are guaranteed
    by the workaround in drivers/pci/probe.c:pci_setup_device().

    Signed-off-by: Borislav Petkov
    Acked-by: Sergei Shtylyov
    Cc: Alan Cox
    [bart: trivial printk() fixups]
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     

25 Jul, 2008

2 commits


24 Jul, 2008

5 commits

  • * Add ide_host_free() helper and convert ide_host_remove() to use it.

    * Fix handling of ide_host_register() failure in ide_host_add(),
    icside.c, ide-generic.c, falconide.c and sgiioc4.c.

    While at it:

    * Fix handling of ide_host_alloc_all() failure in ide-generic.c.

    * Fix handling of ide_host_alloc() failure in falconide.c
    (also return the correct error value if no device is found).

    v2:
    * falconide build fix. (From Stephen Rothwell)

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej 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

    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

    Bartlomiej 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

    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
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

16 Jun, 2008

1 commit

  • We can't probe all legacy ISA IDE ports by default as the resources may be
    occupied by other ISA devices. Add "probe_mask" module parameter and probe
    only first two ISA IDE ports by default leaving the decision about probing
    the rest to the user (systems with ISA ide2-6 should be very, very rare).

    This fixes a regression caused by:

    commit 343a3451e20314d5959b59b992e33fbaadfe52bf
    Author: Bartlomiej Zolnierkiewicz
    Date: Tue Jun 10 20:56:36 2008 +0200

    ide-generic: add missing hwif->chipset setup
    ...

    Reported-by: Mikael Pettersson
    Bisected-by: Mikael Pettersson
    Tested-by: Mikael Pettersson
    Cc: Alan Cox
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

11 Jun, 2008

1 commit

  • hwif->chipset need to be set properly or ide-generic driver will break once
    we make a final step in fixing host drivers' dependence on ide_hwifs[].

    Problem was catched early thanks to IDE tree exposure in -mm / -next trees
    and reported by people listed people (thank you guys!).

    Reported-by: "John Keller"
    Reported-by: Dmitri Vorobiev
    Reported-by: Mel Gorman
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

27 Apr, 2008

2 commits


26 Apr, 2008

2 commits


18 Apr, 2008

5 commits


19 Feb, 2008

1 commit

  • commit 8ac4ce742c66100931b6f2d7a36b0df08bc721fe ("ide: fix host drivers
    depending on ide_generic to probe for interfaces (take 2)") moved probing
    to falconide but forgot to take care of Atari specific locking - fix it.

    Cc: Geert Uytterhoeven
    Cc: Michael Schmitz
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

06 Feb, 2008

1 commit

  • On Tuesday 05 February 2008, Linus Torvalds wrote:
    >
    > On Sat, 2 Feb 2008, Bartlomiej Zolnierkiewicz wrote:
    > >
    > > * next part of IDE probing code re-organization saga
    > >   (that would be me)
    >
    > This seems to cause very irritating and bogus messages for me:
    >
    >       Probing IDE interface ide0...
    >       Probing IDE interface ide1...
    >       ide2: I/O resource 0x0-0x7 not free.
    >       ide2: ports already in use, skipping probe
    >       ide3: I/O resource 0x0-0x7 not free.
    >       ide3: ports already in use, skipping probe
    >       ide4: I/O resource 0x0-0x7 not free.
    >       ide4: ports already in use, skipping probe
    >       ide5: I/O resource 0x0-0x7 not free.
    >       ide5: ports already in use, skipping probe
    >       ide6: I/O resource 0x0-0x7 not free.
    >       ide6: ports already in use, skipping probe
    >       ide7: I/O resource 0x0-0x7 not free.
    >       ide7: ports already in use, skipping probe
    >       ide8: I/O resource 0x0-0x7 not free.
    >       ide8: ports already in use, skipping probe
    >       ide9: I/O resource 0x0-0x7 not free.
    >       ide9: ports already in use, skipping probe
    >
    > and that's just totally bogus. It shouldn't even request that region,
    > since it's not been allocated!

    The commit 139ddfcab50e5eabcc88341c8743a990ac1be6a2 ("ide: move handling of
    I/O resources out of ide_probe_port()") changed the ordering of hwif->noprobe
    check vs ide_hwif_request_regions() call (so that we now reserve I/O regions
    before checking for hwif->noprobe). However ide-generic host driver depended
    on hwif->noprobe to be set for skipping probing of empty ide_hwifs[] slots.

    Fix it by passing only indexes of non-empty slots to ide_device_add_all()
    from ide_generic_init().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

03 Feb, 2008

1 commit

  • * Remove 'struct pci_dev *dev' argument from ide_hwif_setup_dma().

    * Un-static ide_hwif_setup_dma() and add CONFIG_BLK_DEV_IDEDMA_PCI=n version.

    * Add 'const struct ide_port_info *d' argument to ide_device_add[_all]().

    * Factor out generic ports init from ide_pci_setup_ports() to ide_init_port(),
    move it to ide-probe.c and call it in in ide_device_add_all() instead of
    ide_pci_setup_ports().

    * Move ->mate setup to ide_device_add_all() from ide_port_init().

    * Add IDE_HFLAG_NO_AUTOTUNE host flag for host drivers that don't enable
    ->autotune currently.

    * Setup hwif->chipset in ide_init_port() but iff pi->chipset is set
    (to not override setup done by ide_hwif_configure()).

    * Add ETRAX host handling to ide_device_add_all().

    * cmd640.c: set IDE_HFLAG_ABUSE_* also for CONFIG_BLK_DEV_CMD640_ENHANCED=n.

    * pmac.c: make pmac_ide_setup_dma() return an error value and move DMA masks
    setup to pmac_ide_setup_device().

    * Add 'struct ide_port_info' instances to legacy host drivers, pass them to
    ide_device_add() calls and then remove open-coded ports initialization.

    Reviewed-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

27 Jan, 2008

1 commit

  • * Rename ide_device_add() to ide_device_add_all() and make it accept
    'u8 idx[MAX_HWIFS]' instead of 'u8 idx[4]' as an argument.

    * Add ide_device_add() wrapper for ide_device_add_all().

    * Convert ide_generic_init() to use ide_device_add_all().

    * Remove no longer needed ideprobe_init().

    There should be no functionality changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

10 May, 2007

1 commit

  • * create_proc_ide_interfaces() tries to add /proc entries for every probed
    and initialized IDE port, replace it by ide_proc_register_port() which does
    it only for the given port (also rename destroy_proc_ide_interface() to
    ide_proc_unregister_port() for consistency)

    * convert {create,destroy}_proc_ide_interface[s]() users to use new functions

    * pmac driver depended on proc_ide_create() to add /proc port entries, fix it

    * au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic
    driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them

    * there is now no need to add /proc entries for IDE ports in proc_ide_create()
    so don't do it

    * proc_ide_create() needs now to be called before drivers are probed - fix it,
    while at it make proc_ide_create() create /proc "ide" directory

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

17 Apr, 2005

1 commit

  • 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