Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'firewire-fixes-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire fixes from Takashi Sakamoto:

- Update tracepoints events introduced in v6.10-rc1 so that it includes
the numeric identifier of host card in which the event happens

- replace wiki URL with the current website URL in Kconfig

* tag 'firewire-fixes-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
firewire: core: record card index in bus_reset_handle tracepoints event
firewire: core: record card index in tracepoinrts events derived from bus_reset_arrange_template
firewire: core: record card index in async_phy_inbound tracepoints event
firewire: core: record card index in async_phy_outbound_complete tracepoints event
firewire: core: record card index in async_phy_outbound_initiate tracepoints event
firewire: core: record card index in tracepoinrts events derived from async_inbound_template
firewire: core: record card index in tracepoinrts events derived from async_outbound_initiate_template
firewire: core: record card index in tracepoinrts events derived from async_outbound_complete_template
firewire: fix website URL in Kconfig

+93 -66
+1 -1
drivers/firewire/Kconfig
··· 11 11 This is the new-generation IEEE 1394 (FireWire) driver stack 12 12 a.k.a. Juju, a new implementation designed for robustness and 13 13 simplicity. 14 - See http://ieee1394.wiki.kernel.org/index.php/Juju_Migration 14 + See http://ieee1394.docs.kernel.org/en/latest/migration.html 15 15 for information about migration from the older Linux 1394 stack 16 16 to the new driver stack. 17 17
+3 -3
drivers/firewire/core-card.c
··· 222 222 int reg = short_reset ? 5 : 1; 223 223 int bit = short_reset ? PHY_BUS_SHORT_RESET : PHY_BUS_RESET; 224 224 225 - trace_bus_reset_initiate(card->generation, short_reset); 225 + trace_bus_reset_initiate(card->index, card->generation, short_reset); 226 226 227 227 return card->driver->update_phy_reg(card, reg, 0, bit); 228 228 } 229 229 230 230 void fw_schedule_bus_reset(struct fw_card *card, bool delayed, bool short_reset) 231 231 { 232 - trace_bus_reset_schedule(card->generation, short_reset); 232 + trace_bus_reset_schedule(card->index, card->generation, short_reset); 233 233 234 234 /* We don't try hard to sort out requests of long vs. short resets. */ 235 235 card->br_short = short_reset; ··· 249 249 /* Delay for 2s after last reset per IEEE 1394 clause 8.2.1. */ 250 250 if (card->reset_jiffies != 0 && 251 251 time_before64(get_jiffies_64(), card->reset_jiffies + 2 * HZ)) { 252 - trace_bus_reset_postpone(card->generation, card->br_short); 252 + trace_bus_reset_postpone(card->index, card->generation, card->br_short); 253 253 254 254 if (!queue_delayed_work(fw_workqueue, &card->br_work, 2 * HZ)) 255 255 fw_card_put(card);
+3 -3
drivers/firewire/core-cdev.c
··· 1559 1559 struct client *e_client = e->client; 1560 1560 u32 rcode; 1561 1561 1562 - trace_async_phy_outbound_complete((uintptr_t)packet, status, packet->generation, 1562 + trace_async_phy_outbound_complete((uintptr_t)packet, card->index, status, packet->generation, 1563 1563 packet->timestamp); 1564 1564 1565 1565 switch (status) { ··· 1659 1659 memcpy(pp->data, a->data, sizeof(a->data)); 1660 1660 } 1661 1661 1662 - trace_async_phy_outbound_initiate((uintptr_t)&e->p, e->p.generation, e->p.header[1], 1663 - e->p.header[2]); 1662 + trace_async_phy_outbound_initiate((uintptr_t)&e->p, card->index, e->p.generation, 1663 + e->p.header[1], e->p.header[2]); 1664 1664 1665 1665 card->driver->send_request(card, &e->p); 1666 1666
+1 -1
drivers/firewire/core-topology.c
··· 508 508 struct fw_node *local_node; 509 509 unsigned long flags; 510 510 511 - trace_bus_reset_handle(generation, node_id, bm_abdicate, self_ids, self_id_count); 511 + trace_bus_reset_handle(card->index, generation, node_id, bm_abdicate, self_ids, self_id_count); 512 512 513 513 spin_lock_irqsave(&card->lock, flags); 514 514
+16 -14
drivers/firewire/core-transaction.c
··· 174 174 struct fw_transaction *t = 175 175 container_of(packet, struct fw_transaction, packet); 176 176 177 - trace_async_request_outbound_complete((uintptr_t)t, packet->generation, packet->speed, 178 - status, packet->timestamp); 177 + trace_async_request_outbound_complete((uintptr_t)t, card->index, packet->generation, 178 + packet->speed, status, packet->timestamp); 179 179 180 180 switch (status) { 181 181 case ACK_COMPLETE: ··· 398 398 399 399 spin_unlock_irqrestore(&card->lock, flags); 400 400 401 - trace_async_request_outbound_initiate((uintptr_t)t, generation, speed, t->packet.header, payload, 401 + trace_async_request_outbound_initiate((uintptr_t)t, card->index, generation, speed, 402 + t->packet.header, payload, 402 403 tcode_is_read_request(tcode) ? 0 : length / 4); 403 404 404 405 card->driver->send_request(card, &t->packet); ··· 464 463 static void transmit_phy_packet_callback(struct fw_packet *packet, 465 464 struct fw_card *card, int status) 466 465 { 467 - trace_async_phy_outbound_complete((uintptr_t)packet, packet->generation, status, 466 + trace_async_phy_outbound_complete((uintptr_t)packet, card->index, packet->generation, status, 468 467 packet->timestamp); 469 468 complete(&phy_config_done); 470 469 } ··· 504 503 phy_config_packet.generation = generation; 505 504 reinit_completion(&phy_config_done); 506 505 507 - trace_async_phy_outbound_initiate((uintptr_t)&phy_config_packet, 506 + trace_async_phy_outbound_initiate((uintptr_t)&phy_config_packet, card->index, 508 507 phy_config_packet.generation, phy_config_packet.header[1], 509 508 phy_config_packet.header[2]); 510 509 ··· 675 674 { 676 675 struct fw_request *request = container_of(packet, struct fw_request, response); 677 676 678 - trace_async_response_outbound_complete((uintptr_t)request, packet->generation, 677 + trace_async_response_outbound_complete((uintptr_t)request, card->index, packet->generation, 679 678 packet->speed, status, packet->timestamp); 680 679 681 680 // Decrease the reference count since not at in-flight. ··· 880 879 // Increase the reference count so that the object is kept during in-flight. 881 880 fw_request_get(request); 882 881 883 - trace_async_response_outbound_initiate((uintptr_t)request, request->response.generation, 884 - request->response.speed, request->response.header, 885 - data, data ? data_length / 4 : 0); 882 + trace_async_response_outbound_initiate((uintptr_t)request, card->index, 883 + request->response.generation, request->response.speed, 884 + request->response.header, data, 885 + data ? data_length / 4 : 0); 886 886 887 887 card->driver->send_response(card, &request->response); 888 888 } ··· 997 995 998 996 tcode = async_header_get_tcode(p->header); 999 997 if (tcode_is_link_internal(tcode)) { 1000 - trace_async_phy_inbound((uintptr_t)p, p->generation, p->ack, p->timestamp, 998 + trace_async_phy_inbound((uintptr_t)p, card->index, p->generation, p->ack, p->timestamp, 1001 999 p->header[1], p->header[2]); 1002 1000 fw_cdev_handle_phy_packet(card, p); 1003 1001 return; ··· 1009 1007 return; 1010 1008 } 1011 1009 1012 - trace_async_request_inbound((uintptr_t)request, p->generation, p->speed, p->ack, 1013 - p->timestamp, p->header, request->data, 1010 + trace_async_request_inbound((uintptr_t)request, card->index, p->generation, p->speed, 1011 + p->ack, p->timestamp, p->header, request->data, 1014 1012 tcode_is_read_request(tcode) ? 0 : request->length / 4); 1015 1013 1016 1014 offset = async_header_get_offset(p->header); ··· 1080 1078 } 1081 1079 spin_unlock_irqrestore(&card->lock, flags); 1082 1080 1083 - trace_async_response_inbound((uintptr_t)t, p->generation, p->speed, p->ack, p->timestamp, 1084 - p->header, data, data_length / 4); 1081 + trace_async_response_inbound((uintptr_t)t, card->index, p->generation, p->speed, p->ack, 1082 + p->timestamp, p->header, data, data_length / 4); 1085 1083 1086 1084 if (!t) { 1087 1085 timed_out:
+69 -44
include/trace/events/firewire.h
··· 36 36 #define QUADLET_SIZE 4 37 37 38 38 DECLARE_EVENT_CLASS(async_outbound_initiate_template, 39 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, const u32 *header, const u32 *data, unsigned int data_count), 40 - TP_ARGS(transaction, generation, scode, header, data, data_count), 39 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, const u32 *header, const u32 *data, unsigned int data_count), 40 + TP_ARGS(transaction, card_index, generation, scode, header, data, data_count), 41 41 TP_STRUCT__entry( 42 42 __field(u64, transaction) 43 + __field(u8, card_index) 43 44 __field(u8, generation) 44 45 __field(u8, scode) 45 46 __array(u32, header, ASYNC_HEADER_QUADLET_COUNT) ··· 48 47 ), 49 48 TP_fast_assign( 50 49 __entry->transaction = transaction; 50 + __entry->card_index = card_index; 51 51 __entry->generation = generation; 52 52 __entry->scode = scode; 53 53 memcpy(__entry->header, header, QUADLET_SIZE * ASYNC_HEADER_QUADLET_COUNT); ··· 56 54 ), 57 55 // This format is for the request subaction. 58 56 TP_printk( 59 - "transaction=0x%llx generation=%u scode=%u dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x offset=0x%012llx header=%s data=%s", 57 + "transaction=0x%llx card_index=%u generation=%u scode=%u dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x offset=0x%012llx header=%s data=%s", 60 58 __entry->transaction, 59 + __entry->card_index, 61 60 __entry->generation, 62 61 __entry->scode, 63 62 ASYNC_HEADER_GET_DESTINATION(__entry->header), ··· 74 71 75 72 // The value of status is one of ack codes and rcodes specific to Linux FireWire subsystem. 76 73 DECLARE_EVENT_CLASS(async_outbound_complete_template, 77 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp), 78 - TP_ARGS(transaction, generation, scode, status, timestamp), 74 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp), 75 + TP_ARGS(transaction, card_index, generation, scode, status, timestamp), 79 76 TP_STRUCT__entry( 80 77 __field(u64, transaction) 78 + __field(u8, card_index) 81 79 __field(u8, generation) 82 80 __field(u8, scode) 83 81 __field(u8, status) ··· 86 82 ), 87 83 TP_fast_assign( 88 84 __entry->transaction = transaction; 85 + __entry->card_index = card_index; 89 86 __entry->generation = generation; 90 87 __entry->scode = scode; 91 88 __entry->status = status; 92 89 __entry->timestamp = timestamp; 93 90 ), 94 91 TP_printk( 95 - "transaction=0x%llx generation=%u scode=%u status=%u timestamp=0x%04x", 92 + "transaction=0x%llx card_index=%u generation=%u scode=%u status=%u timestamp=0x%04x", 96 93 __entry->transaction, 94 + __entry->card_index, 97 95 __entry->generation, 98 96 __entry->scode, 99 97 __entry->status, ··· 105 99 106 100 // The value of status is one of ack codes and rcodes specific to Linux FireWire subsystem. 107 101 DECLARE_EVENT_CLASS(async_inbound_template, 108 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp, const u32 *header, const u32 *data, unsigned int data_count), 109 - TP_ARGS(transaction, generation, scode, status, timestamp, header, data, data_count), 102 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp, const u32 *header, const u32 *data, unsigned int data_count), 103 + TP_ARGS(transaction, card_index, generation, scode, status, timestamp, header, data, data_count), 110 104 TP_STRUCT__entry( 111 105 __field(u64, transaction) 106 + __field(u8, card_index) 112 107 __field(u8, generation) 113 108 __field(u8, scode) 114 109 __field(u8, status) ··· 119 112 ), 120 113 TP_fast_assign( 121 114 __entry->transaction = transaction; 115 + __entry->card_index = card_index; 122 116 __entry->generation = generation; 123 117 __entry->scode = scode; 124 118 __entry->status = status; ··· 129 121 ), 130 122 // This format is for the response subaction. 131 123 TP_printk( 132 - "transaction=0x%llx generation=%u scode=%u status=%u timestamp=0x%04x dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x rcode=%u header=%s data=%s", 124 + "transaction=0x%llx card_index=%u generation=%u scode=%u status=%u timestamp=0x%04x dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x rcode=%u header=%s data=%s", 133 125 __entry->transaction, 126 + __entry->card_index, 134 127 __entry->generation, 135 128 __entry->scode, 136 129 __entry->status, ··· 148 139 ); 149 140 150 141 DEFINE_EVENT(async_outbound_initiate_template, async_request_outbound_initiate, 151 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, const u32 *header, const u32 *data, unsigned int data_count), 152 - TP_ARGS(transaction, generation, scode, header, data, data_count) 142 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, const u32 *header, const u32 *data, unsigned int data_count), 143 + TP_ARGS(transaction, card_index, generation, scode, header, data, data_count) 153 144 ); 154 145 155 146 DEFINE_EVENT(async_outbound_complete_template, async_request_outbound_complete, 156 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp), 157 - TP_ARGS(transaction, generation, scode, status, timestamp) 147 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp), 148 + TP_ARGS(transaction, card_index, generation, scode, status, timestamp) 158 149 ); 159 150 160 151 DEFINE_EVENT(async_inbound_template, async_response_inbound, 161 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp, const u32 *header, const u32 *data, unsigned int data_count), 162 - TP_ARGS(transaction, generation, scode, status, timestamp, header, data, data_count) 152 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp, const u32 *header, const u32 *data, unsigned int data_count), 153 + TP_ARGS(transaction, card_index, generation, scode, status, timestamp, header, data, data_count) 163 154 ); 164 155 165 156 DEFINE_EVENT_PRINT(async_inbound_template, async_request_inbound, 166 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp, const u32 *header, const u32 *data, unsigned int data_count), 167 - TP_ARGS(transaction, generation, scode, status, timestamp, header, data, data_count), 157 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp, const u32 *header, const u32 *data, unsigned int data_count), 158 + TP_ARGS(transaction, card_index, generation, scode, status, timestamp, header, data, data_count), 168 159 TP_printk( 169 - "transaction=0x%llx generation=%u scode=%u status=%u timestamp=0x%04x dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x offset=0x%012llx header=%s data=%s", 160 + "transaction=0x%llx card_index=%u generation=%u scode=%u status=%u timestamp=0x%04x dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x offset=0x%012llx header=%s data=%s", 170 161 __entry->transaction, 162 + __entry->card_index, 171 163 __entry->generation, 172 164 __entry->scode, 173 165 __entry->status, ··· 185 175 ); 186 176 187 177 DEFINE_EVENT_PRINT(async_outbound_initiate_template, async_response_outbound_initiate, 188 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, const u32 *header, const u32 *data, unsigned int data_count), 189 - TP_ARGS(transaction, generation, scode, header, data, data_count), 178 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, const u32 *header, const u32 *data, unsigned int data_count), 179 + TP_ARGS(transaction, card_index, generation, scode, header, data, data_count), 190 180 TP_printk( 191 - "transaction=0x%llx generation=%u scode=%u dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x rcode=%u header=%s data=%s", 181 + "transaction=0x%llx card_index=%u generation=%u scode=%u dst_id=0x%04x tlabel=%u tcode=%u src_id=0x%04x rcode=%u header=%s data=%s", 192 182 __entry->transaction, 183 + __entry->card_index, 193 184 __entry->generation, 194 185 __entry->scode, 195 186 ASYNC_HEADER_GET_DESTINATION(__entry->header), ··· 205 194 ); 206 195 207 196 DEFINE_EVENT(async_outbound_complete_template, async_response_outbound_complete, 208 - TP_PROTO(u64 transaction, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp), 209 - TP_ARGS(transaction, generation, scode, status, timestamp) 197 + TP_PROTO(u64 transaction, unsigned int card_index, unsigned int generation, unsigned int scode, unsigned int status, unsigned int timestamp), 198 + TP_ARGS(transaction, card_index, generation, scode, status, timestamp) 210 199 ); 211 200 212 201 #undef ASYNC_HEADER_GET_DESTINATION ··· 217 206 #undef ASYNC_HEADER_GET_RCODE 218 207 219 208 TRACE_EVENT(async_phy_outbound_initiate, 220 - TP_PROTO(u64 packet, unsigned int generation, u32 first_quadlet, u32 second_quadlet), 221 - TP_ARGS(packet, generation, first_quadlet, second_quadlet), 209 + TP_PROTO(u64 packet, unsigned int card_index, unsigned int generation, u32 first_quadlet, u32 second_quadlet), 210 + TP_ARGS(packet, card_index, generation, first_quadlet, second_quadlet), 222 211 TP_STRUCT__entry( 223 212 __field(u64, packet) 213 + __field(u8, card_index) 224 214 __field(u8, generation) 225 215 __field(u32, first_quadlet) 226 216 __field(u32, second_quadlet) 227 217 ), 228 218 TP_fast_assign( 229 219 __entry->packet = packet; 220 + __entry->card_index = card_index; 230 221 __entry->generation = generation; 231 222 __entry->first_quadlet = first_quadlet; 232 223 __entry->second_quadlet = second_quadlet 233 224 ), 234 225 TP_printk( 235 - "packet=0x%llx generation=%u first_quadlet=0x%08x second_quadlet=0x%08x", 226 + "packet=0x%llx card_index=%u generation=%u first_quadlet=0x%08x second_quadlet=0x%08x", 236 227 __entry->packet, 228 + __entry->card_index, 237 229 __entry->generation, 238 230 __entry->first_quadlet, 239 231 __entry->second_quadlet ··· 244 230 ); 245 231 246 232 TRACE_EVENT(async_phy_outbound_complete, 247 - TP_PROTO(u64 packet, unsigned int generation, unsigned int status, unsigned int timestamp), 248 - TP_ARGS(packet, generation, status, timestamp), 233 + TP_PROTO(u64 packet, unsigned int card_index, unsigned int generation, unsigned int status, unsigned int timestamp), 234 + TP_ARGS(packet, card_index, generation, status, timestamp), 249 235 TP_STRUCT__entry( 250 236 __field(u64, packet) 237 + __field(u8, card_index) 251 238 __field(u8, generation) 252 239 __field(u8, status) 253 240 __field(u16, timestamp) 254 241 ), 255 242 TP_fast_assign( 256 243 __entry->packet = packet; 244 + __entry->card_index = card_index; 257 245 __entry->generation = generation; 258 246 __entry->status = status; 259 247 __entry->timestamp = timestamp; 260 248 ), 261 249 TP_printk( 262 - "packet=0x%llx generation=%u status=%u timestamp=0x%04x", 250 + "packet=0x%llx card_index=%u generation=%u status=%u timestamp=0x%04x", 263 251 __entry->packet, 252 + __entry->card_index, 264 253 __entry->generation, 265 254 __entry->status, 266 255 __entry->timestamp ··· 271 254 ); 272 255 273 256 TRACE_EVENT(async_phy_inbound, 274 - TP_PROTO(u64 packet, unsigned int generation, unsigned int status, unsigned int timestamp, u32 first_quadlet, u32 second_quadlet), 275 - TP_ARGS(packet, generation, status, timestamp, first_quadlet, second_quadlet), 257 + TP_PROTO(u64 packet, unsigned int card_index, unsigned int generation, unsigned int status, unsigned int timestamp, u32 first_quadlet, u32 second_quadlet), 258 + TP_ARGS(packet, card_index, generation, status, timestamp, first_quadlet, second_quadlet), 276 259 TP_STRUCT__entry( 277 260 __field(u64, packet) 261 + __field(u8, card_index) 278 262 __field(u8, generation) 279 263 __field(u8, status) 280 264 __field(u16, timestamp) ··· 291 273 __entry->second_quadlet = second_quadlet 292 274 ), 293 275 TP_printk( 294 - "packet=0x%llx generation=%u status=%u timestamp=0x%04x first_quadlet=0x%08x second_quadlet=0x%08x", 276 + "packet=0x%llx card_index=%u generation=%u status=%u timestamp=0x%04x first_quadlet=0x%08x second_quadlet=0x%08x", 295 277 __entry->packet, 278 + __entry->card_index, 296 279 __entry->generation, 297 280 __entry->status, 298 281 __entry->timestamp, ··· 303 284 ); 304 285 305 286 DECLARE_EVENT_CLASS(bus_reset_arrange_template, 306 - TP_PROTO(unsigned int generation, bool short_reset), 307 - TP_ARGS(generation, short_reset), 287 + TP_PROTO(unsigned int card_index, unsigned int generation, bool short_reset), 288 + TP_ARGS(card_index, generation, short_reset), 308 289 TP_STRUCT__entry( 290 + __field(u8, card_index) 309 291 __field(u8, generation) 310 292 __field(bool, short_reset) 311 293 ), 312 294 TP_fast_assign( 295 + __entry->card_index = card_index; 313 296 __entry->generation = generation; 314 297 __entry->short_reset = short_reset; 315 298 ), 316 299 TP_printk( 317 - "generation=%u short_reset=%s", 300 + "card_index=%u generation=%u short_reset=%s", 301 + __entry->card_index, 318 302 __entry->generation, 319 303 __entry->short_reset ? "true" : "false" 320 304 ) 321 305 ); 322 306 323 307 DEFINE_EVENT(bus_reset_arrange_template, bus_reset_initiate, 324 - TP_PROTO(unsigned int generation, bool short_reset), 325 - TP_ARGS(generation, short_reset) 308 + TP_PROTO(unsigned int card_index, unsigned int generation, bool short_reset), 309 + TP_ARGS(card_index, generation, short_reset) 326 310 ); 327 311 328 312 DEFINE_EVENT(bus_reset_arrange_template, bus_reset_schedule, 329 - TP_PROTO(unsigned int generation, bool short_reset), 330 - TP_ARGS(generation, short_reset) 313 + TP_PROTO(unsigned int card_index, unsigned int generation, bool short_reset), 314 + TP_ARGS(card_index, generation, short_reset) 331 315 ); 332 316 333 317 DEFINE_EVENT(bus_reset_arrange_template, bus_reset_postpone, 334 - TP_PROTO(unsigned int generation, bool short_reset), 335 - TP_ARGS(generation, short_reset) 318 + TP_PROTO(unsigned int card_index, unsigned int generation, bool short_reset), 319 + TP_ARGS(card_index, generation, short_reset) 336 320 ); 337 321 338 322 TRACE_EVENT(bus_reset_handle, 339 - TP_PROTO(unsigned int generation, unsigned int node_id, bool bm_abdicate, u32 *self_ids, unsigned int self_id_count), 340 - TP_ARGS(generation, node_id, bm_abdicate, self_ids, self_id_count), 323 + TP_PROTO(unsigned int card_index, unsigned int generation, unsigned int node_id, bool bm_abdicate, u32 *self_ids, unsigned int self_id_count), 324 + TP_ARGS(card_index, generation, node_id, bm_abdicate, self_ids, self_id_count), 341 325 TP_STRUCT__entry( 326 + __field(u8, card_index) 342 327 __field(u8, generation) 343 328 __field(u8, node_id) 344 329 __field(bool, bm_abdicate) 345 330 __dynamic_array(u32, self_ids, self_id_count) 346 331 ), 347 332 TP_fast_assign( 333 + __entry->card_index = card_index; 348 334 __entry->generation = generation; 349 335 __entry->node_id = node_id; 350 336 __entry->bm_abdicate = bm_abdicate; 351 337 memcpy(__get_dynamic_array(self_ids), self_ids, __get_dynamic_array_len(self_ids)); 352 338 ), 353 339 TP_printk( 354 - "generation=%u node_id=0x%04x bm_abdicate=%s self_ids=%s", 340 + "card_index=%u generation=%u node_id=0x%04x bm_abdicate=%s self_ids=%s", 341 + __entry->card_index, 355 342 __entry->generation, 356 343 __entry->node_id, 357 344 __entry->bm_abdicate ? "true" : "false",