lkml.org 
[lkml]   [2004]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH/RFC 1/4]device core changes
From
Date
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?

Thanks,
Shaohua

-
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/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.048 / U:4.808 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site