powerpc/ps3: Add a sub-match id to ps3_system_bus
Add sub match id for ps3 system bus so that two different system bus devices can be connected to a shared device. Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp> Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:

committed by
Benjamin Herrenschmidt

parent
6e5f153783
commit
059e4938f8
@@ -347,16 +347,23 @@ static int ps3_system_bus_match(struct device *_dev,
|
||||
struct ps3_system_bus_driver *drv = ps3_drv_to_system_bus_drv(_drv);
|
||||
struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
|
||||
|
||||
result = dev->match_id == drv->match_id;
|
||||
if (!dev->match_sub_id)
|
||||
result = dev->match_id == drv->match_id;
|
||||
else
|
||||
result = dev->match_sub_id == drv->match_sub_id &&
|
||||
dev->match_id == drv->match_id;
|
||||
|
||||
if (result)
|
||||
pr_info("%s:%d: dev=%u(%s), drv=%u(%s): match\n", __func__,
|
||||
__LINE__, dev->match_id, dev->core.bus_id,
|
||||
drv->match_id, drv->core.name);
|
||||
pr_info("%s:%d: dev=%u.%u(%s), drv=%u.%u(%s): match\n",
|
||||
__func__, __LINE__,
|
||||
dev->match_id, dev->match_sub_id, dev->core.bus_id,
|
||||
drv->match_id, drv->match_sub_id, drv->core.name);
|
||||
else
|
||||
pr_debug("%s:%d: dev=%u(%s), drv=%u(%s): miss\n", __func__,
|
||||
__LINE__, dev->match_id, dev->core.bus_id,
|
||||
drv->match_id, drv->core.name);
|
||||
pr_debug("%s:%d: dev=%u.%u(%s), drv=%u.%u(%s): miss\n",
|
||||
__func__, __LINE__,
|
||||
dev->match_id, dev->match_sub_id, dev->core.bus_id,
|
||||
drv->match_id, drv->match_sub_id, drv->core.name);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user