linux/drivers/platform/x86/sel3350-platform.c

// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
/*
 * Copyright 2023 Schweitzer Engineering Laboratories, Inc.
 * 2350 NE Hopkins Court, Pullman, WA 99163 USA
 *
 * Platform support for the b2093 mainboard used in SEL-3350 computers.
 * Consumes GPIO from the SoC to provide standard LED and power supply
 * devices.
 */

#include <linux/acpi.h>
#include <linux/gpio/consumer.h>
#include <linux/gpio/machine.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/power_supply.h>

/* Broxton communities */
#define BXT_NW
#define BXT_W
#define BXT_SW

#define B2093_GPIO_ACPI_ID

#define SEL_PS_A
#define SEL_PS_A_DETECT
#define SEL_PS_A_GOOD
#define SEL_PS_B
#define SEL_PS_B_DETECT
#define SEL_PS_B_GOOD

/* LEDs */
static const struct gpio_led sel3350_leds[] =;

static const struct gpio_led_platform_data sel3350_leds_pdata =;

/* Map GPIOs to LEDs */
static struct gpiod_lookup_table sel3350_leds_table =;

/* Map GPIOs to power supplies */
static struct gpiod_lookup_table sel3350_gpios_table =;

/* Power Supplies */

struct sel3350_power_cfg_data {};

static int sel3350_power_get_property(struct power_supply *psy,
				      enum power_supply_property psp,
				      union power_supply_propval *val)
{}

static const enum power_supply_property sel3350_power_properties[] =;

static const struct power_supply_desc sel3350_ps_a_desc =;

static const struct power_supply_desc sel3350_ps_b_desc =;

struct sel3350_data {};

static int sel3350_probe(struct platform_device *pdev)
{}

static void sel3350_remove(struct platform_device *pdev)
{}

static const struct acpi_device_id sel3350_device_ids[] =;
MODULE_DEVICE_TABLE(acpi, sel3350_device_ids);

static struct platform_driver sel3350_platform_driver =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_SOFTDEP();