Hi Max, On Thu, Jul 25, 2019 at 3:25 PM Max Staudt <max@xxxxxxxxx> wrote: > Up until now, the pata_buddha driver would only check for cards on > initcall time. Now, the kernel will call its probe function as soon > as a compatible card is detected. > > Device removal remains unimplemented. A WARN_ONCE() serves as a > reminder. > > v2: Rename 'zdev' to 'z' to make the patch easy to analyse with > git diff --ignore-space-change > > Tested-by: Max Staudt <max@xxxxxxxxx> > Signed-off-by: Max Staudt <max@xxxxxxxxx> Thanks for your patch! > --- a/drivers/ata/pata_buddha.c > +++ b/drivers/ata/pata_buddha.c > @@ -145,111 +146,162 @@ static struct ata_port_operations pata_xsurf_ops = { > .set_mode = pata_buddha_set_mode, > }; > > -static int __init pata_buddha_init_one(void) > +static int pata_buddha_probe(struct zorro_dev *z, > + const struct zorro_device_id *ent) > { [...] > + switch (z->id) { > + case ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA: > + default: > + type = BOARD_BUDDHA; > + break; > + case ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL: > + type = BOARD_CATWEASEL; > + nr_ports++; > + break; > + case ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF: > + type = BOARD_XSURF; > + break; > + } Please obtain the type from ent->driver_data instead of using a switch() statement... > -module_init(pata_buddha_init_one); > +static const struct zorro_device_id pata_buddha_zorro_tbl[] = { > + { ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA, }, > + { ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL, }, > + { ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF, }, ... after storing it in zorro_device_id.driver_data here. > + { 0 } > +}; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds