Add implementations for system_reboot reason argument

The nyx_system_reboot API was extended with a reason argument, and this
task implements that

Also increment component version to 3.0.0

Open-webOS-DCO-1.0-Signed-off-by: Janne Hurskainen <janne.hurskainen@palm.com>
Open-webOS-DCO-1.0-signed-off-by: Keith Derrick <keith.derrick@palm.com>

Change-Id: Icb4a172de52962a9b4989f47e6d2c5a120ec0b6f
Reviewed-on: http://g2g.palm.com/854
Reviewed-by: Build Verification
Tested-by: Keith Derrick <keith.derrick@palm.com>
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Conform to nascent nyx-lib 3.0.0 API

- Remove support for deleted device_info types
- Add "reason" argument to nyx_system_shutdown for symmetry with
  nyx_system_reboot.

Open-webOS-DCO-1.0-Signed-off-by: Keith Derrick <keith.derrick@palm.com>

Change-Id: I556f4252dd4c38fb20a6ea99199b3cd14a3844d9
Reviewed-on: http://g2g.palm.com/865
Reviewed-by: Build Verification
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Tested-by: Keith Derrick <keith.derrick@palm.com>
Reviewed-by: Sapna Todwal <sapna.todwal@palm.com>
Fix popup alert not showing for events in calendar

Open-webOS-DCO-1.0-Signed-off-by: Pekka Ropo <pekka.ropo@palm.com>

Change-Id: Ic72366750fa92ccc17500ac79de976d8213987ae
Reviewed-on: http://g2g.palm.com/913
Reviewed-by: Build Verification
Reviewed-by: Pekka Ropo <pekka.ropo@palm.com>
Tested-by: Pekka Ropo <pekka.ropo@palm.com>
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Update for Mass Storage Mode now being a separate device

- Increment version number to 4.0.0
- Emulator doesn't support Mass Storage Mode, so don't add code to
  create the new device
- Remove all Mass Storage Mode related functionality from System device
- Update nyx-lib version dependency in README.md

Open-webOS-DCO-1.0-Signed-off-by: Pekka Ropo <pekka.ropo@palm.com>

Change-Id: I4e615d6dc8569d095cf7a86a56b334407d8596d3
Reviewed-on: http://g2g.palm.com/1219
Reviewed-by: Build Verification
Reviewed-by: Herb Kuta <herb.kuta@palm.com>
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Tested-by: Keith Derrick <keith.derrick@palm.com>
Add device_info_internal_t to device_info_generic.c.in

Open-webOS-DCO-1.0-Signed-off-by: Pekka Ropo <pekka.ropo@palm.com>

Change-Id: Ica2d7f43c16a18d7626f0b30001b12ac2749d46e
Reviewed-on: http://g2g.palm.com/1247
Reviewed-by: Build Verification
Tested-by: Pekka Ropo <pekka.ropo@palm.com>
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Add support for virtualbox touchpanel touch events

Open-webOS-DCO-1.0-Signed-off-by: Janne Kiiski <janne.kiiski@palm.com>

Change-Id: I9b8b1ce413aad270d577470ebcd0c4693f6798f4
Reviewed-on: http://g2g.palm.com/1271
Reviewed-by: Build Verification
Reviewed-by: Janne Kiiski <janne.kiiski@palm.com>
Tested-by: Janne Kiiski <janne.kiiski@palm.com>
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Use BTN_LEFT instead of BTN_MOUSE in VirtualBox

Open-webOS-DCO-1.0-Signed-off-by: Keith Derrick <keith.derrick@palm.com>

Change-Id: Icd327ea1deb75e6401a7108ed435fc89038f363c
Reviewed-on: http://g2g.palm.com/1311
Reviewed-by: Build Verification
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Tested-by: Keith Derrick <keith.derrick@palm.com>
Reviewed-by: Sapna Todwal <sapna.todwal@palm.com>
Support keyboard in VirtuablBox image

qemux86 and Virtual Box use different eventX inputs for the keyboard
and touchpanel device.

In order for the same build to work with both:

- Add udev rule to link to the correct touchpanel event
- Add udev rule to create a keyboard0 symlink to the correct device
- Use keyboard0 instead of an explicit eventX for key input

Open-webOS-DCO-1.0-Signed-off-by: Keith Derrick <keith.derrick@palm.com>

Change-Id: Ia7d003af791969f68d9ce2a6b6094abe3e3c3b44
Reviewed-on: http://g2g.palm.com/1312
Reviewed-by: Build Verification
Reviewed-by: Keith Derrick <keith.derrick@palm.com>
Tested-by: Keith Derrick <keith.derrick@palm.com>
Reviewed-by: Sapna Todwal <sapna.todwal@palm.com>
keys: split out common key handling code from emulator module

It makes no sense to have the same code in more than one module so we're splitting out the
common input device handling code and just put the specific key handling into module
specific code section.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
keys: add device specific implementation

For real target devices there is only a small subset of keys we're able to use. This is
known handled and mapped within a device specific implementation which is separated from
the emulator one.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
led_controller: initial code for a common led controller module

The current implementation only provides support for setting the backlight brightness and
disabling/enabling the backlight when needed. Further effect implementation is missing.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
touchpanel: rename emulator implementation to evdev

The current emulator implementation is using the evdev input protocol which is appropiate
for other devices as well so we make it unrelated to the emulator here. Differences
between different target machines (and emulator) should be implemented as config options.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
touchpanel: evdev: read screen size from framebuffer when possible

* read screen size when not defined by machine config from framebuffer
* define static screen size for qemuarm and qemux86 machines

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
touchpanel: build evdev implementation for WEBOS_TARGET_MACHINE_IMPL device

The evdev implementation should be suitable for most devices until we have a real multi
touch implementation for the MT protocol.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
system: use a flat directory structure to have same code for all machines

If there need to be specific implementations for different machines then this should be
separated from the main module code which should mostly be the same for all needed
implementations.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
battery: split out common file handling methods into separate source file

Having common functionality separated from the specific ones makes it easier to implement
for a target device which is not the emulator. Both can still share the same common
functionality.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
battery: add a device specific implementation

The implementation is based on the common linux power supply interface and is detected
changes to the current status with processing uevents due to the use of libudev.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
charger: split out common module functionality

With splitting out common module functionality we're now able to add different
implementations for the charger module. For target emulator machines this is still the
same dummy implementation as before.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
charger: add a device implementation for charger status detection

The device implementation is based on the common linux power supply interface and is per
default enabled to detect changes for AC and USB chargers. It's using libudev to detect
a changed charger status.

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>
machine: add support for the tuna machine

Open-webOS-DCO-1.0-Signed-off-by: Simon Busch <morphis@gravedo.de>