device_sysfs.c (75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37) | device_sysfs.c (0f39ee8324e75c9d370e84a61323ceb194641a18) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * drivers/acpi/device_sysfs.c - ACPI device sysfs attributes and modalias. 4 * 5 * Copyright (C) 2015, Intel Corp. 6 * Author: Mika Westerberg <mika.westerberg@linux.intel.com> 7 * Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> 8 * --- 319 unchanged lines hidden (view full) --- 328 */ 329int acpi_device_modalias(struct device *dev, char *buf, int size) 330{ 331 return __acpi_device_modalias(acpi_companion_match(dev), buf, size); 332} 333EXPORT_SYMBOL_GPL(acpi_device_modalias); 334 335static ssize_t | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * drivers/acpi/device_sysfs.c - ACPI device sysfs attributes and modalias. 4 * 5 * Copyright (C) 2015, Intel Corp. 6 * Author: Mika Westerberg <mika.westerberg@linux.intel.com> 7 * Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> 8 * --- 319 unchanged lines hidden (view full) --- 328 */ 329int acpi_device_modalias(struct device *dev, char *buf, int size) 330{ 331 return __acpi_device_modalias(acpi_companion_match(dev), buf, size); 332} 333EXPORT_SYMBOL_GPL(acpi_device_modalias); 334 335static ssize_t |
336acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, char *buf) | 336modalias_show(struct device *dev, struct device_attribute *attr, char *buf) |
337{ 338 return __acpi_device_modalias(to_acpi_device(dev), buf, 1024); 339} | 337{ 338 return __acpi_device_modalias(to_acpi_device(dev), buf, 1024); 339} |
340static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL); | 340static DEVICE_ATTR_RO(modalias); |
341 342static ssize_t real_power_state_show(struct device *dev, 343 struct device_attribute *attr, char *buf) 344{ 345 struct acpi_device *adev = to_acpi_device(dev); 346 int state; 347 int ret; 348 --- 12 unchanged lines hidden (view full) --- 361 struct acpi_device *adev = to_acpi_device(dev); 362 363 return sprintf(buf, "%s\n", acpi_power_state_string(adev->power.state)); 364} 365 366static DEVICE_ATTR_RO(power_state); 367 368static ssize_t | 341 342static ssize_t real_power_state_show(struct device *dev, 343 struct device_attribute *attr, char *buf) 344{ 345 struct acpi_device *adev = to_acpi_device(dev); 346 int state; 347 int ret; 348 --- 12 unchanged lines hidden (view full) --- 361 struct acpi_device *adev = to_acpi_device(dev); 362 363 return sprintf(buf, "%s\n", acpi_power_state_string(adev->power.state)); 364} 365 366static DEVICE_ATTR_RO(power_state); 367 368static ssize_t |
369acpi_eject_store(struct device *d, struct device_attribute *attr, 370 const char *buf, size_t count) | 369eject_store(struct device *d, struct device_attribute *attr, 370 const char *buf, size_t count) |
371{ 372 struct acpi_device *acpi_device = to_acpi_device(d); 373 acpi_object_type not_used; 374 acpi_status status; 375 376 if (!count || buf[0] != '1') 377 return -EINVAL; 378 --- 11 unchanged lines hidden (view full) --- 390 return count; 391 392 put_device(&acpi_device->dev); 393 acpi_evaluate_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT, 394 ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL); 395 return status == AE_NO_MEMORY ? -ENOMEM : -EAGAIN; 396} 397 | 371{ 372 struct acpi_device *acpi_device = to_acpi_device(d); 373 acpi_object_type not_used; 374 acpi_status status; 375 376 if (!count || buf[0] != '1') 377 return -EINVAL; 378 --- 11 unchanged lines hidden (view full) --- 390 return count; 391 392 put_device(&acpi_device->dev); 393 acpi_evaluate_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT, 394 ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL); 395 return status == AE_NO_MEMORY ? -ENOMEM : -EAGAIN; 396} 397 |
398static DEVICE_ATTR(eject, 0200, NULL, acpi_eject_store); | 398static DEVICE_ATTR_WO(eject); |
399 400static ssize_t | 399 400static ssize_t |
401acpi_device_hid_show(struct device *dev, struct device_attribute *attr, char *buf) | 401hid_show(struct device *dev, struct device_attribute *attr, char *buf) |
402{ 403 struct acpi_device *acpi_dev = to_acpi_device(dev); 404 405 return sprintf(buf, "%s\n", acpi_device_hid(acpi_dev)); 406} | 402{ 403 struct acpi_device *acpi_dev = to_acpi_device(dev); 404 405 return sprintf(buf, "%s\n", acpi_device_hid(acpi_dev)); 406} |
407static DEVICE_ATTR(hid, 0444, acpi_device_hid_show, NULL); | 407static DEVICE_ATTR_RO(hid); |
408 | 408 |
409static ssize_t acpi_device_uid_show(struct device *dev, 410 struct device_attribute *attr, char *buf) | 409static ssize_t uid_show(struct device *dev, 410 struct device_attribute *attr, char *buf) |
411{ 412 struct acpi_device *acpi_dev = to_acpi_device(dev); 413 414 return sprintf(buf, "%s\n", acpi_dev->pnp.unique_id); 415} | 411{ 412 struct acpi_device *acpi_dev = to_acpi_device(dev); 413 414 return sprintf(buf, "%s\n", acpi_dev->pnp.unique_id); 415} |
416static DEVICE_ATTR(uid, 0444, acpi_device_uid_show, NULL); | 416static DEVICE_ATTR_RO(uid); |
417 | 417 |
418static ssize_t acpi_device_adr_show(struct device *dev, 419 struct device_attribute *attr, char *buf) | 418static ssize_t adr_show(struct device *dev, 419 struct device_attribute *attr, char *buf) |
420{ 421 struct acpi_device *acpi_dev = to_acpi_device(dev); 422 423 if (acpi_dev->pnp.bus_address > U32_MAX) 424 return sprintf(buf, "0x%016llx\n", acpi_dev->pnp.bus_address); 425 else 426 return sprintf(buf, "0x%08llx\n", acpi_dev->pnp.bus_address); 427} | 420{ 421 struct acpi_device *acpi_dev = to_acpi_device(dev); 422 423 if (acpi_dev->pnp.bus_address > U32_MAX) 424 return sprintf(buf, "0x%016llx\n", acpi_dev->pnp.bus_address); 425 else 426 return sprintf(buf, "0x%08llx\n", acpi_dev->pnp.bus_address); 427} |
428static DEVICE_ATTR(adr, 0444, acpi_device_adr_show, NULL); | 428static DEVICE_ATTR_RO(adr); |
429 | 429 |
430static ssize_t acpi_device_path_show(struct device *dev, 431 struct device_attribute *attr, char *buf) | 430static ssize_t path_show(struct device *dev, 431 struct device_attribute *attr, char *buf) |
432{ 433 struct acpi_device *acpi_dev = to_acpi_device(dev); 434 435 return acpi_object_path(acpi_dev->handle, buf); 436} | 432{ 433 struct acpi_device *acpi_dev = to_acpi_device(dev); 434 435 return acpi_object_path(acpi_dev->handle, buf); 436} |
437static DEVICE_ATTR(path, 0444, acpi_device_path_show, NULL); | 437static DEVICE_ATTR_RO(path); |
438 439/* sysfs file that shows description text from the ACPI _STR method */ 440static ssize_t description_show(struct device *dev, 441 struct device_attribute *attr, 442 char *buf) { 443 struct acpi_device *acpi_dev = to_acpi_device(dev); 444 int result; 445 --- 12 unchanged lines hidden (view full) --- 458 459 buf[result++] = '\n'; 460 461 return result; 462} 463static DEVICE_ATTR_RO(description); 464 465static ssize_t | 438 439/* sysfs file that shows description text from the ACPI _STR method */ 440static ssize_t description_show(struct device *dev, 441 struct device_attribute *attr, 442 char *buf) { 443 struct acpi_device *acpi_dev = to_acpi_device(dev); 444 int result; 445 --- 12 unchanged lines hidden (view full) --- 458 459 buf[result++] = '\n'; 460 461 return result; 462} 463static DEVICE_ATTR_RO(description); 464 465static ssize_t |
466acpi_device_sun_show(struct device *dev, struct device_attribute *attr, 467 char *buf) { | 466sun_show(struct device *dev, struct device_attribute *attr, 467 char *buf) { |
468 struct acpi_device *acpi_dev = to_acpi_device(dev); 469 acpi_status status; 470 unsigned long long sun; 471 472 status = acpi_evaluate_integer(acpi_dev->handle, "_SUN", NULL, &sun); 473 if (ACPI_FAILURE(status)) 474 return -EIO; 475 476 return sprintf(buf, "%llu\n", sun); 477} | 468 struct acpi_device *acpi_dev = to_acpi_device(dev); 469 acpi_status status; 470 unsigned long long sun; 471 472 status = acpi_evaluate_integer(acpi_dev->handle, "_SUN", NULL, &sun); 473 if (ACPI_FAILURE(status)) 474 return -EIO; 475 476 return sprintf(buf, "%llu\n", sun); 477} |
478static DEVICE_ATTR(sun, 0444, acpi_device_sun_show, NULL); | 478static DEVICE_ATTR_RO(sun); |
479 480static ssize_t | 479 480static ssize_t |
481acpi_device_hrv_show(struct device *dev, struct device_attribute *attr, 482 char *buf) { | 481hrv_show(struct device *dev, struct device_attribute *attr, 482 char *buf) { |
483 struct acpi_device *acpi_dev = to_acpi_device(dev); 484 acpi_status status; 485 unsigned long long hrv; 486 487 status = acpi_evaluate_integer(acpi_dev->handle, "_HRV", NULL, &hrv); 488 if (ACPI_FAILURE(status)) 489 return -EIO; 490 491 return sprintf(buf, "%llu\n", hrv); 492} | 483 struct acpi_device *acpi_dev = to_acpi_device(dev); 484 acpi_status status; 485 unsigned long long hrv; 486 487 status = acpi_evaluate_integer(acpi_dev->handle, "_HRV", NULL, &hrv); 488 if (ACPI_FAILURE(status)) 489 return -EIO; 490 491 return sprintf(buf, "%llu\n", hrv); 492} |
493static DEVICE_ATTR(hrv, 0444, acpi_device_hrv_show, NULL); | 493static DEVICE_ATTR_RO(hrv); |
494 495static ssize_t status_show(struct device *dev, struct device_attribute *attr, 496 char *buf) { 497 struct acpi_device *acpi_dev = to_acpi_device(dev); 498 acpi_status status; 499 unsigned long long sta; 500 501 status = acpi_evaluate_integer(acpi_dev->handle, "_STA", NULL, &sta); --- 144 unchanged lines hidden --- | 494 495static ssize_t status_show(struct device *dev, struct device_attribute *attr, 496 char *buf) { 497 struct acpi_device *acpi_dev = to_acpi_device(dev); 498 acpi_status status; 499 unsigned long long sta; 500 501 status = acpi_evaluate_integer(acpi_dev->handle, "_STA", NULL, &sta); --- 144 unchanged lines hidden --- |