linux/drivers/platform/chrome/chromeos_laptop.c

// SPDX-License-Identifier: GPL-2.0+
// Driver to instantiate Chromebook i2c/smbus devices.
//
// Copyright (C) 2012 Google, Inc.
// Author: Benson Leung <[email protected]>

#define pr_fmt(fmt)

#include <linux/acpi.h>
#include <linux/dmi.h>
#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/property.h>

#define ATMEL_TP_I2C_ADDR
#define ATMEL_TP_I2C_BL_ADDR
#define ATMEL_TS_I2C_ADDR
#define ATMEL_TS_I2C_BL_ADDR
#define CYAPA_TP_I2C_ADDR
#define ELAN_TP_I2C_ADDR
#define ISL_ALS_I2C_ADDR
#define TAOS_ALS_I2C_ADDR

static const char *i2c_adapter_names[] =;

/* Keep this enum consistent with i2c_adapter_names */
enum i2c_adapter_type {};

struct i2c_peripheral {};

struct acpi_peripheral {};

struct chromeos_laptop {};

static const struct chromeos_laptop *cros_laptop;

static struct i2c_client *
chromes_laptop_instantiate_i2c_device(struct i2c_adapter *adapter,
				      struct i2c_board_info *info,
				      unsigned short alt_addr)
{}

static bool chromeos_laptop_match_adapter_devid(struct device *dev, u32 devid)
{}

static void chromeos_laptop_check_adapter(struct i2c_adapter *adapter)
{}

static bool chromeos_laptop_adjust_client(struct i2c_client *client)
{}

static void chromeos_laptop_detach_i2c_client(struct i2c_client *client)
{}

static int chromeos_laptop_i2c_notifier_call(struct notifier_block *nb,
					     unsigned long action, void *data)
{}

static struct notifier_block chromeos_laptop_i2c_notifier =;

#define DECLARE_CROS_LAPTOP(_name)

#define DECLARE_ACPI_CROS_LAPTOP(_name)

static struct i2c_peripheral samsung_series_5_550_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral samsung_series_5_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static const int chromebook_pixel_tp_keys[] __initconst =;

static const struct property_entry
chromebook_pixel_trackpad_props[] __initconst =;

static const struct property_entry
chromebook_atmel_touchscreen_props[] __initconst =;

static struct i2c_peripheral chromebook_pixel_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral hp_chromebook_14_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral dell_chromebook_11_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral toshiba_cb35_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral acer_c7_chromebook_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral acer_ac700_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral acer_c720_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral
hp_pavilion_14_chromebook_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static struct i2c_peripheral cr48_peripherals[] __initdata =;
DECLARE_CROS_LAPTOP();

static const u32 samus_touchpad_buttons[] __initconst =;

static const struct property_entry samus_trackpad_props[] __initconst =;

static struct acpi_peripheral samus_peripherals[] __initdata =;
DECLARE_ACPI_CROS_LAPTOP();

static struct acpi_peripheral generic_atmel_peripherals[] __initdata =;
DECLARE_ACPI_CROS_LAPTOP();

static const struct dmi_system_id chromeos_laptop_dmi_table[] __initconst =;
MODULE_DEVICE_TABLE(dmi, chromeos_laptop_dmi_table);

static int __init chromeos_laptop_scan_peripherals(struct device *dev, void *data)
{}

static int __init chromeos_laptop_get_irq_from_dmi(const char *dmi_name)
{}

static int __init chromeos_laptop_setup_irq(struct i2c_peripheral *i2c_dev)
{}

static int __init
chromeos_laptop_prepare_i2c_peripherals(struct chromeos_laptop *cros_laptop,
					const struct chromeos_laptop *src)
{}

static int __init
chromeos_laptop_prepare_acpi_peripherals(struct chromeos_laptop *cros_laptop,
					const struct chromeos_laptop *src)
{}

static void chromeos_laptop_destroy(const struct chromeos_laptop *cros_laptop)
{}

static struct chromeos_laptop * __init
chromeos_laptop_prepare(const struct chromeos_laptop *src)
{}

static int __init chromeos_laptop_init(void)
{}

static void __exit chromeos_laptop_exit(void)
{}

module_init();
module_exit(chromeos_laptop_exit);

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