Messages in this thread | | | Date | Thu, 11 Nov 2004 16:30:50 -0800 | From | Greg KH <> | Subject | Re: [PATCH/RFC 1/4]device core changes |
| |
On Thu, Nov 11, 2004 at 03:03:33PM +0800, Li Shaohua wrote: > On Wed, 2004-11-10 at 12:28, Russell King wrote: > > On Wed, Nov 10, 2004 at 09:45:37AM +0800, Li Shaohua wrote: > > > On Wed, 2004-11-10 at 09:24, Greg KH wrote: > > > > Maybe your other patches weren't so bad... If we implement them, can we > > > > drop the platform notify stuff? > > > Currently only ARM use 'platform_notify', and we can easily convert it > > > to use per-bus 'platform_bind'. One concern of per-bus 'platform_bind' > > > is we will have many '#ifdef ..' if many platforms implement their > > > per-bus 'platform_bind'. > > > > Except none of the merged ARM platforms use platform_notify, and I haven't > > seen any suggestion in the ARM world of why it would be needed. > Ok, let me summarize it. we now have two options: > 1. using 'platform_notify' > platform_notify only has one parameter 'struct device', we must know the > exact bus type of a device. We can identify the bus type from its name > (such as 'pci', 'ide'), but it's quite some ugly. Or we can add a 'type' > flag in the 'struct bus_type' to indicate the exact bus type which Greg > doesn't like it. One shortcoming is the method hasn't good flexibility, > we must add a new type whenever a new bus type is added. > 2. using per-bus type 'platform_bind' > Every bus type defines a 'platform_bind', so we know the exact bus type > naturally in platform_bind. The method can't handle special devices, > such as PCI root bridge, which hasn't a bus type, so no 'platform_bind' > is invoked for them. we must use some tricky methods to work around. > Another concern is the chaos if many platforms define 'platform_bind' > for a bus type, which isn't a big problem currently. > Greg, it seems you tend to option 2, isn't it?
I don't tend toward option 2, I just don't see much of any workable option right now :(
thanks,
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |