14 #include <linux/module.h>
28 const struct dio_device_id *
30 const struct dio_dev *
d)
33 if (ids->id == DIO_WILDCARD)
35 if (DIO_NEEDSSECID(ids->id & 0xff)) {
39 if ((ids->id & 0xff) == (d->id & 0xff))
47 static int dio_device_probe(
struct device *
dev)
50 struct dio_driver *drv = to_dio_driver(dev->
driver);
51 struct dio_dev *
d = to_dio_dev(dev);
53 if (!d->driver && drv->probe) {
54 const struct dio_device_id *
id;
58 error = drv->probe(d,
id);
79 drv->driver.name = drv->name;
115 struct dio_dev *d = to_dio_dev(dev);
116 struct dio_driver *dio_drv = to_dio_driver(drv);
117 const struct dio_device_id *ids = dio_drv->id_table;
128 .match = dio_bus_match,
129 .probe = dio_device_probe,
133 static int __init dio_driver_init(
void)