leds: PM8058 HTC Specific
diff --git a/include/linux/leds-pm8058.h b/include/linux/leds-pm8058.h
new file mode 100644
index 0000000..5c8decd
--- /dev/null
+++ b/include/linux/leds-pm8058.h
@@ -0,0 +1,89 @@
+/* include/linux/leds-pm8058.h
+ *
+ * Copyright (C) 2009 HTC Corporation.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef _LINUX_LEDS_PM8058_H
+#define _LINUX_LEDS_PM8058_H
+
+#include <linux/leds.h>
+#include <linux/workqueue.h>
+#include <linux/android_alarm.h>
+
+#define PM_PWM_CLK_1KHZ 0
+#define PM_PWM_CLK_32KHZ 1
+#define PM_PWM_CLK_19P2MHZ 2
+
+#define PM_PWM_PREDIVIDE_2 0
+#define PM_PWM_PREDIVIDE_3 1
+#define PM_PWM_PREDIVIDE_5 2
+#define PM_PWM_PREDIVIDE_6 3
+
+#define PM8058_LED_RGB (1 << 0)
+#define PM8058_LED_PWM (1 << 1)
+#define PM8058_LED_CURRENT (1 << 2)
+#define PM8058_LED_DRVX (1 << 3)
+
+#define PM8058_LED_LTU_EN (1 << 0)
+#define PM8058_LED_FADE_EN (1 << 1)
+#define PM8058_LED_BLINK_EN (1 << 2)
+#define PM8058_LED_DYNAMIC_BRIGHTNESS_EN (1 << 3)
+
+struct pm8058_led_config {
+ const char *name;
+ uint32_t type;
+ int bank;
+ int flags;
+ int pwm_size;
+ int clk;
+ int pre_div;
+ int pre_div_exp;
+ int pwm_value;
+ int period_us;
+ int start_index;
+ int duites_size;
+ int duty_time_ms;
+ int lut_flag;
+ int out_current;
+};
+
+struct pm8058_led_platform_data {
+ struct pm8058_led_config *led_config;
+ int num_leds;
+ int duties[64];
+};
+
+struct pm8058_led_data {
+ struct led_classdev ldev;
+ struct pm8058_led_config *led_config;
+ enum led_brightness brightness;
+ struct pwm_device *pwm_led;
+ struct alarm led_alarm;
+ struct work_struct led_work;
+ struct delayed_work led_delayed_work;
+ int bank;
+ int flags;
+ int pwm_size;
+ int clk;
+ int pre_div;
+ int pre_div_exp;
+ int pwm_value;
+ int period_us;
+ int start_index;
+ int duites_size;
+ int duty_time_ms;
+ int lut_flag;
+ int out_current;
+};
+void pm8xxx_led_current_set_for_key (int brightness_key);
+#endif