|
@@ -63,6 +63,11 @@ static const struct device_type serdev_device_type = {
|
|
|
.release = serdev_device_release,
|
|
|
};
|
|
|
|
|
|
+static bool is_serdev_device(const struct device *dev)
|
|
|
+{
|
|
|
+ return dev->type == &serdev_device_type;
|
|
|
+}
|
|
|
+
|
|
|
static void serdev_ctrl_release(struct device *dev)
|
|
|
{
|
|
|
struct serdev_controller *ctrl = to_serdev_controller(dev);
|
|
@@ -76,6 +81,9 @@ static const struct device_type serdev_ctrl_type = {
|
|
|
|
|
|
static int serdev_device_match(struct device *dev, struct device_driver *drv)
|
|
|
{
|
|
|
+ if (!is_serdev_device(dev))
|
|
|
+ return 0;
|
|
|
+
|
|
|
/* TODO: platform matching */
|
|
|
if (acpi_driver_match_device(dev, drv))
|
|
|
return 1;
|