On Sun, 2 Nov 2008, Brad Boyer wrote:

> On Sun, Nov 02, 2008 at 12:21:23PM +0100, Laurent Vivier wrote:
> > Le 2 nov. 08 à 09:54, Geert Uytterhoeven a écrit :
> > > The preferred way to do this these days is to create a platform 
> > > device with a struct resource that points to the SWIMBase.
> > 
> > Is this what Finn explains also in his answer ? If so, I agree.
> 
> Not exactly. What Finn suggested is to match the way we handle many of 
> the other on-board things like ADB and SCSI. What Geert suggests is a 
> much more recent way to do things that we generally haven't done for 
> Mac-only drivers. I think Finn used it for the new Sonic ethernet driver 
> because we share it with other systems. The code in macsonic.c also has 
> the extra complexity from having both NuBus and on-board hardware to 
> support, and NuBus also hasn't been updated to the new driver model.
> 
> Finn's suggestion of using the macintosh_config entry and data table is 
> the easiest way to get it working, but Geert's method would move to the 
> real device/driver model that most other systems are using now.

I agree with Geert. Ignore my comment about device_initcall -- I was 
looking at via-cuda.c but that is not a good example. 
drivers/scsi/mac_esp.c is a better example. 

esp_mac_probe checks the macintosh_config entry. That and esp_mac_remove 
are the platform device entry points Geert referred to. The module entry 
points are mac_esp_init and mac_esp_exit. I think you could use either of 
the platform device probe routine or the module init routine to set the 
base address.

Finn

> Ideally this would be a macio driver instead of a platform driver in my 
> opinion, but I haven't finished getting the macio bus code working on 
> m68k.
> 
>       Brad Boyer
>       [EMAIL PROTECTED]
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Reply via email to