Hi Geert, On Wed, Nov 6, 2019 at 7:46 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > > > > @@ -169,10 +177,21 @@ static int __init falconide_init(void) > > > > Should I remove the __init here? Doesn't hurt in the built-in use > > case, what about use as a module? > > Should be fine. OK, I'll leave it. > > > > > > > err_free: > > > > ide_host_free(host); > > > > err: > > > > - release_mem_region(ATA_HD_BASE, 0x40); > > > > + release_mem_region(res->start, resource_size(res)); > > > > return rc; > > > > } > > > > > > > > -module_init(falconide_init); > > > > +static struct platform_driver ide_falcon_driver = { > > > > + .driver = { > > > > + .name = "atari-falcon-ide", > > > > + }, > > > > +}; > > > > > > Missing .remove() callback. > > > > Can't easily test driver remove, but I can certainly add a callback for that. > > > > ide_unregister does the Right Thing (i.e. leaves the ST-DMA interrupt > > registered) so no reason why it shouldn't work. > > gayle.c uses ide_host_remove(). I'm using that, too. But ide_host_remove() is not where free_irq() is called. > > > > > + > > > > +module_platform_driver_probe(ide_falcon_driver, falconide_init); > > > > + > > > > > > > > +MODULE_AUTHOR("Geert Uytterhoeven"); > > > > +MODULE_DESCRIPTION("low-level driver for Atari Falcon IDE"); > > > > MODULE_LICENSE("GPL"); > > > > +MODULE_ALIAS("platform:atari-falcon-ide"); > > > > +MODULE_VERSION(DRV_VERSION); > > > > > > I'd drop the MODULE_VERSION(). > > > > Done. > > > > Shall I merge this one with part one of the old series so there's no > > chance of a bisection going wrong? > > Yes please. > Thanks! Thanks, I'll send a new version shortly. Cheers, Michael