KVM/arm64 updates for Linux 5.11 - PSCI relay at EL2 when "protected KVM" is enabled - New exception injection code - Simplification of AArch32 system register handling - Fix PMU accesses when no PMU is enabled - Expose CSV3 on non-Meltdown hosts - Cache hierarchy discovery fixes - PV steal-time cleanups - Allow function pointers at EL2 - Various host EL2 entry cleanups - Simplification of the EL2 vector allocation
Showing the changes to include/uapi/linux (1 of 267 files). Show all
Unified · Split
| @@ -26,7 +26,7 @@ · 25 unmodified lines | ||
| 26 | 26 | * struct gpiochip_info - Information about a certain GPIO chip |
| 27 | 27 | * @name: the Linux kernel name of this GPIO chip |
| 28 | 28 | * @label: a functional name for this GPIO chip, such as a product |
| 29 | − * number, may be empty | |
| 29 | + * number, may be empty (i.e. label[0] == '\0') | |
| 30 | 30 | * @lines: number of GPIO lines on this chip |
| 31 | 31 | */ |
| 32 | 32 | struct gpiochip_info { |
| @@ -98,7 +98,7 @@ struct gpio_v2_line_values { · 65 unmodified lines | ||
| 98 | 98 | * identifying which field of the attribute union is in use. |
| 99 | 99 | * @GPIO_V2_LINE_ATTR_ID_FLAGS: flags field is in use |
| 100 | 100 | * @GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES: values field is in use |
| 101 | − * @GPIO_V2_LINE_ATTR_ID_DEBOUNCE: debounce_period_us is in use | |
| 101 | + * @GPIO_V2_LINE_ATTR_ID_DEBOUNCE: debounce_period_us field is in use | |
| 102 | 102 | */ |
| 103 | 103 | enum gpio_v2_line_attr_id { |
| 104 | 104 | GPIO_V2_LINE_ATTR_ID_FLAGS = 1, |
| @@ -110,17 +110,17 @@ enum gpio_v2_line_attr_id { · 5 unmodified lines | ||
| 110 | 110 | * struct gpio_v2_line_attribute - a configurable attribute of a line |
| 111 | 111 | * @id: attribute identifier with value from &enum gpio_v2_line_attr_id |
| 112 | 112 | * @padding: reserved for future use and must be zero filled |
| 113 | − * @flags: if id is GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO | |
| 114 | − * line, with values from enum gpio_v2_line_flag, such as | |
| 115 | − * GPIO_V2_LINE_FLAG_ACTIVE_LOW, GPIO_V2_LINE_FLAG_OUTPUT etc, OR:ed | |
| 113 | + * @flags: if id is %GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO | |
| 114 | + * line, with values from &enum gpio_v2_line_flag, such as | |
| 115 | + * %GPIO_V2_LINE_FLAG_ACTIVE_LOW, %GPIO_V2_LINE_FLAG_OUTPUT etc, added | |
| 116 | 116 | * together. This overrides the default flags contained in the &struct |
| 117 | 117 | * gpio_v2_line_config for the associated line. |
| 118 | − * @values: if id is GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES, a bitmap | |
| 118 | + * @values: if id is %GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES, a bitmap | |
| 119 | 119 | * containing the values to which the lines will be set, with each bit |
| 120 | 120 | * number corresponding to the index into &struct |
| 121 | 121 | * gpio_v2_line_request.offsets. |
| 122 | − * @debounce_period_us: if id is GPIO_V2_LINE_ATTR_ID_DEBOUNCE, the desired | |
| 123 | − * debounce period, in microseconds | |
| 122 | + * @debounce_period_us: if id is %GPIO_V2_LINE_ATTR_ID_DEBOUNCE, the | |
| 123 | + * desired debounce period, in microseconds | |
| 124 | 124 | */ |
| 125 | 125 | struct gpio_v2_line_attribute { |
| 126 | 126 | __u32 id; |
| @@ -147,12 +147,12 @@ struct gpio_v2_line_config_attribute { · 20 unmodified lines | ||
| 147 | 147 | |
| 148 | 148 | /** |
| 149 | 149 | * struct gpio_v2_line_config - Configuration for GPIO lines |
| 150 | − * @flags: flags for the GPIO lines, with values from enum | |
| 151 | − * gpio_v2_line_flag, such as GPIO_V2_LINE_FLAG_ACTIVE_LOW, | |
| 152 | − * GPIO_V2_LINE_FLAG_OUTPUT etc, OR:ed together. This is the default for | |
| 150 | + * @flags: flags for the GPIO lines, with values from &enum | |
| 151 | + * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW, | |
| 152 | + * %GPIO_V2_LINE_FLAG_OUTPUT etc, added together. This is the default for | |
| 153 | 153 | * all requested lines but may be overridden for particular lines using |
| 154 | − * attrs. | |
| 155 | − * @num_attrs: the number of attributes in attrs | |
| 154 | + * @attrs. | |
| 155 | + * @num_attrs: the number of attributes in @attrs | |
| 156 | 156 | * @padding: reserved for future use and must be zero filled |
| 157 | 157 | * @attrs: the configuration attributes associated with the requested |
| 158 | 158 | * lines. Any attribute should only be associated with a particular line |
| @@ -175,17 +175,17 @@ struct gpio_v2_line_config { · 16 unmodified lines | ||
| 175 | 175 | * "my-bitbanged-relay" |
| 176 | 176 | * @config: requested configuration for the lines. |
| 177 | 177 | * @num_lines: number of lines requested in this request, i.e. the number |
| 178 | − * of valid fields in the GPIO_V2_LINES_MAX sized arrays, set to 1 to | |
| 178 | + * of valid fields in the %GPIO_V2_LINES_MAX sized arrays, set to 1 to | |
| 179 | 179 | * request a single line |
| 180 | 180 | * @event_buffer_size: a suggested minimum number of line events that the |
| 181 | 181 | * kernel should buffer. This is only relevant if edge detection is |
| 182 | 182 | * enabled in the configuration. Note that this is only a suggested value |
| 183 | 183 | * and the kernel may allocate a larger buffer or cap the size of the |
| 184 | 184 | * buffer. If this field is zero then the buffer size defaults to a minimum |
| 185 | − * of num_lines*16. | |
| 185 | + * of @num_lines * 16. | |
| 186 | 186 | * @padding: reserved for future use and must be zero filled |
| 187 | 187 | * @fd: if successful this field will contain a valid anonymous file handle |
| 188 | − * after a GPIO_GET_LINE_IOCTL operation, zero or negative value means | |
| 188 | + * after a %GPIO_GET_LINE_IOCTL operation, zero or negative value means | |
| 189 | 189 | * error |
| 190 | 190 | */ |
| 191 | 191 | struct gpio_v2_line_request { |
| @@ -203,15 +203,16 @@ struct gpio_v2_line_request { · 11 unmodified lines | ||
| 203 | 203 | * struct gpio_v2_line_info - Information about a certain GPIO line |
| 204 | 204 | * @name: the name of this GPIO line, such as the output pin of the line on |
| 205 | 205 | * the chip, a rail or a pin header name on a board, as specified by the |
| 206 | − * GPIO chip, may be empty | |
| 206 | + * GPIO chip, may be empty (i.e. name[0] == '\0') | |
| 207 | 207 | * @consumer: a functional name for the consumer of this GPIO line as set |
| 208 | 208 | * by whatever is using it, will be empty if there is no current user but |
| 209 | 209 | * may also be empty if the consumer doesn't set this up |
| 210 | − * @flags: flags for the GPIO line, such as GPIO_V2_LINE_FLAG_ACTIVE_LOW, | |
| 211 | − * GPIO_V2_LINE_FLAG_OUTPUT etc, OR:ed together | |
| 212 | 210 | * @offset: the local offset on this GPIO chip, fill this in when |
| 213 | 211 | * requesting the line information from the kernel |
| 214 | − * @num_attrs: the number of attributes in attrs | |
| 212 | + * @num_attrs: the number of attributes in @attrs | |
| 213 | + * @flags: flags for the GPIO lines, with values from &enum | |
| 214 | + * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW, | |
| 215 | + * %GPIO_V2_LINE_FLAG_OUTPUT etc, added together. | |
| 215 | 216 | * @attrs: the configuration attributes associated with the line |
| 216 | 217 | * @padding: reserved for future use |
| 217 | 218 | */ |
| @@ -244,7 +245,7 @@ enum gpio_v2_line_changed_type { · 26 unmodified lines | ||
| 244 | 245 | * of a GPIO line |
| 245 | 246 | * @info: updated line information |
| 246 | 247 | * @timestamp_ns: estimate of time of status change occurrence, in nanoseconds |
| 247 | − * @event_type: the type of change with a value from enum | |
| 248 | + * @event_type: the type of change with a value from &enum | |
| 248 | 249 | * gpio_v2_line_changed_type |
| 249 | 250 | * @padding: reserved for future use |
| 250 | 251 | */ |
| @@ -269,10 +270,10 @@ enum gpio_v2_line_event_id { · 18 unmodified lines | ||
| 269 | 270 | /** |
| 270 | 271 | * struct gpio_v2_line_event - The actual event being pushed to userspace |
| 271 | 272 | * @timestamp_ns: best estimate of time of event occurrence, in nanoseconds. |
| 272 | − * The timestamp_ns is read from CLOCK_MONOTONIC and is intended to allow the | |
| 273 | − * accurate measurement of the time between events. It does not provide | |
| 273 | + * The @timestamp_ns is read from %CLOCK_MONOTONIC and is intended to allow | |
| 274 | + * the accurate measurement of the time between events. It does not provide | |
| 274 | 275 | * the wall-clock time. |
| 275 | − * @id: event identifier with value from enum gpio_v2_line_event_id | |
| 276 | + * @id: event identifier with value from &enum gpio_v2_line_event_id | |
| 276 | 277 | * @offset: the offset of the line that triggered the event |
| 277 | 278 | * @seqno: the sequence number for this event in the sequence of events for |
| 278 | 279 | * all the lines in this line request |
| @@ -291,7 +292,7 @@ struct gpio_v2_line_event { · 12 unmodified lines | ||
| 291 | 292 | }; |
| 292 | 293 | |
| 293 | 294 | /* |
| 294 | − * ABI v1 | |
| 295 | + * ABI v1 | |
| 295 | 296 | * |
| 296 | 297 | * This version of the ABI is deprecated. |
| 297 | 298 | * Use the latest version of the ABI, defined above, instead. |
| @@ -314,13 +315,13 @@ struct gpio_v2_line_event { · 16 unmodified lines | ||
| 314 | 315 | * @flags: various flags for this line |
| 315 | 316 | * @name: the name of this GPIO line, such as the output pin of the line on the |
| 316 | 317 | * chip, a rail or a pin header name on a board, as specified by the gpio |
| 317 | − * chip, may be empty | |
| 318 | + * chip, may be empty (i.e. name[0] == '\0') | |
| 318 | 319 | * @consumer: a functional name for the consumer of this GPIO line as set by |
| 319 | 320 | * whatever is using it, will be empty if there is no current user but may |
| 320 | 321 | * also be empty if the consumer doesn't set this up |
| 321 | 322 | * |
| 322 | − * This struct is part of ABI v1 and is deprecated. | |
| 323 | − * Use struct gpio_v2_line_info instead. | |
| 323 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 324 | + * Use &struct gpio_v2_line_info instead. | |
| 324 | 325 | */ |
| 325 | 326 | struct gpioline_info { |
| 326 | 327 | __u32 line_offset; |
| @@ -344,17 +345,18 @@ enum { · 17 unmodified lines | ||
| 344 | 345 | * of a GPIO line |
| 345 | 346 | * @info: updated line information |
| 346 | 347 | * @timestamp: estimate of time of status change occurrence, in nanoseconds |
| 347 | − * @event_type: one of GPIOLINE_CHANGED_REQUESTED, GPIOLINE_CHANGED_RELEASED | |
| 348 | − * and GPIOLINE_CHANGED_CONFIG | |
| 348 | + * @event_type: one of %GPIOLINE_CHANGED_REQUESTED, | |
| 349 | + * %GPIOLINE_CHANGED_RELEASED and %GPIOLINE_CHANGED_CONFIG | |
| 350 | + * @padding: reserved for future use | |
| 349 | 351 | * |
| 350 | − * Note: struct gpioline_info embedded here has 32-bit alignment on its own, | |
| 352 | + * The &struct gpioline_info embedded here has 32-bit alignment on its own, | |
| 351 | 353 | * but it works fine with 64-bit alignment too. With its 72 byte size, we can |
| 352 | 354 | * guarantee there are no implicit holes between it and subsequent members. |
| 353 | 355 | * The 20-byte padding at the end makes sure we don't add any implicit padding |
| 354 | 356 | * at the end of the structure on 64-bit architectures. |
| 355 | 357 | * |
| 356 | − * This struct is part of ABI v1 and is deprecated. | |
| 357 | − * Use struct gpio_v2_line_info_changed instead. | |
| 358 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 359 | + * Use &struct gpio_v2_line_info_changed instead. | |
| 358 | 360 | */ |
| 359 | 361 | struct gpioline_info_changed { |
| 360 | 362 | struct gpioline_info info; |
| @@ -378,13 +380,13 @@ struct gpioline_info_changed { · 17 unmodified lines | ||
| 378 | 380 | * @lineoffsets: an array of desired lines, specified by offset index for the |
| 379 | 381 | * associated GPIO device |
| 380 | 382 | * @flags: desired flags for the desired GPIO lines, such as |
| 381 | − * GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_ACTIVE_LOW etc, OR:ed | |
| 383 | + * %GPIOHANDLE_REQUEST_OUTPUT, %GPIOHANDLE_REQUEST_ACTIVE_LOW etc, added | |
| 382 | 384 | * together. Note that even if multiple lines are requested, the same flags |
| 383 | 385 | * must be applicable to all of them, if you want lines with individual |
| 384 | 386 | * flags set, request them one by one. It is possible to select |
| 385 | 387 | * a batch of input or output lines, but they must all have the same |
| 386 | 388 | * characteristics, i.e. all inputs or all outputs, all active low etc |
| 387 | − * @default_values: if the GPIOHANDLE_REQUEST_OUTPUT is set for a requested | |
| 389 | + * @default_values: if the %GPIOHANDLE_REQUEST_OUTPUT is set for a requested | |
| 388 | 390 | * line, this specifies the default output value, should be 0 (low) or |
| 389 | 391 | * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high) |
| 390 | 392 | * @consumer_label: a desired consumer label for the selected GPIO line(s) |
| @@ -392,11 +394,11 @@ struct gpioline_info_changed { · 1 unmodified line | ||
| 392 | 394 | * @lines: number of lines requested in this request, i.e. the number of |
| 393 | 395 | * valid fields in the above arrays, set to 1 to request a single line |
| 394 | 396 | * @fd: if successful this field will contain a valid anonymous file handle |
| 395 | − * after a GPIO_GET_LINEHANDLE_IOCTL operation, zero or negative value | |
| 397 | + * after a %GPIO_GET_LINEHANDLE_IOCTL operation, zero or negative value | |
| 396 | 398 | * means error |
| 397 | 399 | * |
| 398 | − * This struct is part of ABI v1 and is deprecated. | |
| 399 | − * Use struct gpio_v2_line_request instead. | |
| 400 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 401 | + * Use &struct gpio_v2_line_request instead. | |
| 400 | 402 | */ |
| 401 | 403 | struct gpiohandle_request { |
| 402 | 404 | __u32 lineoffsets[GPIOHANDLES_MAX]; |
| @@ -410,15 +412,15 @@ struct gpiohandle_request { · 7 unmodified lines | ||
| 410 | 412 | /** |
| 411 | 413 | * struct gpiohandle_config - Configuration for a GPIO handle request |
| 412 | 414 | * @flags: updated flags for the requested GPIO lines, such as |
| 413 | − * GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_ACTIVE_LOW etc, OR:ed | |
| 415 | + * %GPIOHANDLE_REQUEST_OUTPUT, %GPIOHANDLE_REQUEST_ACTIVE_LOW etc, added | |
| 414 | 416 | * together |
| 415 | − * @default_values: if the GPIOHANDLE_REQUEST_OUTPUT is set in flags, | |
| 417 | + * @default_values: if the %GPIOHANDLE_REQUEST_OUTPUT is set in flags, | |
| 416 | 418 | * this specifies the default output value, should be 0 (low) or |
| 417 | 419 | * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high) |
| 418 | 420 | * @padding: reserved for future use and should be zero filled |
| 419 | 421 | * |
| 420 | − * This struct is part of ABI v1 and is deprecated. | |
| 421 | − * Use struct gpio_v2_line_config instead. | |
| 422 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 423 | + * Use &struct gpio_v2_line_config instead. | |
| 422 | 424 | */ |
| 423 | 425 | struct gpiohandle_config { |
| 424 | 426 | __u32 flags; |
| @@ -432,8 +434,8 @@ struct gpiohandle_config { · 7 unmodified lines | ||
| 432 | 434 | * state of a line, when setting the state of lines these should contain |
| 433 | 435 | * the desired target state |
| 434 | 436 | * |
| 435 | − * This struct is part of ABI v1 and is deprecated. | |
| 436 | − * Use struct gpio_v2_line_values instead. | |
| 437 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 438 | + * Use &struct gpio_v2_line_values instead. | |
| 437 | 439 | */ |
| 438 | 440 | struct gpiohandle_data { |
| 439 | 441 | __u8 values[GPIOHANDLES_MAX]; |
| @@ -449,17 +451,17 @@ struct gpiohandle_data { · 9 unmodified lines | ||
| 449 | 451 | * @lineoffset: the desired line to subscribe to events from, specified by |
| 450 | 452 | * offset index for the associated GPIO device |
| 451 | 453 | * @handleflags: desired handle flags for the desired GPIO line, such as |
| 452 | − * GPIOHANDLE_REQUEST_ACTIVE_LOW or GPIOHANDLE_REQUEST_OPEN_DRAIN | |
| 454 | + * %GPIOHANDLE_REQUEST_ACTIVE_LOW or %GPIOHANDLE_REQUEST_OPEN_DRAIN | |
| 453 | 455 | * @eventflags: desired flags for the desired GPIO event line, such as |
| 454 | − * GPIOEVENT_REQUEST_RISING_EDGE or GPIOEVENT_REQUEST_FALLING_EDGE | |
| 456 | + * %GPIOEVENT_REQUEST_RISING_EDGE or %GPIOEVENT_REQUEST_FALLING_EDGE | |
| 455 | 457 | * @consumer_label: a desired consumer label for the selected GPIO line(s) |
| 456 | 458 | * such as "my-listener" |
| 457 | 459 | * @fd: if successful this field will contain a valid anonymous file handle |
| 458 | − * after a GPIO_GET_LINEEVENT_IOCTL operation, zero or negative value | |
| 460 | + * after a %GPIO_GET_LINEEVENT_IOCTL operation, zero or negative value | |
| 459 | 461 | * means error |
| 460 | 462 | * |
| 461 | − * This struct is part of ABI v1 and is deprecated. | |
| 462 | − * Use struct gpio_v2_line_request instead. | |
| 463 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 464 | + * Use &struct gpio_v2_line_request instead. | |
| 463 | 465 | */ |
| 464 | 466 | struct gpioevent_request { |
| 465 | 467 | __u32 lineoffset; |
| @@ -469,7 +471,7 @@ struct gpioevent_request { · 3 unmodified lines | ||
| 469 | 471 | int fd; |
| 470 | 472 | }; |
| 471 | 473 | |
| 472 | −/** | |
| 474 | +/* | |
| 473 | 475 | * GPIO event types |
| 474 | 476 | */ |
| 475 | 477 | #define GPIOEVENT_EVENT_RISING_EDGE 0x01 |
| @@ -480,8 +482,8 @@ struct gpioevent_request { · 4 unmodified lines | ||
| 480 | 482 | * @timestamp: best estimate of time of event occurrence, in nanoseconds |
| 481 | 483 | * @id: event identifier |
| 482 | 484 | * |
| 483 | − * This struct is part of ABI v1 and is deprecated. | |
| 484 | − * Use struct gpio_v2_line_event instead. | |
| 485 | + * Note: This struct is part of ABI v1 and is deprecated. | |
| 486 | + * Use &struct gpio_v2_line_event instead. | |
| 485 | 487 | */ |
| 486 | 488 | struct gpioevent_data { |
| 487 | 489 | __u64 timestamp; |