RE: [char-misc-next 05/11] mei: bus: Call bus routines from thecore code

From: Winkler, Tomas
Date: Thu Feb 07 2013 - 17:57:37 EST




> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> Sent: Friday, February 08, 2013 00:38
> To: Winkler, Tomas
> Cc: gregkh@xxxxxxxxxxxxxxxxxxx; sameo@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: Re: [char-misc-next 05/11] mei: bus: Call bus routines from the core
> code
>
> On Thursday 07 February 2013, Tomas Winkler wrote:
> > @@ -197,6 +197,9 @@ static int mei_probe(struct pci_dev *pdev, const
> struct pci_device_id *ent)
> > mei_pdev = pdev;
> > pci_set_drvdata(pdev, dev);
> >
> > + err = mei_bus_init(mei_pdev);
> > + if (err)
> > + goto deregister_mei;
> >
> > schedule_delayed_work(&dev->timer_work, HZ);
> >
>
> This is fairly unusual, and will break if you ever have multiple mei devices in
> one system, because you end up registering the bus type for each device. I
> think it would be more logical to register/unregister the bus_type from the
> module_init/exit functions of the module that contains the bus_type object.

MEI is a singleton and it is enforced also in software in the probe

Second why to register anything if the MEI device is not present on the system.

Thanks
Tomas

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/