[U-Boot] [PATCH] IDE: Don't assume there are always two devices per bus

Wolfgang Denk
2010-09-05T22:19:35Z

Dear Albert ARIBAUD,

In message <4C8201CB.9080606@free.fr> you wrote:
>
> I think that, rather than modifying IDE_BUS(dev), you should introduce a
> CONFIG_SYS_IDE_MAXDEVICE_PER_BUS config option that will limit how many
> devices will be probed for on a given bus.
> Without this config option, for each bus B there can be up to two
> devices, numbered (B*2) and (B*2+1); with the config option, there can
> be only one device numbered (B*2). In all cases, IDE_BUS(dev) can remain
> defined as (dev >> 1) which will always amount to B.

I'm not happy at all about this.

First, CONFIG_SYS_IDE_* is for "IDE" (aka "Integrated Drive
Electronics"), now usually references as "Parallel ATA", as defined
by the underlying AT Attachment (ATA) and AT Attachment Packet
Interface (ATAPI) standards. It is my understanding that these
standards allow for one or two devices on the bus. So if there was any
CONFIG_SYS_IDE_MAXDEVICE_PER_BUS, it would have to be set to 2, which
renders it useless.

Second, who says that one setting fits all busses in the system? What
happens if you want (or need) to setb the limit to 1, and I insert a
PCI PATA controller card with 2 devices attached to a bus?

Sorry, this does not seem to fit IMO.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The good Christian should beware of mathematicians and all those who
make empty prophecies. The danger already exists that mathematicians
have made a covenant with the devil to darken the spirit and confine
man in the bonds of Hell." - Saint Augustine