diff options
author | Alexandre Bounine <alexandre.bounine@idt.com> | 2013-07-03 18:08:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:08:05 -0400 |
commit | 3bdbb62fe97537252b22f700009863eeb51aa750 (patch) | |
tree | 7a3150f7496f951ac6de51f2156cf29fc8f9a73f /include/linux | |
parent | fdf90abc00979fb2d61dbdba9e855200e236142b (diff) |
rapidio: add udev notification
Add RapidIO-specific modalias generation to enable udev notifications
about RapidIO-specific events.
The RapidIO modalias string format is shown below:
"rapidio:vNNNNdNNNNavNNNNadNNNN"
Where:
v - Device Vendor ID (16 bit),
d - Device ID (16 bit),
av - Assembly Vendor ID (16 bit),
ad - Assembly ID (16 bit),
as they are reported in corresponding Capability Registers (CARs)
of each RapidIO device.
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Li Yang <leoli@freescale.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Andre van Herk <andre.van.herk@Prodrive.nl>
Cc: Micha Nelissen <micha.nelissen@Prodrive.nl>
Cc: Stef van Os <stef.van.os@Prodrive.nl>
Cc: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mod_devicetable.h | 19 | ||||
-rw-r--r-- | include/linux/rio.h | 16 | ||||
-rw-r--r-- | include/linux/rio_ids.h | 2 |
3 files changed, 20 insertions, 17 deletions
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index b3bd7e737e8b..b62d4af6c667 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
@@ -579,4 +579,23 @@ struct mei_cl_device_id { | |||
579 | kernel_ulong_t driver_info; | 579 | kernel_ulong_t driver_info; |
580 | }; | 580 | }; |
581 | 581 | ||
582 | /* RapidIO */ | ||
583 | |||
584 | #define RIO_ANY_ID 0xffff | ||
585 | |||
586 | /** | ||
587 | * struct rio_device_id - RIO device identifier | ||
588 | * @did: RapidIO device ID | ||
589 | * @vid: RapidIO vendor ID | ||
590 | * @asm_did: RapidIO assembly device ID | ||
591 | * @asm_vid: RapidIO assembly vendor ID | ||
592 | * | ||
593 | * Identifies a RapidIO device based on both the device/vendor IDs and | ||
594 | * the assembly device/vendor IDs. | ||
595 | */ | ||
596 | struct rio_device_id { | ||
597 | __u16 did, vid; | ||
598 | __u16 asm_did, asm_vid; | ||
599 | }; | ||
600 | |||
582 | #endif /* LINUX_MOD_DEVICETABLE_H */ | 601 | #endif /* LINUX_MOD_DEVICETABLE_H */ |
diff --git a/include/linux/rio.h b/include/linux/rio.h index 8d3db1b7b998..e2faf7b8fe80 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/errno.h> | 20 | #include <linux/errno.h> |
21 | #include <linux/device.h> | 21 | #include <linux/device.h> |
22 | #include <linux/rio_regs.h> | 22 | #include <linux/rio_regs.h> |
23 | #include <linux/mod_devicetable.h> | ||
23 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE | 24 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE |
24 | #include <linux/dmaengine.h> | 25 | #include <linux/dmaengine.h> |
25 | #endif | 26 | #endif |
@@ -396,21 +397,6 @@ struct rio_driver { | |||
396 | 397 | ||
397 | #define to_rio_driver(drv) container_of(drv,struct rio_driver, driver) | 398 | #define to_rio_driver(drv) container_of(drv,struct rio_driver, driver) |
398 | 399 | ||
399 | /** | ||
400 | * struct rio_device_id - RIO device identifier | ||
401 | * @did: RIO device ID | ||
402 | * @vid: RIO vendor ID | ||
403 | * @asm_did: RIO assembly device ID | ||
404 | * @asm_vid: RIO assembly vendor ID | ||
405 | * | ||
406 | * Identifies a RIO device based on both the device/vendor IDs and | ||
407 | * the assembly device/vendor IDs. | ||
408 | */ | ||
409 | struct rio_device_id { | ||
410 | u16 did, vid; | ||
411 | u16 asm_did, asm_vid; | ||
412 | }; | ||
413 | |||
414 | union rio_pw_msg { | 400 | union rio_pw_msg { |
415 | struct { | 401 | struct { |
416 | u32 comptag; /* Component Tag CSR */ | 402 | u32 comptag; /* Component Tag CSR */ |
diff --git a/include/linux/rio_ids.h b/include/linux/rio_ids.h index b66d13d1bdc0..2543bc163d54 100644 --- a/include/linux/rio_ids.h +++ b/include/linux/rio_ids.h | |||
@@ -13,8 +13,6 @@ | |||
13 | #ifndef LINUX_RIO_IDS_H | 13 | #ifndef LINUX_RIO_IDS_H |
14 | #define LINUX_RIO_IDS_H | 14 | #define LINUX_RIO_IDS_H |
15 | 15 | ||
16 | #define RIO_ANY_ID 0xffff | ||
17 | |||
18 | #define RIO_VID_FREESCALE 0x0002 | 16 | #define RIO_VID_FREESCALE 0x0002 |
19 | #define RIO_DID_MPC8560 0x0003 | 17 | #define RIO_DID_MPC8560 0x0003 |
20 | 18 | ||