Squashed backup commit (no shallow-clone history issues) of xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream commit 9eece662e) plus all fixes applied to get everpal_defconfig building clean against a modern (GCC 15.2.0) toolchain -- see the previous commit message on the lineage-23.2 branch (also in this repo history is not available here since this is a squashed snapshot; full incremental history lives in the local DL380 checkout and the upstream GitHub remote). Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
/*
|
|
* HTC PASIC3 driver - LEDs and DS1WM
|
|
*
|
|
* Copyright (c) 2007 Philipp Zabel <philipp.zabel@gmail.com>
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file COPYING in the main directory of this archive for
|
|
* more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef __PASIC3_H
|
|
#define __PASIC3_H
|
|
|
|
#include <linux/platform_device.h>
|
|
#include <linux/leds.h>
|
|
|
|
extern void pasic3_write_register(struct device *dev, u32 reg, u8 val);
|
|
extern u8 pasic3_read_register(struct device *dev, u32 reg);
|
|
|
|
/*
|
|
* mask for registers 0x20,0x21,0x22
|
|
*/
|
|
#define PASIC3_MASK_LED0 0x04
|
|
#define PASIC3_MASK_LED1 0x08
|
|
#define PASIC3_MASK_LED2 0x40
|
|
|
|
/*
|
|
* bits in register 0x06
|
|
*/
|
|
#define PASIC3_BIT2_LED0 0x08
|
|
#define PASIC3_BIT2_LED1 0x10
|
|
#define PASIC3_BIT2_LED2 0x20
|
|
|
|
struct pasic3_led {
|
|
struct led_classdev led;
|
|
unsigned int hw_num;
|
|
unsigned int bit2;
|
|
unsigned int mask;
|
|
struct pasic3_leds_machinfo *pdata;
|
|
};
|
|
|
|
struct pasic3_leds_machinfo {
|
|
unsigned int num_leds;
|
|
unsigned int power_gpio;
|
|
struct pasic3_led *leds;
|
|
};
|
|
|
|
struct pasic3_platform_data {
|
|
struct pasic3_leds_machinfo *led_pdata;
|
|
unsigned int clock_rate;
|
|
};
|
|
|
|
#endif
|