The bus code should only match bundle devices for now, and must not
assume all greybus devices are bundles.
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
static int greybus_module_match(struct device *dev, struct device_driver *drv)
{
struct greybus_driver *driver = to_greybus_driver(drv);
- struct gb_bundle *bundle = to_gb_bundle(dev);
+ struct gb_bundle *bundle;
const struct greybus_bundle_id *id;
+ if (!is_gb_bundle(dev))
+ return 0;
+
+ bundle = to_gb_bundle(dev);
+
id = greybus_match_id(bundle, driver->id_table);
if (id)
return 1;