firewire: mark some structs const Instances of struct file_operations and struct fw_card_driver can be qualified as "const". Ditto with struct fw_descriptor.data, struct fw_device_id, and predefined instances of struct fw_address_region, at least in the current implementation. Data qualified as const is placed into the .rodata section which won't be mixed with dirty data. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
diff --git a/drivers/firewire/fw-card.c b/drivers/firewire/fw-card.c index 7977390..82a9243 100644 --- a/drivers/firewire/fw-card.c +++ b/drivers/firewire/fw-card.c
@@ -257,7 +257,7 @@ } void -fw_card_initialize(struct fw_card *card, struct fw_card_driver *driver, +fw_card_initialize(struct fw_card *card, const struct fw_card_driver *driver, struct device *device) { static int index;
diff --git a/drivers/firewire/fw-device-cdev.c b/drivers/firewire/fw-device-cdev.c index c10e332..117bc6db 100644 --- a/drivers/firewire/fw-device-cdev.c +++ b/drivers/firewire/fw-device-cdev.c
@@ -602,7 +602,7 @@ return 0; } -struct file_operations fw_device_ops = { +const struct file_operations fw_device_ops = { .owner = THIS_MODULE, .open = fw_device_op_open, .read = fw_device_op_read,
diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c index ec1cb7f..e541daa 100644 --- a/drivers/firewire/fw-device.c +++ b/drivers/firewire/fw-device.c
@@ -49,7 +49,7 @@ static int is_fw_unit(struct device *dev); -static int match_unit_directory(u32 * directory, struct fw_device_id *id) +static int match_unit_directory(u32 * directory, const struct fw_device_id *id) { struct fw_csr_iterator ci; int key, value, match;
diff --git a/drivers/firewire/fw-device.h b/drivers/firewire/fw-device.h index 731abbe..f39cf6a 100644 --- a/drivers/firewire/fw-device.h +++ b/drivers/firewire/fw-device.h
@@ -113,7 +113,7 @@ struct device_driver driver; /* Called when the parent device sits through a bus reset. */ void (*update) (struct fw_unit *unit); - struct fw_device_id *id_table; + const struct fw_device_id *id_table; }; static inline struct fw_driver * @@ -122,6 +122,6 @@ return container_of(drv, struct fw_driver, driver); } -extern struct file_operations fw_device_ops; +extern const struct file_operations fw_device_ops; #endif /* __fw_device_h */
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index 5d42d18..d3750a2 100644 --- a/drivers/firewire/fw-ohci.c +++ b/drivers/firewire/fw-ohci.c
@@ -1146,7 +1146,7 @@ return 0; } -static struct fw_card_driver ohci_driver = { +static const struct fw_card_driver ohci_driver = { .name = ohci_driver_name, .enable = ohci_enable, .update_phy_reg = ohci_update_phy_reg,
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c index ce9c41f..28acae8 100644 --- a/drivers/firewire/fw-sbp2.c +++ b/drivers/firewire/fw-sbp2.c
@@ -681,7 +681,7 @@ #define SBP2_UNIT_SPEC_ID_ENTRY 0x0000609e #define SBP2_SW_VERSION_ENTRY 0x00010483 -static struct fw_device_id sbp2_id_table[] = { +static const struct fw_device_id sbp2_id_table[] = { { .match_flags = FW_MATCH_SPECIFIER_ID | FW_MATCH_VERSION, .specifier_id = SBP2_UNIT_SPEC_ID_ENTRY,
diff --git a/drivers/firewire/fw-transaction.c b/drivers/firewire/fw-transaction.c index affd420..a72f502 100644 --- a/drivers/firewire/fw-transaction.c +++ b/drivers/firewire/fw-transaction.c
@@ -331,15 +331,15 @@ static DEFINE_SPINLOCK(address_handler_lock); static LIST_HEAD(address_handler_list); -struct fw_address_region fw_low_memory_region = +const struct fw_address_region fw_low_memory_region = { 0x000000000000ull, 0x000100000000ull }; -struct fw_address_region fw_high_memory_region = +const struct fw_address_region fw_high_memory_region = { 0x000100000000ull, 0xffffe0000000ull }; -struct fw_address_region fw_private_region = +const struct fw_address_region fw_private_region = { 0xffffe0000000ull, 0xfffff0000000ull }; -struct fw_address_region fw_csr_region = +const struct fw_address_region fw_csr_region = { 0xfffff0000000ULL, 0xfffff0000800ull }; -struct fw_address_region fw_unit_space_region = +const struct fw_address_region fw_unit_space_region = { 0xfffff0000900ull, 0x1000000000000ull }; EXPORT_SYMBOL(fw_low_memory_region); @@ -358,7 +358,7 @@ int fw_core_add_address_handler(struct fw_address_handler *handler, - struct fw_address_region *region) + const struct fw_address_region *region) { struct fw_address_handler *other; unsigned long flags; @@ -684,7 +684,7 @@ MODULE_DESCRIPTION("Core IEEE1394 transaction logic"); MODULE_LICENSE("GPL"); -static u32 vendor_textual_descriptor_data[] = { +static const u32 vendor_textual_descriptor_data[] = { /* textual descriptor leaf () */ 0x00080000, 0x00000000,
diff --git a/drivers/firewire/fw-transaction.h b/drivers/firewire/fw-transaction.h index 292add5..2f849c8 100644 --- a/drivers/firewire/fw-transaction.h +++ b/drivers/firewire/fw-transaction.h
@@ -133,7 +133,7 @@ struct list_head link; size_t length; u32 key; - u32 *data; + const u32 *data; }; int fw_core_add_descriptor (struct fw_descriptor *desc); @@ -218,14 +218,14 @@ u64 end; }; -extern struct fw_address_region fw_low_memory_region; -extern struct fw_address_region fw_high_memory_region; -extern struct fw_address_region fw_private_region; -extern struct fw_address_region fw_csr_region; -extern struct fw_address_region fw_unit_space_region; +extern const struct fw_address_region fw_low_memory_region; +extern const struct fw_address_region fw_high_memory_region; +extern const struct fw_address_region fw_private_region; +extern const struct fw_address_region fw_csr_region; +extern const struct fw_address_region fw_unit_space_region; int fw_core_add_address_handler(struct fw_address_handler *handler, - struct fw_address_region *region); + const struct fw_address_region *region); void fw_core_remove_address_handler(struct fw_address_handler *handler); void fw_send_response(struct fw_card *card, struct fw_request *request, int rcode); @@ -233,7 +233,7 @@ extern struct bus_type fw_bus_type; struct fw_card { - struct fw_card_driver *driver; + const struct fw_card_driver *driver; struct device *device; int node_id; @@ -399,7 +399,7 @@ /* Do we need phy speed here also? If we add more args, maybe we should go back to struct fw_card_info. */ void -fw_card_initialize(struct fw_card *card, struct fw_card_driver *driver, +fw_card_initialize(struct fw_card *card, const struct fw_card_driver *driver, struct device *device); int fw_card_add(struct fw_card *card,