Commit 46d01492 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Paul Mackerras

powerpc/ps3: Add sub-match id modalias support

commit 059e4938 ("powerpc/ps3: Add a sub-match
id to ps3_system_bus") forgot to update the module alias support:
  - Add the sub-match ids to the module aliases, so udev can distinguish
    between different types of sub-devices.
  - Rename PS3_MODULE_ALIAS_GRAPHICS to PS3_MODULE_ALIAS_GPU_FB, as ps3fb
    binds to the "FB" sub-device.
Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 62d80749
...@@ -305,30 +305,34 @@ static inline const char* ps3_result(int result) ...@@ -305,30 +305,34 @@ static inline const char* ps3_result(int result)
/* system bus routines */ /* system bus routines */
enum ps3_match_id { enum ps3_match_id {
PS3_MATCH_ID_EHCI = 1, PS3_MATCH_ID_EHCI = 1,
PS3_MATCH_ID_OHCI = 2, PS3_MATCH_ID_OHCI = 2,
PS3_MATCH_ID_GELIC = 3, PS3_MATCH_ID_GELIC = 3,
PS3_MATCH_ID_AV_SETTINGS = 4, PS3_MATCH_ID_AV_SETTINGS = 4,
PS3_MATCH_ID_SYSTEM_MANAGER = 5, PS3_MATCH_ID_SYSTEM_MANAGER = 5,
PS3_MATCH_ID_STOR_DISK = 6, PS3_MATCH_ID_STOR_DISK = 6,
PS3_MATCH_ID_STOR_ROM = 7, PS3_MATCH_ID_STOR_ROM = 7,
PS3_MATCH_ID_STOR_FLASH = 8, PS3_MATCH_ID_STOR_FLASH = 8,
PS3_MATCH_ID_SOUND = 9, PS3_MATCH_ID_SOUND = 9,
PS3_MATCH_ID_GRAPHICS = 10, PS3_MATCH_ID_GPU = 10,
PS3_MATCH_ID_LPM = 11, PS3_MATCH_ID_LPM = 11,
}; };
#define PS3_MODULE_ALIAS_EHCI "ps3:1" enum ps3_match_sub_id {
#define PS3_MODULE_ALIAS_OHCI "ps3:2" PS3_MATCH_SUB_ID_GPU_FB = 1,
#define PS3_MODULE_ALIAS_GELIC "ps3:3" };
#define PS3_MODULE_ALIAS_AV_SETTINGS "ps3:4"
#define PS3_MODULE_ALIAS_SYSTEM_MANAGER "ps3:5" #define PS3_MODULE_ALIAS_EHCI "ps3:1:0"
#define PS3_MODULE_ALIAS_STOR_DISK "ps3:6" #define PS3_MODULE_ALIAS_OHCI "ps3:2:0"
#define PS3_MODULE_ALIAS_STOR_ROM "ps3:7" #define PS3_MODULE_ALIAS_GELIC "ps3:3:0"
#define PS3_MODULE_ALIAS_STOR_FLASH "ps3:8" #define PS3_MODULE_ALIAS_AV_SETTINGS "ps3:4:0"
#define PS3_MODULE_ALIAS_SOUND "ps3:9" #define PS3_MODULE_ALIAS_SYSTEM_MANAGER "ps3:5:0"
#define PS3_MODULE_ALIAS_GRAPHICS "ps3:10" #define PS3_MODULE_ALIAS_STOR_DISK "ps3:6:0"
#define PS3_MODULE_ALIAS_LPM "ps3:11" #define PS3_MODULE_ALIAS_STOR_ROM "ps3:7:0"
#define PS3_MODULE_ALIAS_STOR_FLASH "ps3:8:0"
#define PS3_MODULE_ALIAS_SOUND "ps3:9:0"
#define PS3_MODULE_ALIAS_GPU_FB "ps3:10:1"
#define PS3_MODULE_ALIAS_LPM "ps3:11:0"
enum ps3_system_bus_device_type { enum ps3_system_bus_device_type {
PS3_DEVICE_TYPE_IOC0 = 1, PS3_DEVICE_TYPE_IOC0 = 1,
...@@ -337,11 +341,6 @@ enum ps3_system_bus_device_type { ...@@ -337,11 +341,6 @@ enum ps3_system_bus_device_type {
PS3_DEVICE_TYPE_LPM, PS3_DEVICE_TYPE_LPM,
}; };
enum ps3_match_sub_id {
/* for PS3_MATCH_ID_GRAPHICS */
PS3_MATCH_SUB_ID_FB = 1,
};
/** /**
* struct ps3_system_bus_device - a device on the system bus * struct ps3_system_bus_device - a device on the system bus
*/ */
......
...@@ -497,8 +497,8 @@ static int __init ps3_register_graphics_devices(void) ...@@ -497,8 +497,8 @@ static int __init ps3_register_graphics_devices(void)
if (!p) if (!p)
return -ENOMEM; return -ENOMEM;
p->dev.match_id = PS3_MATCH_ID_GRAPHICS; p->dev.match_id = PS3_MATCH_ID_GPU;
p->dev.match_sub_id = PS3_MATCH_SUB_ID_FB; p->dev.match_sub_id = PS3_MATCH_SUB_ID_GPU_FB;
p->dev.dev_type = PS3_DEVICE_TYPE_IOC0; p->dev.dev_type = PS3_DEVICE_TYPE_IOC0;
result = ps3_system_bus_device_register(&p->dev); result = ps3_system_bus_device_register(&p->dev);
......
...@@ -175,7 +175,7 @@ int ps3_open_hv_device(struct ps3_system_bus_device *dev) ...@@ -175,7 +175,7 @@ int ps3_open_hv_device(struct ps3_system_bus_device *dev)
return ps3_open_hv_device_sb(dev); return ps3_open_hv_device_sb(dev);
case PS3_MATCH_ID_SOUND: case PS3_MATCH_ID_SOUND:
case PS3_MATCH_ID_GRAPHICS: case PS3_MATCH_ID_GPU:
return ps3_open_hv_device_gpu(dev); return ps3_open_hv_device_gpu(dev);
case PS3_MATCH_ID_AV_SETTINGS: case PS3_MATCH_ID_AV_SETTINGS:
...@@ -213,7 +213,7 @@ int ps3_close_hv_device(struct ps3_system_bus_device *dev) ...@@ -213,7 +213,7 @@ int ps3_close_hv_device(struct ps3_system_bus_device *dev)
return ps3_close_hv_device_sb(dev); return ps3_close_hv_device_sb(dev);
case PS3_MATCH_ID_SOUND: case PS3_MATCH_ID_SOUND:
case PS3_MATCH_ID_GRAPHICS: case PS3_MATCH_ID_GPU:
return ps3_close_hv_device_gpu(dev); return ps3_close_hv_device_gpu(dev);
case PS3_MATCH_ID_AV_SETTINGS: case PS3_MATCH_ID_AV_SETTINGS:
...@@ -453,7 +453,8 @@ static int ps3_system_bus_uevent(struct device *_dev, struct kobj_uevent_env *en ...@@ -453,7 +453,8 @@ static int ps3_system_bus_uevent(struct device *_dev, struct kobj_uevent_env *en
{ {
struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
if (add_uevent_var(env, "MODALIAS=ps3:%d", dev->match_id)) if (add_uevent_var(env, "MODALIAS=ps3:%d:%d", dev->match_id,
dev->match_sub_id))
return -ENOMEM; return -ENOMEM;
return 0; return 0;
} }
...@@ -462,7 +463,8 @@ static ssize_t modalias_show(struct device *_dev, struct device_attribute *a, ...@@ -462,7 +463,8 @@ static ssize_t modalias_show(struct device *_dev, struct device_attribute *a,
char *buf) char *buf)
{ {
struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
int len = snprintf(buf, PAGE_SIZE, "ps3:%d\n", dev->match_id); int len = snprintf(buf, PAGE_SIZE, "ps3:%d:%d\n", dev->match_id,
dev->match_sub_id);
return (len >= PAGE_SIZE) ? (PAGE_SIZE - 1) : len; return (len >= PAGE_SIZE) ? (PAGE_SIZE - 1) : len;
} }
......
...@@ -1289,8 +1289,8 @@ static int ps3fb_shutdown(struct ps3_system_bus_device *dev) ...@@ -1289,8 +1289,8 @@ static int ps3fb_shutdown(struct ps3_system_bus_device *dev)
} }
static struct ps3_system_bus_driver ps3fb_driver = { static struct ps3_system_bus_driver ps3fb_driver = {
.match_id = PS3_MATCH_ID_GRAPHICS, .match_id = PS3_MATCH_ID_GPU,
.match_sub_id = PS3_MATCH_SUB_ID_FB, .match_sub_id = PS3_MATCH_SUB_ID_GPU_FB,
.core.name = DEVICE_NAME, .core.name = DEVICE_NAME,
.core.owner = THIS_MODULE, .core.owner = THIS_MODULE,
.probe = ps3fb_probe, .probe = ps3fb_probe,
...@@ -1348,4 +1348,4 @@ module_exit(ps3fb_exit); ...@@ -1348,4 +1348,4 @@ module_exit(ps3fb_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("PS3 GPU Frame Buffer Driver"); MODULE_DESCRIPTION("PS3 GPU Frame Buffer Driver");
MODULE_AUTHOR("Sony Computer Entertainment Inc."); MODULE_AUTHOR("Sony Computer Entertainment Inc.");
MODULE_ALIAS(PS3_MODULE_ALIAS_GRAPHICS); MODULE_ALIAS(PS3_MODULE_ALIAS_GPU_FB);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment