X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fdio%2Fdio-driver.c;h=9c0c9afcd0ac37d6624640c24e917afe48cc9303;hb=b225d44e27521290faca2e0f9b1a4a8c74dc510a;hp=e4c48e329367d93617635e65a671ffb2816a47f7;hpb=86579dd06deecfa6ac88d5e84e4d63c397cd6f6d;p=linux-2.6-omap-h63xx.git diff --git a/drivers/dio/dio-driver.c b/drivers/dio/dio-driver.c index e4c48e32936..9c0c9afcd0a 100644 --- a/drivers/dio/dio-driver.c +++ b/drivers/dio/dio-driver.c @@ -15,16 +15,15 @@ #include - /** - * dio_match_device - Tell if a DIO device structure has a matching - * DIO device id structure - * @ids: array of DIO device id structures to search in - * @dev: the DIO device structure to match against - * - * Used by a driver to check whether a DIO device present in the - * system is in its list of supported devices. Returns the matching - * dio_device_id structure or %NULL if there is no match. - */ +/** + * dio_match_device - Tell if a DIO device structure has a matching DIO device id structure + * @ids: array of DIO device id structures to search in + * @d: the DIO device structure to match against + * + * Used by a driver to check whether a DIO device present in the + * system is in its list of supported devices. Returns the matching + * dio_device_id structure or %NULL if there is no match. + */ const struct dio_device_id * dio_match_device(const struct dio_device_id *ids, @@ -66,13 +65,13 @@ static int dio_device_probe(struct device *dev) } - /** - * dio_register_driver - register a new DIO driver - * @drv: the driver structure to register - * - * Adds the driver structure to the list of registered drivers - * Returns zero or a negative error value. - */ +/** + * dio_register_driver - register a new DIO driver + * @drv: the driver structure to register + * + * Adds the driver structure to the list of registered drivers + * Returns zero or a negative error value. + */ int dio_register_driver(struct dio_driver *drv) { @@ -85,15 +84,15 @@ int dio_register_driver(struct dio_driver *drv) } - /** - * dio_unregister_driver - unregister a DIO driver - * @drv: the driver structure to unregister - * - * Deletes the driver structure from the list of registered DIO drivers, - * gives it a chance to clean up by calling its remove() function for - * each device it was responsible for, and marks those devices as - * driverless. - */ +/** + * dio_unregister_driver - unregister a DIO driver + * @drv: the driver structure to unregister + * + * Deletes the driver structure from the list of registered DIO drivers, + * gives it a chance to clean up by calling its remove() function for + * each device it was responsible for, and marks those devices as + * driverless. + */ void dio_unregister_driver(struct dio_driver *drv) { @@ -101,16 +100,15 @@ void dio_unregister_driver(struct dio_driver *drv) } - /** - * dio_bus_match - Tell if a DIO device structure has a matching DIO - * device id structure - * @ids: array of DIO device id structures to search in - * @dev: the DIO device structure to match against - * - * Used by a driver to check whether a DIO device present in the - * system is in its list of supported devices. Returns the matching - * dio_device_id structure or %NULL if there is no match. - */ +/** + * dio_bus_match - Tell if a DIO device structure has a matching DIO device id structure + * @dev: the DIO device structure to match against + * @drv: the &device_driver that points to the array of DIO device id structures to search + * + * Used by a driver to check whether a DIO device present in the + * system is in its list of supported devices. Returns the matching + * dio_device_id structure or %NULL if there is no match. + */ static int dio_bus_match(struct device *dev, struct device_driver *drv) { @@ -121,19 +119,7 @@ static int dio_bus_match(struct device *dev, struct device_driver *drv) if (!ids) return 0; - while (ids->id) { - if (ids->id == DIO_WILDCARD) - return 1; - if (DIO_NEEDSSECID(ids->id & 0xff)) { - if (ids->id == d->id) - return 1; - } else { - if ((ids->id & 0xff) == (d->id & 0xff)) - return 1; - } - ids++; - } - return 0; + return dio_match_device(ids, d) ? 1 : 0; }