Lines Matching +full:e +full:- +full:book

1 // SPDX-License-Identifier: GPL-2.0+
5 * Registry for non-platform/non-ACPI SSAM client devices, i.e. devices that
6 * cannot be auto-detected. Provides device-hubs and performs instantiation
9 * Copyright (C) 2020-2022 Maximilian Luz <luzmaximilian@gmail.com>
23 /* -- Device registry. ------------------------------------------------------ */
28 * function, each encoded as two-digit hexadecimal, separated by ':'. In other
33 * Where, 'dd', 'cc', 'tt', 'ii', and 'ff' are the two-digit hexadecimal
44 .name = "ssam:00:00:01:0e:00",
48 /* Base device hub (devices attached to Surface Book 3 base). */
66 /* Secondary battery (Surface Book 3). */
72 /* Platform profile / performance-mode device without a fan. */
78 /* Platform profile / performance-mode device with a fan, such that
104 /* Tablet-mode switch via KIP subsystem. */
106 .name = "ssam:01:0e:01:00:01",
110 /* DTX / detachment-system device (Surface Book 3). */
212 /* HID device instance 5 (KIP hub, type-cover firmware update). */
218 /* Tablet-mode switch via POS subsystem. */
225 * Devices for 5th- and 6th-generations models:
226 * - Surface Book 2,
227 * - Surface Laptop 1 and 2,
228 * - Surface Pro 5 and 6.
236 /* Devices for Surface Book 3. */
394 /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
418 /* Surface Book 2 */
421 /* Surface Book 3 */
480 nodes = (const struct software_node **)acpi_device_get_match_data(&pdev->dev); in ssam_platform_hub_probe()
484 return -ENODEV; in ssam_platform_hub_probe()
489 return -ENODEV; in ssam_platform_hub_probe()
491 nodes = (const struct software_node **)match->data; in ssam_platform_hub_probe()
493 return -ENODEV; in ssam_platform_hub_probe()
503 ctrl = ssam_client_bind(&pdev->dev); in ssam_platform_hub_probe()
505 return PTR_ERR(ctrl) == -ENODEV ? -EPROBE_DEFER : PTR_ERR(ctrl); in ssam_platform_hub_probe()
514 return -ENOENT; in ssam_platform_hub_probe()
517 set_secondary_fwnode(&pdev->dev, root); in ssam_platform_hub_probe()
519 status = __ssam_register_clients(&pdev->dev, ctrl, root); in ssam_platform_hub_probe()
521 set_secondary_fwnode(&pdev->dev, NULL); in ssam_platform_hub_probe()
533 ssam_remove_clients(&pdev->dev); in ssam_platform_hub_remove()
534 set_secondary_fwnode(&pdev->dev, NULL); in ssam_platform_hub_remove()
551 MODULE_DESCRIPTION("Device-registry for Surface System Aggregator Module");