summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAbhishek Aggarwal <aaggarwal@nvidia.com>2010-08-10 12:10:22 +0530
committerJanne Hellsten <jhellsten@nvidia.com>2010-08-10 02:28:17 -0700
commit43a6aa8014bf7b84e49391d92aa8a2214323a566 (patch)
tree15618a3a5c4ad9a2a1511688a02f6aceff75ca15 /arch
parentbd02041a4edceef0baf2d0904c082b8174c898c2 (diff)
[arm tegra odm] battery: new driver for whistler
Implementing new dummy odm battery driver for whistler. It is based on the stub driver and returns success from all the relevant APIs to prevent failure of probe of tegra-battery driver. If there is no battery driver then MSD cannot be turned on. Bug: 715515 Change-Id: I2dece8b7b3d27292a96e9e59d175679b75cc13a1 Reviewed-on: http://git-master/r/4840 Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com> Reviewed-by: Janne Hellsten <jhellsten@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/odm_kit/platform/battery/Makefile2
-rw-r--r--arch/arm/mach-tegra/odm_kit/platform/battery/nvodm_battery_whistler.c176
2 files changed, 177 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/odm_kit/platform/battery/Makefile b/arch/arm/mach-tegra/odm_kit/platform/battery/Makefile
index 5e7430cbfad9..7677d9179054 100644
--- a/arch/arm/mach-tegra/odm_kit/platform/battery/Makefile
+++ b/arch/arm/mach-tegra/odm_kit/platform/battery/Makefile
@@ -8,5 +8,5 @@ ccflags-y += -DNV_DEBUG=0
endif
obj-$(CONFIG_TEGRA_ODM_HARMONY) += nvodm_battery.o
-obj-$(CONFIG_TEGRA_ODM_WHISTLER) += nvodm_battery_stub.o
+obj-$(CONFIG_TEGRA_ODM_WHISTLER) += nvodm_battery_whistler.o
obj-$(CONFIG_TEGRA_ODM_VENTANA) += nvodm_battery_ventana.o
diff --git a/arch/arm/mach-tegra/odm_kit/platform/battery/nvodm_battery_whistler.c b/arch/arm/mach-tegra/odm_kit/platform/battery/nvodm_battery_whistler.c
new file mode 100644
index 000000000000..bc3a662e5bab
--- /dev/null
+++ b/arch/arm/mach-tegra/odm_kit/platform/battery/nvodm_battery_whistler.c
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2010 NVIDIA Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the NVIDIA Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+ /* Dummy battery odm driver for whistler */
+
+#include "nvcommon.h"
+#include "nvodm_battery.h"
+
+typedef struct NvOdmBatteryDeviceRec
+{
+ NvBool bBattPresent;
+ NvBool bBattFull;
+} NvOdmBatteryDevice;
+
+/**
+ * Gets the battery event.
+ *
+ * @param hDevice A handle to the EC.
+ * @param pBatteryEvent Battery events
+ *
+ */
+void NvOdmBatteryGetEvent(
+ NvOdmBatteryDeviceHandle hDevice,
+ NvU8 *pBatteryEvent)
+{
+ NvOdmBatteryDevice *pBattContext = NULL;
+
+ pBattContext = (NvOdmBatteryDevice *)hDevice;
+
+ *pBatteryEvent = 0;
+}
+
+NvBool NvOdmBatteryDeviceOpen(NvOdmBatteryDeviceHandle *hDevice,
+ NvOdmOsSemaphoreHandle *hOdmSemaphore)
+{
+ *hDevice = NULL;
+ return NV_TRUE;
+}
+
+void NvOdmBatteryDeviceClose(NvOdmBatteryDeviceHandle hDevice)
+{
+}
+
+/**
+ * Gets the AC line status.
+ *
+ * @param hDevice A handle to the EC.
+ * @param pStatus A pointer to the AC line
+ * status returned by the ODM.
+ *
+ * @return NV_TRUE if successful, or NV_FALSE otherwise.
+ */
+NvBool NvOdmBatteryGetAcLineStatus(
+ NvOdmBatteryDeviceHandle hDevice,
+ NvOdmBatteryAcLineStatus *pStatus)
+{
+ *pStatus = NvOdmBatteryAcLine_Offline;
+ return NV_TRUE;
+}
+
+
+/**
+ * Gets the battery status.
+ *
+ * @param hDevice A handle to the EC.
+ * @param batteryInst The battery type.
+ * @param pStatus A pointer to the battery
+ * status returned by the ODM.
+ *
+ * @return NV_TRUE if successful, or NV_FALSE otherwise.
+ */
+NvBool NvOdmBatteryGetBatteryStatus(
+ NvOdmBatteryDeviceHandle hDevice,
+ NvOdmBatteryInstance batteryInst,
+ NvU8 *pStatus)
+{
+ *pStatus = NVODM_BATTERY_STATUS_UNKNOWN;
+ return NV_TRUE;
+}
+
+/**
+ * Gets the battery data.
+ *
+ * @param hDevice A handle to the EC.
+ * @param batteryInst The battery type.
+ * @param pData A pointer to the battery
+ * data returned by the ODM.
+ *
+ * @return NV_TRUE if successful, or NV_FALSE otherwise.
+ */
+NvBool NvOdmBatteryGetBatteryData(
+ NvOdmBatteryDeviceHandle hDevice,
+ NvOdmBatteryInstance batteryInst,
+ NvOdmBatteryData *pData)
+{
+ NvOdmBatteryData BatteryData;
+
+ BatteryData.BatteryAverageCurrent = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryAverageInterval = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryCurrent = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryLifePercent = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryLifeTime = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryMahConsumed = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryTemperature = NVODM_BATTERY_DATA_UNKNOWN;
+ BatteryData.BatteryVoltage = NVODM_BATTERY_DATA_UNKNOWN;
+
+ *pData = BatteryData;
+ return NV_TRUE;
+}
+
+/**
+ * Gets the battery full life time.
+ *
+ * @param hDevice A handle to the EC.
+ * @param batteryInst The battery type.
+ * @param pLifeTime A pointer to the battery
+ * full life time returned by the ODM.
+ *
+ */
+void NvOdmBatteryGetBatteryFullLifeTime(
+ NvOdmBatteryDeviceHandle hDevice,
+ NvOdmBatteryInstance batteryInst,
+ NvU32 *pLifeTime)
+{
+ *pLifeTime = NVODM_BATTERY_DATA_UNKNOWN;
+}
+
+
+/**
+ * Gets the battery chemistry.
+ *
+ * @param hDevice A handle to the EC.
+ * @param batteryInst The battery type.
+ * @param pChemistry A pointer to the battery
+ * chemistry returned by the ODM.
+ *
+ */
+void NvOdmBatteryGetBatteryChemistry(
+ NvOdmBatteryDeviceHandle hDevice,
+ NvOdmBatteryInstance batteryInst,
+ NvOdmBatteryChemistry *pChemistry)
+{
+ *pChemistry = NVODM_BATTERY_DATA_UNKNOWN;
+}
+
+
+