LCD_KCAL: Introduce configurable kcal_min

Lower values such as 0-10 ultimately create a dark, washed out display, if a user accidently sets their kcal values to "0 0 0" they will loose visual control of the device, potentially requiring a hard reboot.
Introduce minimum kcal values to prevent this behavior.

Willing users can disable this protection by setting the kcal_min value to '0', however the default value of 35 is recommended.

sysfs:
echo "1/255" > /sys/devices/platform/kcal_ctrl.0/kcal_min

kcal_min will detect and block values attempting to set lower than itself, resetting the specific values to that of kcal_min. There is also behavior to adjust the kcal if kcal_min is set to a level higher than that of any kcal value(s).

Change-Id: I2cc71db55d79485f1a253844b4f67d46921666a4
LCD_KCAL: Prevent out-of-range input values

Change-Id: Ia9a9de1ce285007b5445149716a935cbf708d17e
usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs

This patch adds a "cdrom" sysfs entry for each mass_storage LUN, just
like "ro" sysfs entry. This allows switching between USB and CD-ROM
emulation without reinserting the module or recompiling the kernel.

Change-Id: Idf83c74815b1ad370428ab9d3e5503d5f7bcd3b6
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_kernel_htc_msm8974 into kk4.4