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 -
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 -
* 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.cThere should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz
01 Apr, 2009
2 commits
-
There is no need for a separate ide_arm host driver nowadays
so merge it into ide_generic one.While at it:
- return -EBUSY from ide_generic_init() if I/O resources are busy
- scale down ide_generic_check_pci_legacy_iobases() for CONFIG_PCI=nCc: Russell King
Cc: Alexander Schulz
Signed-off-by: Bartlomiej Zolnierkiewicz -
Nowadays we have "ide_generic.probe_mask=" module parameter
and ide_platform host driver so sysfs interface for adding
IDE interfaces is no longer needed.Signed-off-by: Bartlomiej Zolnierkiewicz
27 Mar, 2009
1 commit
-
This fixes hwif->channel and drive->dn assignments.
Signed-off-by: Bartlomiej Zolnierkiewicz
14 Oct, 2008
2 commits
-
There is now a generic solution [ide_generic_check_pci_legacy_iobases()]
so MIPS-specific ide_probe_legacy() is no longer necessary.Cc: Ralf Baechle
Signed-off-by: Bartlomiej Zolnierkiewicz -
Signed-off-by: Bartlomiej Zolnierkiewicz
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 doide_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
25 Jul, 2008
2 commits
-
Replace ide_default_{io_base,irq}() inlines by legacy_{bases,irqs}[].
v2:
Add missing zero-ing of hws[] (caught during testing by Borislav Petkov).v3:
Fix zero-oing of hws[] for _real_ this time.There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Move ide_probe_legacy() call to ide_generic_init() so it fails
early if necessary and returns the proper error value (nowadays
ide_default_io_base() is used only by ide-generic).Cc: Ralf Baechle
Signed-off-by: Bartlomiej Zolnierkiewicz
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
-
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
-
* 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
-
* 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
-
* 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
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 +0200ide-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
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
27 Apr, 2008
2 commits
-
It is no longer needed to set hwif->mmio flag to tell IDE layer to not
manage resources so cleanup host drivers that used hwif->mmio flag only
for this purpose.Ditto for ide_legacy_init_one().
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Tell IDE layer to not manage resources by setting hwif->mmio flag.
* Use {request,release}_region() for resources management.
* Use driver name for resources management.
Signed-off-by: Bartlomiej Zolnierkiewicz
26 Apr, 2008
2 commits
-
There should be no functional changes caused by this patch.
v2:
* Fix comment (noticed by Sergei Shtylyov).v3:
* Fix no initalization of idx in some case. (Johann Felix Soden)Cc: Johann Felix Soden
Cc: Kamalesh Babulal
Cc: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Remove no longer needed matching against I/O base and 'base' argument.
Signed-off-by: Bartlomiej Zolnierkiewicz
18 Apr, 2008
5 commits
-
* Use ide_default_irq() instead of ide_init_default_irq() in
ide_generic host driver (so the correct IRQ is always set
regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI).* Remove no longer needed ide_init_default_irq() macro.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Make CONFIG_IDE_GENERIC depended on CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS.
* Move default IDE ports setup from init_ide_data() to ide_generic.
* Use ide_init_port_hw() in ide_generic.
* Remove no longer needed CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters
and update Documentation/ide/ide.txt.* Remove no longer needed ide_forced chipset type.
v2:
* is_chipset_set[] -> is_chipset_set in ide.c.* Documentation/ide/ide.txt fix.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Add ide_generic_sysfs_init() helper registering 'ide_generic' class
(together with ide_generic_class_release() ->class_release method)
and use it in ide_generic_init().* Add "add" class attribute to 'ide_generic' class for adding new interfaces
(it is intended to be a replacement for obsoleted "idex=base[,ctl[,irq]]"
kernel parameters).Signed-off-by: Bartlomiej Zolnierkiewicz
-
This hwif->chipset fixup is already present in ide_device_add_all()
but for warm-plug support we also need to reserve not currently present
interfaces.Signed-off-by: Bartlomiej Zolnierkiewicz
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
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
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
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
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" directorySigned-off-by: 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!