← Back to team overview

ac100 team mailing list archive

[PATCH] staging: nvec: coding style fixes / add copyright notice

 

This patch fixes coding style and adds copyright notices.

Signed-off-by: Marc Dietrich <marvin24@xxxxxx>
---
 drivers/staging/nvec/TODO            |    7 +-
 drivers/staging/nvec/nvec-keytable.h |  225 +++++++++++++---------
 drivers/staging/nvec/nvec.c          |  193 ++++++++++---------
 drivers/staging/nvec/nvec.h          |   38 +++-
 drivers/staging/nvec/nvec_kbd.c      |   56 ++++--
 drivers/staging/nvec/nvec_power.c    |  350 +++++++++++++++++-----------------
 drivers/staging/nvec/nvec_ps2.c      |   88 +++++----
 7 files changed, 530 insertions(+), 427 deletions(-)

diff --git a/drivers/staging/nvec/TODO b/drivers/staging/nvec/TODO
index 77b47f7..4cdd67b 100644
--- a/drivers/staging/nvec/TODO
+++ b/drivers/staging/nvec/TODO
@@ -1,8 +1,3 @@
 ToDo list (incomplete, unordered)
-	- convert mouse, keyboard, and power to platform devices
-	- add copyright / driver author / license
 	- add compile as module support
-	- move nvec devices to mfd cells?
-	- adjust to kernel style
-
-
+	- move half of the nvec init stuff to i2c-tegra.c
diff --git a/drivers/staging/nvec/nvec-keytable.h b/drivers/staging/nvec/nvec-keytable.h
index 6a1c4f7..1dc22cb 100644
--- a/drivers/staging/nvec/nvec-keytable.h
+++ b/drivers/staging/nvec/nvec-keytable.h
@@ -22,7 +22,8 @@
  */
 
 static unsigned short code_tab_102us[] = {
-	KEY_GRAVE,	// 0x00
+	/* 0x00 */
+	KEY_GRAVE,
 	KEY_ESC,
 	KEY_1,
 	KEY_2,
@@ -38,7 +39,8 @@ static unsigned short code_tab_102us[] = {
 	KEY_EQUAL,
 	KEY_BACKSPACE,
 	KEY_TAB,
-	KEY_Q,		// 0x10
+	/* 0x10 */
+	KEY_Q,
 	KEY_W,
 	KEY_E,
 	KEY_R,
@@ -54,7 +56,8 @@ static unsigned short code_tab_102us[] = {
 	KEY_LEFTCTRL,
 	KEY_A,
 	KEY_S,
-	KEY_D,		// 0x20
+	/* 0x20 */
+	KEY_D,
 	KEY_F,
 	KEY_G,
 	KEY_H,
@@ -70,7 +73,8 @@ static unsigned short code_tab_102us[] = {
 	KEY_X,
 	KEY_C,
 	KEY_V,
-	KEY_B,		// 0x30
+	/* 0x30 */
+	KEY_B,
 	KEY_N,
 	KEY_M,
 	KEY_COMMA,
@@ -86,13 +90,15 @@ static unsigned short code_tab_102us[] = {
 	KEY_F3,
 	KEY_F4,
 	KEY_F5,
-	KEY_F6,		// 0x40
+	/* 0x40 */
+	KEY_F6,
 	KEY_F7,
 	KEY_F8,
 	KEY_F9,
 	KEY_F10,
 	KEY_FN,
-	0,		//VK_SCROLL
+	/* VK_SCROLL */
+	0,
 	KEY_KP7,
 	KEY_KP8,
 	KEY_KP9,
@@ -102,52 +108,57 @@ static unsigned short code_tab_102us[] = {
 	KEY_KP6,
 	KEY_KPPLUS,
 	KEY_KP1,
-	KEY_KP2,	// 0x50
+	/* 0x50 */
+	KEY_KP2,
 	KEY_KP3,
 	KEY_KP0,
 	KEY_KPDOT,
-	KEY_MENU,		//VK_SNAPSHOT
+	/* VK_SNAPSHOT */
+	KEY_MENU,
 	KEY_POWER,
-	KEY_102ND,		//VK_OEM_102   henry+ 0x2B (43) BACKSLASH have been used,change to use 0X56 (86)
-	KEY_F11,		//VK_F11
-	KEY_F12,		//VK_F12
-	0, 
-	0, 
-	0, 
-	0, 
-	0, 
-	0, 
-	0, 
-	0, // 60 
-	0,
-	0,
-	KEY_SEARCH, // add search key map 
-	0,		
-	0,
-	0,
-	0,	
-	0,		
-	0, 
-	0, 
-	0, 
-	0, 
-	0, 
-	0, 
-	0, 
-	0, // 70 
-	0,
-	0,
-	KEY_KP5,  //73 for JP keyboard '\' key, report 0x4c
-	0,		
-	0,
-	0,
-	0,	
-	0,		
-	0, 
-	0, 
-    0, 
-	0, 
-	KEY_KP9, //7d  for JP keyboard '|' key, report 0x49
+	/* VK_OEM_102 */
+	KEY_102ND,
+	KEY_F11,
+	KEY_F12,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	/* 0x60 */
+	0,
+	0,
+	0,
+	KEY_SEARCH,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	/* 0x70 */
+	0,
+	0,
+	0,
+	KEY_KP5,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	KEY_KP9,
 };
 
 static unsigned short extcode_tab_us102[] = {
@@ -167,27 +178,35 @@ static unsigned short extcode_tab_us102[] = {
 	0,
 	0,
 	0,
-	0,		// 0xE0 0x10
+	/* 0x10 */
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
 	0,
 	0,
+	/* VK_MEDIA_NEXT_TRACK */
 	0,
 	0,
 	0,
+	/* VK_RETURN */
 	0,
+	KEY_RIGHTCTRL,
 	0,
 	0,
-	0,		//VK_MEDIA_NEXT_TRACK,
+	/* 0x20 */
+	KEY_MUTE,
+	/* VK_LAUNCH_APP1 */
 	0,
+	/* VK_MEDIA_PLAY_PAUSE */
 	0,
-	0,		//VK_RETURN,
-	KEY_RIGHTCTRL,		//VK_RCONTROL,
 	0,
+	/* VK_MEDIA_STOP */
 	0,
-	KEY_MUTE,	// 0xE0 0x20
-	0,		//VK_LAUNCH_APP1
-	0,		//VK_MEDIA_PLAY_PAUSE
 	0,
-	0,		//VK_MEDIA_STOP
 	0,
 	0,
 	0,
@@ -198,41 +217,54 @@ static unsigned short extcode_tab_us102[] = {
 	0,
 	0,
 	0,
+	/* 0x30 */
+	KEY_VOLUMEUP,
 	0,
-	KEY_VOLUMEUP,	// 0xE0 0x30
+	/* VK_BROWSER_HOME */
+	0,
+	0,
+	0,
+	/* VK_DIVIDE */
+	KEY_KPSLASH,
+	0,
+	/* VK_SNAPSHOT */
+	KEY_SYSRQ,
+	/* VK_RMENU */
+	KEY_RIGHTALT,
+	/* VK_OEM_NV_BACKLIGHT_UP */
+	0,
+	/* VK_OEM_NV_BACKLIGHT_DN */
+	0,
+	/* VK_OEM_NV_BACKLIGHT_AUTOTOGGLE */
+	0,
+	/* VK_OEM_NV_POWER_INFO */
+	0,
+	/* VK_OEM_NV_WIFI_TOGGLE */
+	0,
+	/* VK_OEM_NV_DISPLAY_SELECT */
+	0,
+	/* VK_OEM_NV_AIRPLANE_TOGGLE */
+	0,
+	/* 0x40 */
+	0,
+	KEY_LEFT,
 	0,
-	0,		//VK_BROWSER_HOME
 	0,
 	0,
-	KEY_KPSLASH,	//VK_DIVIDE
 	0,
-	KEY_SYSRQ,		//VK_SNAPSHOT
-	KEY_RIGHTALT,		//VK_RMENU
-	0,		//VK_OEM_NV_BACKLIGHT_UP
-	0,		//VK_OEM_NV_BACKLIGHT_DN
-	0,		//VK_OEM_NV_BACKLIGHT_AUTOTOGGLE
-	0,		//VK_OEM_NV_POWER_INFO
-	0,		//VK_OEM_NV_WIFI_TOGGLE
-	0,		//VK_OEM_NV_DISPLAY_SELECT
-	0,		//VK_OEM_NV_AIRPLANE_TOGGLE
-	0,		//0xE0 0x40
-	KEY_LEFT,		//VK_OEM_NV_RESERVED    henry+ for JP keyboard
-	0,		//VK_OEM_NV_RESERVED
-	0,		//VK_OEM_NV_RESERVED
-	0,		//VK_OEM_NV_RESERVED
-	0,		//VK_OEM_NV_RESERVED
 	KEY_CANCEL,
 	KEY_HOME,
 	KEY_UP,
-	KEY_PAGEUP,		//VK_PRIOR
+	KEY_PAGEUP,
 	0,
 	KEY_LEFT,
 	0,
 	KEY_RIGHT,
 	0,
 	KEY_END,
-	KEY_DOWN,	// 0xE0 0x50
-	KEY_PAGEDOWN,		//VK_NEXT
+	/* 0x50 */
+	KEY_DOWN,
+	KEY_PAGEDOWN,
 	KEY_INSERT,
 	KEY_DELETE,
 	0,
@@ -242,25 +274,34 @@ static unsigned short extcode_tab_us102[] = {
 	0,
 	0,
 	0,
-	KEY_LEFTMETA,	//VK_LWIN
-	0,		//VK_RWIN
-	KEY_ESC,	//VK_APPS
-	KEY_KPMINUS, //for power button workaround
-	0, 
+	KEY_LEFTMETA,
+	0,
+	KEY_ESC,
+	KEY_KPMINUS,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	/* VK_BROWSER_SEARCH */
+	0,
+	/* VK_BROWSER_FAVORITES */
+	0,
+	/* VK_BROWSER_REFRESH */
+	0,
+	/* VK_BROWSER_STOP */
+	0,
+	/* VK_BROWSER_FORWARD */
 	0,
+	/* VK_BROWSER_BACK */
 	0,
+	/* VK_LAUNCH_APP2 */
 	0,
+	/* VK_LAUNCH_MAIL */
 	0,
+	/* VK_LAUNCH_MEDIA_SELECT */
 	0,
-	0,		//VK_BROWSER_SEARCH
-	0,		//VK_BROWSER_FAVORITES
-	0,		//VK_BROWSER_REFRESH
-	0,		//VK_BROWSER_STOP
-	0,		//VK_BROWSER_FORWARD
-	0,		//VK_BROWSER_BACK
-	0,		//VK_LAUNCH_APP2
-	0,		//VK_LAUNCH_MAIL
-	0,		//VK_LAUNCH_MEDIA_SELECT
 };
 
-static unsigned short* code_tabs[] = {code_tab_102us, extcode_tab_us102 };
+static unsigned short *code_tabs[] = { code_tab_102us, extcode_tab_us102 };
diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index 34a772d..d5b9854 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -1,11 +1,23 @@
-// #define DEBUG
-
-/* ToDo list (incomplete, unorderd)
-	- convert mouse, keyboard, and power to platform devices
-*/
+/*
+ * NVEC: NVIDIA compliant embedded controller interface
+ *
+ * Copyright (C) 2011 The AC100 Kernel Team <ac100@xxxxxxxxxxxxxxxxxx>
+ *
+ * Authors:  Pierre-Hugues Husson <phhusson@xxxxxxx>
+ *           Ilya Petrov <ilya.muromec@xxxxxxxxx>
+ *           Marc Dietrich <marvin24@xxxxxx>
+ *
+ * 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.
+ *
+ */
+
+/* #define DEBUG */
 
 #include <asm/io.h>
 #include <asm/irq.h>
+
 #include <linux/completion.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
@@ -16,60 +28,64 @@
 #include <linux/input.h>
 #include <linux/workqueue.h>
 #include <linux/clk.h>
-#include <mach/iomap.h>
-#include <mach/clk.h>
+
 #include <linux/semaphore.h>
 #include <linux/list.h>
 #include <linux/notifier.h>
 #include <linux/workqueue.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/core.h>
+
+#include <mach/iomap.h>
+#include <mach/clk.h>
+
 #include "nvec.h"
 
-static unsigned char EC_DISABLE_EVENT_REPORTING[] =	{'\x04','\x00','\x00'};
-static unsigned char EC_ENABLE_EVENT_REPORTING[] =	{'\x04','\x00','\x01'};
-static unsigned char EC_GET_FIRMWARE_VERSION[] =	{'\x07','\x15'};
+static unsigned char EC_DISABLE_EVENT_REPORTING[] = { '\x04', '\x00', '\x00' };
+static unsigned char EC_ENABLE_EVENT_REPORTING[]  = { '\x04', '\x00', '\x01' };
+static unsigned char EC_GET_FIRMWARE_VERSION[]    = { '\x07', '\x15' };
 
 static struct nvec_chip *nvec_power_handle;
 
 static struct mfd_cell nvec_devices[] = {
 	{
-		.name	= "nvec-kbd",
-		.id	= 1,
+		.name = "nvec-kbd",
+		.id = 1,
 	},
 	{
-		.name	= "nvec-mouse",
-		.id	= 1,
+		.name = "nvec-mouse",
+		.id = 1,
 	},
 	{
-		.name	= "nvec-power",
-		.id	= 1,
+		.name = "nvec-power",
+		.id = 1,
 	},
 	{
-		.name	= "nvec-power",
-		.id	= 2,
+		.name = "nvec-power",
+		.id = 2,
 	},
 };
 
 int nvec_register_notifier(struct nvec_chip *nvec, struct notifier_block *nb,
-				unsigned int events)
+			   unsigned int events)
 {
 	return atomic_notifier_chain_register(&nvec->notifier_list, nb);
 }
+
 EXPORT_SYMBOL_GPL(nvec_register_notifier);
 
-static int nvec_status_notifier(struct notifier_block *nb, unsigned long event_type,
-				void *data)
+static int nvec_status_notifier(struct notifier_block *nb,
+				unsigned long event_type, void *data)
 {
 	unsigned char *msg = (unsigned char *)data;
 	int i;
 
-	if(event_type != NVEC_CNTL)
+	if (event_type != NVEC_CNTL)
 		return NOTIFY_DONE;
 
 	printk("unhandled msg type %ld, payload: ", event_type);
 	for (i = 0; i < msg[1]; i++)
-		printk("%0x ", msg[i+2]);
+		printk("%0x ", msg[i + 2]);
 	printk("\n");
 
 	return NOTIFY_OK;
@@ -90,13 +106,14 @@ void nvec_write_async(struct nvec_chip *nvec, unsigned char *data, short size)
 
 	gpio_set_value(nvec->gpio, 0);
 }
+
 EXPORT_SYMBOL(nvec_write_async);
 
 static void nvec_request_master(struct work_struct *work)
 {
 	struct nvec_chip *nvec = container_of(work, struct nvec_chip, tx_work);
 
-	if(!list_empty(&nvec->tx_data)) {
+	if (!list_empty(&nvec->tx_data)) {
 		gpio_set_value(nvec->gpio, 0);
 	}
 }
@@ -105,33 +122,35 @@ static int parse_msg(struct nvec_chip *nvec, struct nvec_msg *msg)
 {
 	int i;
 
-	if((msg->data[0] & 1<<7) == 0 && msg->data[3]) {
-		dev_err(nvec->dev, "ec responded %02x %02x %02x %02x\n", msg->data[0],
-			msg->data[1], msg->data[2], msg->data[3]);
+	if ((msg->data[0] & 1 << 7) == 0 && msg->data[3]) {
+		dev_err(nvec->dev, "ec responded %02x %02x %02x %02x\n",
+			msg->data[0], msg->data[1], msg->data[2], msg->data[3]);
 		return -EINVAL;
 	}
 
-	if ((msg->data[0] >> 7 ) == 1 && (msg->data[0] & 0x0f) == 5)
-	{
+	if ((msg->data[0] >> 7) == 1 && (msg->data[0] & 0x0f) == 5) {
 		dev_warn(nvec->dev, "ec system event ");
-		for (i=0; i < msg->data[1]; i++)
-			dev_warn(nvec->dev, "%02x ", msg->data[2+i]);
+		for (i = 0; i < msg->data[1]; i++)
+			dev_warn(nvec->dev, "%02x ", msg->data[2 + i]);
 		dev_warn(nvec->dev, "\n");
 	}
 
-	atomic_notifier_call_chain(&nvec->notifier_list, msg->data[0] & 0x8f, msg->data);
+	atomic_notifier_call_chain(&nvec->notifier_list, msg->data[0] & 0x8f,
+				   msg->data);
 
 	return 0;
 }
 
-static struct nvec_msg *nvec_write_sync(struct nvec_chip *nvec, unsigned char *data, short size)
+static struct nvec_msg *nvec_write_sync(struct nvec_chip *nvec,
+					unsigned char *data, short size)
 {
 	down(&nvec->sync_write_mutex);
 
 	nvec->sync_write_pending = (data[1] << 8) + data[0];
 	nvec_write_async(nvec, data, size);
 
-	dev_dbg(nvec->dev, "nvec_sync_write: 0x%04x\n", nvec->sync_write_pending);
+	dev_dbg(nvec->dev, "nvec_sync_write: 0x%04x\n",
+		nvec->sync_write_pending);
 	wait_for_completion(&nvec->sync_write);
 	dev_dbg(nvec->dev, "nvec_sync_write: pong!\n");
 
@@ -146,21 +165,21 @@ static void nvec_dispatch(struct work_struct *work)
 	struct nvec_chip *nvec = container_of(work, struct nvec_chip, rx_work);
 	struct nvec_msg *msg;
 
-	while(!list_empty(&nvec->rx_data))
-	{
+	while (!list_empty(&nvec->rx_data)) {
 		msg = list_first_entry(&nvec->rx_data, struct nvec_msg, node);
 		list_del_init(&msg->node);
 
-		if(nvec->sync_write_pending == (msg->data[2] << 8) + msg->data[0])
-		{
+		if (nvec->sync_write_pending ==
+		    (msg->data[2] << 8) + msg->data[0]) {
 			dev_dbg(nvec->dev, "sync write completed!\n");
 			nvec->sync_write_pending = 0;
 			nvec->last_sync_msg = msg;
 			complete(&nvec->sync_write);
 		} else {
 			parse_msg(nvec, msg);
-			if((!msg) || (!msg->data))
-				dev_warn(nvec->dev, "attempt access zero pointer");
+			if ((!msg) || (!msg->data))
+				dev_warn(nvec->dev,
+					 "attempt access zero pointer");
 			else {
 				kfree(msg->data);
 				kfree(msg);
@@ -180,20 +199,13 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
 
 	status = readl(base + I2C_SL_STATUS);
 
-	if(!(status & I2C_SL_IRQ))
-	{
+	if (!(status & I2C_SL_IRQ)) {
 		dev_warn(nvec->dev, "nvec Spurious IRQ\n");
-		//Yup, handled. ahum.
 		goto handled;
 	}
-	if(status & END_TRANS && !(status & RCVD))
-	{
-		//Reenable IRQ only when even has been sent
-		//printk("Write sequence ended !\n");
-                //parse_msg(nvec);
+	if (status & END_TRANS && !(status & RCVD)) {
 		nvec->state = NVEC_WAIT;
-		if(nvec->rx->size > 1)
-		{
+		if (nvec->rx->size > 1) {
 			list_add_tail(&nvec->rx->node, &nvec->rx_data);
 			schedule_work(&nvec->rx_work);
 		} else {
@@ -201,41 +213,33 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
 			kfree(nvec->rx);
 		}
 		return IRQ_HANDLED;
-	} else if(status & RNW)
-	{
-		// Work around for AP20 New Slave Hw Bug. Give 1us extra.
-		// nvec/smbus/nvec_i2c_transport.c in NV`s crap for reference
-		if(status & RCVD)
+	} else if (status & RNW) {
+		if (status & RCVD)
 			udelay(3);
 
-		if(status & RCVD)
-		{
+		if (status & RCVD) {
 			nvec->state = NVEC_WRITE;
-			//Master wants something from us. New communication
-//			dev_dbg(nvec->dev, "New read comm!\n");
 		} else {
-			//Master wants something from us from a communication we've already started
-//			dev_dbg(nvec->dev, "Read comm cont !\n");
+/*                      dev_dbg(nvec->dev, "Read comm cont !\n"); */
 		}
-		//if(msg_pos<msg_size) {
-		if(list_empty(&nvec->tx_data))
-		{
+		if (list_empty(&nvec->tx_data)) {
 			dev_err(nvec->dev, "nvec empty tx - sending no-op\n");
 			to_send = 0x8a;
 			nvec_write_async(nvec, "\x07\x02", 2);
-//			to_send = 0x01;
 		} else {
-			msg = list_first_entry(&nvec->tx_data, struct nvec_msg, node);
-			if(msg->pos < msg->size) {
+			msg =
+			    list_first_entry(&nvec->tx_data, struct nvec_msg,
+					     node);
+			if (msg->pos < msg->size) {
 				to_send = msg->data[msg->pos];
 				msg->pos++;
 			} else {
-				dev_err(nvec->dev, "nvec crap! %d\n", msg->size);
+				dev_err(nvec->dev, "nvec crap! %d\n",
+					msg->size);
 				to_send = 0x01;
 			}
 
-			if(msg->pos >= msg->size)
-			{
+			if (msg->pos >= msg->size) {
 				list_del_init(&msg->node);
 				kfree(msg->data);
 				kfree(msg);
@@ -252,14 +256,13 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
 		goto handled;
 	} else {
 		received = readl(base + I2C_SL_RCVD);
-		//Workaround?
-		if(status & RCVD) {
+
+		if (status & RCVD) {
 			writel(0, base + I2C_SL_RCVD);
 			goto handled;
 		}
 
-		if (nvec->state == NVEC_WAIT)
-		{
+		if (nvec->state == NVEC_WAIT) {
 			nvec->state = NVEC_READ;
 			msg = kzalloc(sizeof(struct nvec_msg), GFP_NOWAIT);
 			msg->data = kzalloc(32, GFP_NOWAIT);
@@ -273,7 +276,8 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
 		msg->data[msg->pos] = received;
 		msg->pos++;
 		msg->size = msg->pos;
-		dev_dbg(nvec->dev, "Got %02lx from Master (pos: %d)!\n", received, msg->pos);
+		dev_dbg(nvec->dev, "Got %02lx from Master (pos: %d)!\n",
+			received, msg->pos);
 	}
 handled:
 	return IRQ_HANDLED;
@@ -289,12 +293,12 @@ static void tegra_init_i2c_slave(struct nvec_chip *nvec)
 	udelay(2);
 	tegra_periph_reset_deassert(nvec->i2c_clk);
 
-	writel(nvec->i2c_addr>>1, nvec->base + I2C_SL_ADDR1);
+	writel(nvec->i2c_addr >> 1, nvec->base + I2C_SL_ADDR1);
 	writel(0, nvec->base + I2C_SL_ADDR2);
 
 	writel(0x1E, nvec->base + I2C_SL_DELAY_COUNT);
 	val = I2C_CNFG_NEW_MASTER_SFM | I2C_CNFG_PACKET_MODE_EN |
-		(0x2 << I2C_CNFG_DEBOUNCE_CNT_SHIFT);
+	    (0x2 << I2C_CNFG_DEBOUNCE_CNT_SHIFT);
 	writel(val, nvec->base + I2C_CNFG);
 	writel(I2C_SL_NEWL, nvec->base + I2C_SL_CNFG);
 
@@ -319,7 +323,7 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 	void __iomem *base;
 
 	nvec = kzalloc(sizeof(struct nvec_chip), GFP_KERNEL);
-	if(nvec == NULL) {
+	if (nvec == NULL) {
 		dev_err(&pdev->dev, "failed to reserve memory\n");
 		return -ENOMEM;
 	}
@@ -360,7 +364,7 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 	}
 
 	clk_enable(i2c_clk);
-	clk_set_rate(i2c_clk, 8*80000);
+	clk_set_rate(i2c_clk, 8 * 80000);
 
 	nvec->base = base;
 	nvec->irq = res->start;
@@ -368,7 +372,7 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 
 	/* Set the gpio to low when we've got something to say */
 	err = gpio_request(nvec->gpio, "nvec gpio");
-	if(err < 0)
+	if (err < 0)
 		dev_err(nvec->dev, "couldn't request gpio\n");
 
 	ATOMIC_INIT_NOTIFIER_HEAD(&nvec->notifier_list);
@@ -393,7 +397,7 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 
 	/* enable event reporting */
 	nvec_write_async(nvec, EC_ENABLE_EVENT_REPORTING,
-				sizeof(EC_ENABLE_EVENT_REPORTING));
+			 sizeof(EC_ENABLE_EVENT_REPORTING));
 
 	nvec->nvec_status_notifier.notifier_call = nvec_status_notifier;
 	nvec_register_notifier(nvec, &nvec->nvec_status_notifier, 0);
@@ -403,17 +407,17 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 
 	/* Get Firmware Version */
 	msg = nvec_write_sync(nvec, EC_GET_FIRMWARE_VERSION,
-		sizeof(EC_GET_FIRMWARE_VERSION));
+			      sizeof(EC_GET_FIRMWARE_VERSION));
 
 	dev_warn(nvec->dev, "ec firmware version %02x.%02x.%02x / %02x\n",
-			msg->data[4], msg->data[5], msg->data[6], msg->data[7]);
+		 msg->data[4], msg->data[5], msg->data[6], msg->data[7]);
 
 	kfree(msg->data);
 	kfree(msg);
 
 	ret = mfd_add_devices(nvec->dev, -1, nvec_devices,
-			ARRAY_SIZE(nvec_devices), base, 0);
-	if(ret)
+			      ARRAY_SIZE(nvec_devices), base, 0);
+	if (ret)
 		dev_err(nvec->dev, "error adding subdevices\n");
 
 	/* unmute speakers? */
@@ -461,8 +465,8 @@ static int tegra_nvec_suspend(struct platform_device *pdev, pm_message_t state)
 	return 0;
 }
 
-static int tegra_nvec_resume(struct platform_device *pdev) {
-
+static int tegra_nvec_resume(struct platform_device *pdev)
+{
 	struct nvec_chip *nvec = platform_get_drvdata(pdev);
 
 	dev_dbg(nvec->dev, "resuming\n");
@@ -477,13 +481,12 @@ static int tegra_nvec_resume(struct platform_device *pdev) {
 #define tegra_nvec_resume NULL
 #endif
 
-static struct platform_driver nvec_device_driver =
-{
-	.probe = tegra_nvec_probe,
-	.remove = __devexit_p(tegra_nvec_remove),
+static struct platform_driver nvec_device_driver = {
+	.probe   = tegra_nvec_probe,
+	.remove  = __devexit_p(tegra_nvec_remove),
 	.suspend = tegra_nvec_suspend,
-	.resume = tegra_nvec_resume,
-	.driver = {
+	.resume  = tegra_nvec_resume,
+	.driver  = {
 		.name = "nvec",
 		.owner = THIS_MODULE,
 	}
@@ -495,4 +498,8 @@ static int __init tegra_nvec_init(void)
 }
 
 module_init(tegra_nvec_init);
+
 MODULE_ALIAS("platform:nvec");
+MODULE_DESCRIPTION("NVIDIA compliant embedded controller interface");
+MODULE_AUTHOR("Marc Dietrich <marvin24@xxxxxx>");
+MODULE_LICENSE("GPL");
diff --git a/drivers/staging/nvec/nvec.h b/drivers/staging/nvec/nvec.h
index d9ff721..27f1b9d 100644
--- a/drivers/staging/nvec/nvec.h
+++ b/drivers/staging/nvec/nvec.h
@@ -1,3 +1,18 @@
+/*
+ * NVEC: NVIDIA compliant embedded controller interface
+ *
+ * Copyright (C) 2011 The AC100 Kernel Team <ac100@xxxxxxxxxxxxxxxxxxx>
+ *
+ * Authors:  Pierre-Hugues Husson <phhusson@xxxxxxx>
+ *           Ilya Petrov <ilya.muromec@xxxxxxxxx>
+ *           Marc Dietrich <marvin24@xxxxxx>
+ *
+ * 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 __LINUX_MFD_NVEC
 #define __LINUX_MFD_NVEC
 
@@ -16,7 +31,7 @@ typedef enum {
 } how_care;
 
 typedef enum {
-	NVEC_SYS=1,
+	NVEC_SYS = 1,
 	NVEC_BAT,
 	NVEC_KBD = 5,
 	NVEC_PS2,
@@ -26,9 +41,9 @@ typedef enum {
 } nvec_event;
 
 typedef enum {
-       NVEC_WAIT,
-       NVEC_READ,
-       NVEC_WRITE
+	NVEC_WAIT,
+	NVEC_READ,
+	NVEC_WRITE
 } nvec_state;
 
 struct nvec_msg {
@@ -63,22 +78,27 @@ struct nvec_chip {
 	struct work_struct rx_work, tx_work;
 	struct nvec_msg *rx, *tx;
 
-/* sync write stuff */
+	/* sync write stuff */
 	struct semaphore sync_write_mutex;
 	struct completion sync_write;
 	u16 sync_write_pending;
 	struct nvec_msg *last_sync_msg;
 };
 
-extern void nvec_write_async(struct nvec_chip *nvec, unsigned char *data, short size);
+extern void nvec_write_async(struct nvec_chip *nvec, unsigned char *data,
+			     short size);
 
 extern int nvec_register_notifier(struct nvec_chip *nvec,
-		 struct notifier_block *nb, unsigned int events);
+				  struct notifier_block *nb,
+				  unsigned int events);
 
 extern int nvec_unregister_notifier(struct device *dev,
-		struct notifier_block *nb, unsigned int events);
+				    struct notifier_block *nb,
+				    unsigned int events);
 
-const char *nvec_send_msg(unsigned char *src, unsigned char *dst_size, how_care care_resp, void (*rt_handler)(unsigned char *data));
+const char *nvec_send_msg(unsigned char *src, unsigned char *dst_size,
+			  how_care care_resp,
+			  void (*rt_handler) (unsigned char *data));
 
 #define I2C_CNFG			0x00
 #define I2C_CNFG_PACKET_MODE_EN		(1<<10)
diff --git a/drivers/staging/nvec/nvec_kbd.c b/drivers/staging/nvec/nvec_kbd.c
index cc81990..36f8060 100644
--- a/drivers/staging/nvec/nvec_kbd.c
+++ b/drivers/staging/nvec/nvec_kbd.c
@@ -1,14 +1,29 @@
+/*
+ * nvec_kbd: keyboard driver for a NVIDIA compliant embedded controller
+ *
+ * Copyright (C) 2011 The AC100 Kernel Team <ac100@xxxxxxxxxxxxxxxxxxx>
+ *
+ * Authors:  Pierre-Hugues Husson <phhusson@xxxxxxx>
+ *           Marc Dietrich <marvin24@xxxxxx>
+ *
+ * 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.
+ *
+ */
+
 #include <linux/slab.h>
 #include <linux/input.h>
 #include <linux/delay.h>
 #include <linux/platform_device.h>
+
 #include "nvec-keytable.h"
 #include "nvec.h"
 
 #define ACK_KBD_EVENT {'\x05','\xed','\x01'}
 
 static unsigned char keycodes[ARRAY_SIZE(code_tab_102us)
-			+ ARRAY_SIZE(extcode_tab_us102)];
+			      + ARRAY_SIZE(extcode_tab_us102)];
 
 struct nvec_keys {
 	struct input_dev *input;
@@ -19,7 +34,7 @@ struct nvec_keys {
 static struct nvec_keys keys_dev;
 
 static int nvec_keys_notifier(struct notifier_block *nb,
-				unsigned long event_type, void *data)
+			      unsigned long event_type, void *data)
 {
 	int code, state;
 	unsigned char *msg = (unsigned char *)data;
@@ -28,16 +43,17 @@ static int nvec_keys_notifier(struct notifier_block *nb,
 		nvec_size _size = (msg[0] & (3 << 5)) >> 5;
 
 /* power on/off button */
-		if(_size == NVEC_VAR_SIZE)
+		if (_size == NVEC_VAR_SIZE)
 			return NOTIFY_STOP;
 
-		if(_size == NVEC_3BYTES)
+		if (_size == NVEC_3BYTES)
 			msg++;
 
 		code = msg[1] & 0x7f;
 		state = msg[1] & 0x80;
 
-		input_report_key(keys_dev.input, code_tabs[_size][code], !state);
+		input_report_key(keys_dev.input, code_tabs[_size][code],
+				 !state);
 		input_sync(keys_dev.input);
 
 		return NOTIFY_STOP;
@@ -47,18 +63,18 @@ static int nvec_keys_notifier(struct notifier_block *nb,
 }
 
 static int nvec_kbd_event(struct input_dev *dev, unsigned int type,
-				unsigned int code, int value)
+			  unsigned int code, int value)
 {
 	unsigned char buf[] = ACK_KBD_EVENT;
 	struct nvec_chip *nvec = keys_dev.nvec;
 
-	if(type==EV_REP)
+	if (type == EV_REP)
 		return 0;
 
-	if(type!=EV_LED)
+	if (type != EV_LED)
 		return -1;
 
-	if(code!=LED_CAPSL)
+	if (code != LED_CAPSL)
 		return -1;
 
 	buf[2] = !!value;
@@ -75,11 +91,11 @@ static int __devinit nvec_kbd_probe(struct platform_device *pdev)
 
 	j = 0;
 
-	for(i = 0; i < ARRAY_SIZE(code_tab_102us); ++i)
+	for (i = 0; i < ARRAY_SIZE(code_tab_102us); ++i)
 		keycodes[j++] = code_tab_102us[i];
 
-	for(i = 0; i < ARRAY_SIZE(extcode_tab_us102); ++i)
-		keycodes[j++]=extcode_tab_us102[i];
+	for (i = 0; i < ARRAY_SIZE(extcode_tab_us102); ++i)
+		keycodes[j++] = extcode_tab_us102[i];
 
 	idev = input_allocate_device();
 	idev->name = "Tegra nvec keyboard";
@@ -91,12 +107,12 @@ static int __devinit nvec_kbd_probe(struct platform_device *pdev)
 	idev->keycodesize = sizeof(unsigned char);
 	idev->keycodemax = ARRAY_SIZE(keycodes);
 
-	for( i = 0; i < ARRAY_SIZE(keycodes); ++i)
+	for (i = 0; i < ARRAY_SIZE(keycodes); ++i)
 		set_bit(keycodes[i], idev->keybit);
 
 	clear_bit(0, idev->keybit);
 	err = input_register_device(idev);
-	if(err)
+	if (err)
 		goto fail;
 
 	keys_dev.input = idev;
@@ -124,10 +140,10 @@ fail:
 }
 
 static struct platform_driver nvec_kbd_driver = {
-	.probe	= nvec_kbd_probe,
-	.driver	= {
-		.name   = "nvec-kbd",
-		.owner  = THIS_MODULE,
+	.probe  = nvec_kbd_probe,
+	.driver = {
+		.name = "nvec-kbd",
+		.owner = THIS_MODULE,
 	},
 };
 
@@ -137,3 +153,7 @@ static int __init nvec_kbd_init(void)
 }
 
 module_init(nvec_kbd_init);
+
+MODULE_AUTHOR("Marc Dietrich <marvin24@xxxxxx>");
+MODULE_DESCRIPTION("NVEC keyboard driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/staging/nvec/nvec_power.c b/drivers/staging/nvec/nvec_power.c
index df164ad..bfaa0da 100644
--- a/drivers/staging/nvec/nvec_power.c
+++ b/drivers/staging/nvec/nvec_power.c
@@ -1,3 +1,17 @@
+/*
+ * nvec_power: power supply driver for a NVIDIA compliant embedded controller
+ *
+ * Copyright (C) 2011 The AC100 Kernel Team <ac100@xxxxxxxxxxxxxxxxxxx>
+ *
+ * Authors:  Ilya Petrov <ilya.muromec@xxxxxxxxx>
+ *           Marc Dietrich <marvin24@xxxxxx>
+ *
+ * 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.
+ *
+ */
+
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/err.h>
@@ -5,10 +19,10 @@
 #include <linux/slab.h>
 #include <linux/workqueue.h>
 #include <linux/delay.h>
+
 #include "nvec.h"
 
-struct nvec_power
-{
+struct nvec_power {
 	struct notifier_block notifier;
 	struct delayed_work poller;
 	struct nvec_chip *nvec;
@@ -58,7 +72,8 @@ struct bat_response {
 	u8 length;
 	u8 sub_type;
 	u8 status;
-	union { /* payload */
+	/* payload */
+	union {
 		char plc[30];
 		u16 plu;
 		s16 pls;
@@ -69,18 +84,17 @@ static struct power_supply nvec_bat_psy;
 static struct power_supply nvec_psy;
 
 static int nvec_power_notifier(struct notifier_block *nb,
-				 unsigned long event_type, void *data)
+			       unsigned long event_type, void *data)
 {
-	struct nvec_power *power = container_of(nb, struct nvec_power, notifier);
+	struct nvec_power *power =
+	    container_of(nb, struct nvec_power, notifier);
 	struct bat_response *res = (struct bat_response *)data;
 
 	if (event_type != NVEC_SYS)
 		return NOTIFY_DONE;
 
-	if(res->sub_type == 0)
-	{
-		if (power->on != res->plu)
-		{
+	if (res->sub_type == 0) {
+		if (power->on != res->plu) {
 			power->on = res->plu;
 			power_supply_changed(&nvec_psy);
 		}
@@ -89,8 +103,7 @@ static int nvec_power_notifier(struct notifier_block *nb,
 	return NOTIFY_OK;
 }
 
-static const int bat_init[] =
-{
+static const int bat_init[] = {
 	LAST_FULL_CHARGE_CAPACITY, DESIGN_CAPACITY, CRITICAL_CAPACITY,
 	MANUFACTURER, MODEL, TYPE,
 };
@@ -100,116 +113,115 @@ static void get_bat_mfg_data(struct nvec_power *power)
 	int i;
 	char buf[] = { '\x02', '\x00' };
 
-	for (i = 0; i < ARRAY_SIZE(bat_init); i++)
-	{
+	for (i = 0; i < ARRAY_SIZE(bat_init); i++) {
 		buf[1] = bat_init[i];
 		nvec_write_async(power->nvec, buf, 2);
 	}
 }
 
 static int nvec_power_bat_notifier(struct notifier_block *nb,
-				 unsigned long event_type, void *data)
+				   unsigned long event_type, void *data)
 {
-	struct nvec_power *power = container_of(nb, struct nvec_power, notifier);
+	struct nvec_power *power =
+	    container_of(nb, struct nvec_power, notifier);
 	struct bat_response *res = (struct bat_response *)data;
 	int status_changed = 0;
 
 	if (event_type != NVEC_BAT)
 		return NOTIFY_DONE;
 
-	switch(res->sub_type)
-	{
-		case SLOT_STATUS:
-			if (res->plc[0] & 1)
-			{
-				if (power->bat_present == 0)
-				{
-					status_changed = 1;
-					get_bat_mfg_data(power);
-				}
-
-				power->bat_present = 1;
-
-				switch ((res->plc[0] >> 1) & 3)
-				{
-					case 0:
-						power->bat_status = POWER_SUPPLY_STATUS_NOT_CHARGING;
-						break;
-					case 1:
-						power->bat_status = POWER_SUPPLY_STATUS_CHARGING;
-						break;
-					case 2:
-						power->bat_status = POWER_SUPPLY_STATUS_DISCHARGING;
-						break;
-					default:
-						power->bat_status = POWER_SUPPLY_STATUS_UNKNOWN;
-				}
-			} else {
-				if (power->bat_present == 1)
-					status_changed = 1;
-
-				power->bat_present = 0;
+	switch (res->sub_type) {
+	case SLOT_STATUS:
+		if (res->plc[0] & 1) {
+			if (power->bat_present == 0) {
+				status_changed = 1;
+				get_bat_mfg_data(power);
+			}
+
+			power->bat_present = 1;
+
+			switch ((res->plc[0] >> 1) & 3) {
+			case 0:
+				power->bat_status =
+				    POWER_SUPPLY_STATUS_NOT_CHARGING;
+				break;
+			case 1:
+				power->bat_status =
+				    POWER_SUPPLY_STATUS_CHARGING;
+				break;
+			case 2:
+				power->bat_status =
+				    POWER_SUPPLY_STATUS_DISCHARGING;
+				break;
+			default:
 				power->bat_status = POWER_SUPPLY_STATUS_UNKNOWN;
 			}
-			power->bat_cap = res->plc[1];
-			if (status_changed)
-				power_supply_changed(&nvec_bat_psy);
-			break;
-		case VOLTAGE:
-			power->bat_voltage_now = res->plu * 1000;
-			break;
-		case TIME_REMAINING:
-			power->time_remain = res->plu * 3600;
-			break;
-		case CURRENT:
-			power->bat_current_now = res->pls * 1000;
-			break;
-		case AVERAGE_CURRENT:
-			power->bat_current_avg = res->pls * 1000;
-			break;
-		case CAPACITY_REMAINING:
-			power->capacity_remain = res->plu * 1000;
-			break;
-		case LAST_FULL_CHARGE_CAPACITY:
-			power->charge_last_full = res->plu * 1000;
-			break;
-		case DESIGN_CAPACITY:
-			power->charge_full_design = res->plu * 1000;
-			break;
-		case CRITICAL_CAPACITY:
-			power->critical_capacity = res->plu * 1000;
-			break;
-		case TEMPERATURE:
-			power->bat_temperature = res->plu - 2732;
-			break;
-		case MANUFACTURER:
-			memcpy(power->bat_manu, &res->plc, res->length-2);
-			power->bat_model[res->length-2] = '\0';
-			break;
-		case MODEL:
-			memcpy(power->bat_model, &res->plc, res->length-2);
-			power->bat_model[res->length-2] = '\0';
-			break;
-		case TYPE:
-			memcpy(power->bat_type, &res->plc, res->length-2);
-			power->bat_type[res->length-2] = '\0';
-			/* this differs a little from the spec
-			   fill in more if you find some */
-			if (!strncmp(power->bat_type, "Li", 30))
-				power->bat_type_enum = POWER_SUPPLY_TECHNOLOGY_LION;
-			else
-				power->bat_type_enum = POWER_SUPPLY_TECHNOLOGY_UNKNOWN;
-			break;
-		default:
-			return NOTIFY_STOP;
+		} else {
+			if (power->bat_present == 1)
+				status_changed = 1;
+
+			power->bat_present = 0;
+			power->bat_status = POWER_SUPPLY_STATUS_UNKNOWN;
+		}
+		power->bat_cap = res->plc[1];
+		if (status_changed)
+			power_supply_changed(&nvec_bat_psy);
+		break;
+	case VOLTAGE:
+		power->bat_voltage_now = res->plu * 1000;
+		break;
+	case TIME_REMAINING:
+		power->time_remain = res->plu * 3600;
+		break;
+	case CURRENT:
+		power->bat_current_now = res->pls * 1000;
+		break;
+	case AVERAGE_CURRENT:
+		power->bat_current_avg = res->pls * 1000;
+		break;
+	case CAPACITY_REMAINING:
+		power->capacity_remain = res->plu * 1000;
+		break;
+	case LAST_FULL_CHARGE_CAPACITY:
+		power->charge_last_full = res->plu * 1000;
+		break;
+	case DESIGN_CAPACITY:
+		power->charge_full_design = res->plu * 1000;
+		break;
+	case CRITICAL_CAPACITY:
+		power->critical_capacity = res->plu * 1000;
+		break;
+	case TEMPERATURE:
+		power->bat_temperature = res->plu - 2732;
+		break;
+	case MANUFACTURER:
+		memcpy(power->bat_manu, &res->plc, res->length - 2);
+		power->bat_model[res->length - 2] = '\0';
+		break;
+	case MODEL:
+		memcpy(power->bat_model, &res->plc, res->length - 2);
+		power->bat_model[res->length - 2] = '\0';
+		break;
+	case TYPE:
+		memcpy(power->bat_type, &res->plc, res->length - 2);
+		power->bat_type[res->length - 2] = '\0';
+		/* this differs a little from the spec
+		   fill in more if you find some */
+		if (!strncmp(power->bat_type, "Li", 30))
+			power->bat_type_enum = POWER_SUPPLY_TECHNOLOGY_LION;
+		else
+			power->bat_type_enum = POWER_SUPPLY_TECHNOLOGY_UNKNOWN;
+		break;
+	default:
+		return NOTIFY_STOP;
 	}
 
 	return NOTIFY_STOP;
 }
 
 static int nvec_power_get_property(struct power_supply *psy,
-				enum power_supply_property psp,
-				union power_supply_propval *val)
+				   enum power_supply_property psp,
+				   union power_supply_propval *val)
 {
 	struct nvec_power *power = dev_get_drvdata(psy->dev->parent);
 	switch (psp) {
@@ -223,61 +235,60 @@ static int nvec_power_get_property(struct power_supply *psy,
 }
 
 static int nvec_battery_get_property(struct power_supply *psy,
-				enum power_supply_property psp,
-				union power_supply_propval *val)
+				     enum power_supply_property psp,
+				     union power_supply_propval *val)
 {
 	struct nvec_power *power = dev_get_drvdata(psy->dev->parent);
 
-	switch(psp)
-	{
-		case POWER_SUPPLY_PROP_STATUS:
-			val->intval = power->bat_status;
-			break;
-		case POWER_SUPPLY_PROP_CAPACITY:
-			val->intval = power->bat_cap;
-			break;
-		case POWER_SUPPLY_PROP_PRESENT:
-			val->intval = power->bat_present;
-			break;
-		case POWER_SUPPLY_PROP_VOLTAGE_NOW:
-			val->intval = power->bat_voltage_now;
-			break;
-		case POWER_SUPPLY_PROP_CURRENT_NOW:
-			val->intval = power->bat_current_now;
-			break;
-		case POWER_SUPPLY_PROP_CURRENT_AVG:
-			val->intval = power->bat_current_avg;
-			break;
-		case POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW:
-			val->intval = power->time_remain;
-			break;
-		case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
-			val->intval = power->charge_full_design;
-			break;
-		case POWER_SUPPLY_PROP_CHARGE_FULL:
-			val->intval = power->charge_last_full;
-			break;
-		case POWER_SUPPLY_PROP_CHARGE_EMPTY:
-			val->intval = power->critical_capacity;
-			break;
-		case POWER_SUPPLY_PROP_CHARGE_NOW:
-			val->intval = power->capacity_remain;
-			break;
-		case POWER_SUPPLY_PROP_TEMP:
-			val->intval = power->bat_temperature;
-			break;
-		case POWER_SUPPLY_PROP_MANUFACTURER:
-			val->strval = power->bat_manu;
-			break;
-		case POWER_SUPPLY_PROP_MODEL_NAME:
-			val->strval = power->bat_model;
-			break;
-		case POWER_SUPPLY_PROP_TECHNOLOGY:
-			val->intval = power->bat_type_enum;
-			break;
-		default:
-			return -EINVAL;
-		}
+	switch (psp) {
+	case POWER_SUPPLY_PROP_STATUS:
+		val->intval = power->bat_status;
+		break;
+	case POWER_SUPPLY_PROP_CAPACITY:
+		val->intval = power->bat_cap;
+		break;
+	case POWER_SUPPLY_PROP_PRESENT:
+		val->intval = power->bat_present;
+		break;
+	case POWER_SUPPLY_PROP_VOLTAGE_NOW:
+		val->intval = power->bat_voltage_now;
+		break;
+	case POWER_SUPPLY_PROP_CURRENT_NOW:
+		val->intval = power->bat_current_now;
+		break;
+	case POWER_SUPPLY_PROP_CURRENT_AVG:
+		val->intval = power->bat_current_avg;
+		break;
+	case POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW:
+		val->intval = power->time_remain;
+		break;
+	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
+		val->intval = power->charge_full_design;
+		break;
+	case POWER_SUPPLY_PROP_CHARGE_FULL:
+		val->intval = power->charge_last_full;
+		break;
+	case POWER_SUPPLY_PROP_CHARGE_EMPTY:
+		val->intval = power->critical_capacity;
+		break;
+	case POWER_SUPPLY_PROP_CHARGE_NOW:
+		val->intval = power->capacity_remain;
+		break;
+	case POWER_SUPPLY_PROP_TEMP:
+		val->intval = power->bat_temperature;
+		break;
+	case POWER_SUPPLY_PROP_MANUFACTURER:
+		val->strval = power->bat_manu;
+		break;
+	case POWER_SUPPLY_PROP_MODEL_NAME:
+		val->strval = power->bat_model;
+		break;
+	case POWER_SUPPLY_PROP_TECHNOLOGY:
+		val->intval = power->bat_type_enum;
+		break;
+	default:
+		return -EINVAL;
+	}
 	return 0;
 }
 
@@ -310,11 +321,11 @@ static char *nvec_power_supplied_to[] = {
 };
 
 static struct power_supply nvec_bat_psy = {
-	.name		= "battery",
-	.type		= POWER_SUPPLY_TYPE_BATTERY,
-	.properties	= nvec_battery_props,
-	.num_properties	= ARRAY_SIZE(nvec_battery_props),
-	.get_property	= nvec_battery_get_property,
+	.name = "battery",
+	.type = POWER_SUPPLY_TYPE_BATTERY,
+	.properties = nvec_battery_props,
+	.num_properties = ARRAY_SIZE(nvec_battery_props),
+	.get_property = nvec_battery_get_property,
 };
 
 static struct power_supply nvec_psy = {
@@ -328,8 +339,7 @@ static struct power_supply nvec_psy = {
 };
 
 static int counter = 0;
-static int const bat_iter[] =
-{
+static int const bat_iter[] = {
 	SLOT_STATUS, VOLTAGE, CURRENT, CAPACITY_REMAINING,
 #ifdef EC_FULL_DIAG
 	AVERAGE_CURRENT, TEMPERATURE, TIME_REMAINING,
@@ -340,7 +350,7 @@ static void nvec_power_poll(struct work_struct *work)
 {
 	char buf[] = { '\x01', '\x00' };
 	struct nvec_power *power = container_of(work, struct nvec_power,
-		 poller.work);
+						poller.work);
 
 	if (counter >= ARRAY_SIZE(bat_iter))
 		counter = 0;
@@ -351,19 +361,18 @@ static void nvec_power_poll(struct work_struct *work)
 
 /* select a battery request function via round robin
    doing it all at once seems to overload the power supply */
-	buf[0] = '\x02'; /* battery */
-        buf[1] = bat_iter[counter++];
+	buf[0] = '\x02';	/* battery */
+	buf[1] = bat_iter[counter++];
 	nvec_write_async(power->nvec, buf, 2);
 
-//	printk("%02x %02x\n", buf[0], buf[1]);
-
 	schedule_delayed_work(to_delayed_work(work), msecs_to_jiffies(5000));
 };
 
 static int __devinit nvec_power_probe(struct platform_device *pdev)
 {
 	struct power_supply *psy;
-	struct nvec_power *power = kzalloc(sizeof(struct nvec_power), GFP_NOWAIT);
+	struct nvec_power *power =
+	    kzalloc(sizeof(struct nvec_power), GFP_NOWAIT);
 	struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent);
 
 	dev_set_drvdata(&pdev->dev, power);
@@ -381,7 +390,7 @@ static int __devinit nvec_power_probe(struct platform_device *pdev)
 	case BAT:
 		psy = &nvec_bat_psy;
 
-                power->notifier.notifier_call = nvec_power_bat_notifier;
+		power->notifier.notifier_call = nvec_power_bat_notifier;
 		break;
 	default:
 		kfree(power);
@@ -398,14 +407,13 @@ static int __devinit nvec_power_probe(struct platform_device *pdev)
 
 static struct platform_driver nvec_power_driver = {
 	.probe = nvec_power_probe,
-//	.remove = __devexit_p(nvec_power_remove),
 	.driver = {
-		.name = "nvec-power",
-		.owner = THIS_MODULE,
-	}
+		   .name = "nvec-power",
+		   .owner = THIS_MODULE,
+		   }
 };
 
-static int __init nvec_power_init(void) 
+static int __init nvec_power_init(void)
 {
 	return platform_driver_register(&nvec_power_driver);
 }
diff --git a/drivers/staging/nvec/nvec_ps2.c b/drivers/staging/nvec/nvec_ps2.c
index 0d3149b..e5a0388 100644
--- a/drivers/staging/nvec/nvec_ps2.c
+++ b/drivers/staging/nvec/nvec_ps2.c
@@ -1,15 +1,31 @@
+/*
+ * nvec_ps2: mouse driver for a NVIDIA compliant embedded controller
+ *
+ * Copyright (C) 2011 The AC100 Kernel Team <ac100@xxxxxxxxxxxxxxxxxxx>
+ *
+ * Authors:  Pierre-Hugues Husson <phhusson@xxxxxxx>
+ *           Ilya Petrov <ilya.muromec@xxxxxxxxx>
+ *           Marc Dietrich <marvin24@xxxxxx>
+ *
+ * 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.
+ *
+ */
+
 #include <linux/slab.h>
 #include <linux/serio.h>
 #include <linux/delay.h>
 #include <linux/platform_device.h>
+
 #include "nvec.h"
 
 #define START_STREAMING	{'\x06','\x03','\x01'}
 #define STOP_STREAMING	{'\x06','\x04'}
 #define SEND_COMMAND	{'\x06','\x01','\xf4','\x01'}
+#define MOUSE_RESET	{'\x06','\x01','\xff','\x03'}
 
-struct nvec_ps2
-{
+struct nvec_ps2 {
 	struct serio *ser_dev;
 	struct notifier_block notifier;
 	struct nvec_chip *nvec;
@@ -30,12 +46,6 @@ static void ps2_stopstreaming(struct serio *ser_dev)
 	nvec_write_async(ps2_dev.nvec, buf, sizeof(buf));
 }
 
-/* is this really needed?
-static void nvec_resp_handler(unsigned char *data) {
-	serio_interrupt(ser_dev, data[4], 0);
-}
-*/
-
 static int ps2_sendcommand(struct serio *ser_dev, unsigned char cmd)
 {
 	unsigned char buf[] = SEND_COMMAND;
@@ -49,47 +59,45 @@ static int ps2_sendcommand(struct serio *ser_dev, unsigned char cmd)
 }
 
 static int nvec_ps2_notifier(struct notifier_block *nb,
-				unsigned long event_type, void *data)
+			     unsigned long event_type, void *data)
 {
 	int i;
 	unsigned char *msg = (unsigned char *)data;
 
 	switch (event_type) {
-		case NVEC_PS2_EVT:
-			serio_interrupt(ps2_dev.ser_dev, msg[2], 0);
-			return NOTIFY_STOP;
-
-		case NVEC_PS2:
-			if (msg[2] == 1)
-				for(i = 0; i < (msg[1] - 2); i++)
-					serio_interrupt(ps2_dev.ser_dev, msg[i+4], 0);
-			else if (msg[1] != 2) /* !ack */
-			{
-				printk("nvec_ps2: unhandled mouse event ");
-				for(i = 0; i <= (msg[1]+1); i++)
-					printk("%02x ", msg[i]);
-				printk(".\n");
-			}
-
-			return NOTIFY_STOP;
+	case NVEC_PS2_EVT:
+		serio_interrupt(ps2_dev.ser_dev, msg[2], 0);
+		return NOTIFY_STOP;
+
+	case NVEC_PS2:
+		if (msg[2] == 1)
+			for (i = 0; i < (msg[1] - 2); i++)
+				serio_interrupt(ps2_dev.ser_dev, msg[i + 4], 0);
+		else if (msg[1] != 2) {	/* !ack */
+			printk("nvec_ps2: unhandled mouse event ");
+			for (i = 0; i <= (msg[1] + 1); i++)
+				printk("%02x ", msg[i]);
+			printk(".\n");
+		}
+
+		return NOTIFY_STOP;
 	}
 
 	return NOTIFY_DONE;
 }
 
-
 static int __devinit nvec_mouse_probe(struct platform_device *pdev)
 {
 	struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent);
 	struct serio *ser_dev = kzalloc(sizeof(struct serio), GFP_KERNEL);
 
-	ser_dev->id.type=SERIO_8042;
-	ser_dev->write=ps2_sendcommand;
-	ser_dev->open=ps2_startstreaming;
-	ser_dev->close=ps2_stopstreaming;
+	ser_dev->id.type = SERIO_8042;
+	ser_dev->write = ps2_sendcommand;
+	ser_dev->open = ps2_startstreaming;
+	ser_dev->close = ps2_stopstreaming;
 
-	strlcpy(ser_dev->name, "NVEC PS2", sizeof(ser_dev->name));
-	strlcpy(ser_dev->phys, "NVEC I2C slave", sizeof(ser_dev->phys));
+	strlcpy(ser_dev->name, "nvec mouse", sizeof(ser_dev->name));
+	strlcpy(ser_dev->phys, "nvec", sizeof(ser_dev->phys));
 
 	ps2_dev.ser_dev = ser_dev;
 	ps2_dev.notifier.notifier_call = nvec_ps2_notifier;
@@ -99,16 +107,16 @@ static int __devinit nvec_mouse_probe(struct platform_device *pdev)
 	serio_register_port(ser_dev);
 
 	/* mouse reset */
-	nvec_write_async(nvec, "\x06\x01\xff\x03", 4);
+	nvec_write_async(nvec, MOUSE_RESET, sizeof(MOUSE_RESET));
 
 	return 0;
 }
 
 static struct platform_driver nvec_mouse_driver = {
-	.probe	= nvec_mouse_probe,
-	.driver	= {
-		.name	= "nvec-mouse",
-		.owner	= THIS_MODULE,
+	.probe  = nvec_mouse_probe,
+	.driver = {
+		.name = "nvec-mouse",
+		.owner = THIS_MODULE,
 	},
 };
 
@@ -118,3 +126,7 @@ static int __init nvec_mouse_init(void)
 }
 
 module_init(nvec_mouse_init);
+
+MODULE_DESCRIPTION("NVEC mouse driver");
+MODULE_AUTHOR("Marc Dietrich <marvin24@xxxxxx>");
+MODULE_LICENSE("GPL");
-- 
1.7.4.1



Follow ups

References