22 Feb, 2013

40 commits

  • Mark the pl031 as wake-up capable so that rtcwake and suspend test can work.

    Signed-off-by: Rob Herring
    Cc: Srinidhi Kasagar
    Cc: Linus Walleij
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     
  • [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: Torben Hohn
    Cc: Dan Carpenter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Torben Hohn
     
  • All interrupt get disabled during system suspend and enabled during system
    resume. The enabling/disabling of interrupt happen in sequence of
    interrupt registration with framework.

    Therefore, in resume, the parent interrupt of this device enabled before
    the RTC irq interrupt enabled. If RTC is enabled for alarm wake and if
    system wake by alarm then there is interrupt pending for RTC. In resume,
    the parent interrupt get enabled before the rtc interrupt and hence ISR
    get served. In ISR, it founds that rtc interrupt is disabled and so it
    does not call the rtc isr handler and hence it misses the interrupt.

    Setting flag for early resume so that rtc interrupt get enabled before
    parent interrupt and so rtc interrupt get enabled when parent interrupt
    handler check for interrupt of device and call the rtc handler if it is
    there. This way it will not miss the interrupt.

    Signed-off-by: Laxman Dewangan
    Cc: Mark Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • Use SET_SYSTEM_SLEEP_PM_OPS for setting suspend/resume callbacks for
    dev_pm_ops.

    Signed-off-by: Laxman Dewangan
    Cc: Mark Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • The driver stores the interrupt enable register before going to suspend
    and restore in resume. Also it enables alarm before going to suspend.

    The driver only write the Interrupt enable register for enabling ALARM and
    does not enable any other bits. So it is not require to save complete
    register and enable ALARM interrupt before suspend and restore in resume.

    Also ALARM interrupt already enable if alarm is enabled before going to
    suspend and hence it is not require to enable explictly in suspend.

    Removing such above code.

    Signed-off-by: Laxman Dewangan
    Cc: Mark Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • Making the rtc driver as wakeup capabale and leaving the wake
    enable/disable decision to user space through a sysfs attribute.

    In suspend, enable wake if device wakeup enabled. In resume disable wake
    again.

    This change is inline with the Documentation/power/devices.txt#
    /sys/devices/.../power/wakeup files

    Signed-off-by: Laxman Dewangan
    Cc: Mark Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • Add an RTC driver for TPS80031/TPS80032 chips by TI. This driver
    supports:
    - Setting and getting time and date.
    - Setting and reading alarm time.
    - Alarm and interrupt functionlity.

    [akpm@linux-foundation.org: remove obsolete __devinit/__devexit]
    Signed-off-by: Laxman Dewangan
    Reviewed-by: Devendra Naga
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • TI LP8788 PMU supports regulators, battery charger, RTC, ADC, backlight
    driver and current sinks. This patch enables LP8788 rtc module.

    Signed-off-by: Milo(Woogyom) Kim
    Cc: "devendra.aaru"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kim, Milo
     
  • Remove removes some code duplication by using module_platform_driver().

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Srinivas Kandagatla
     
  • Found by Coccinelle: http://coccinelle.lip6.fr/

    Signed-off-by: Peter Senna Tschudin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Senna Tschudin
     
  • pxa-rtc is widely used in pxa27x/pxa3xx/pxa93x/pxa95x. Checking cpuid in
    pxa-rtc driver is unnecessary since we assign on-chip device in soc files.

    Signed-off-by: Haojian Zhuang
    Cc: Alessandro Zummo
    Cc: Grant Likely
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haojian Zhuang
     
  • This eliminates having an #ifdef returning NULL for the case when OF is
    disabled. Maintains consistency in cases where OF is always selected.

    Signed-off-by: Sachin Kamat
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • Implement reading of the battery voltage low signal for rtc-pcf8523.

    The bit is read-only and cannot be cleared by software, so no
    clear function is implemented.

    [akpm@linux-foundation.org: omit pcf8563_rtc_ioctl() if CONFIG_RTC_INTF_DEV=n]
    Signed-off-by: Jesper Nilsson
    Reviewed-by: Thierry Reding
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Nilsson
     
  • Add a driver to support max77686 rtc. MAX77686 rtc support smpl and wtsr
    mode. It has two alarm register which can be used for alarming to wake
    system up. This drvier uses regmap to access its register.

    [akpm@linux-foundation.org: remove inline, __devinit annotations]
    [jg1.han@samsung.com: fix build warnings]
    [akpm@linux-foundation.org: simplify code]
    Signed-off-by: Chiwoong Byun
    Signed-off-by: Jonghwa Lee
    Signed-off-by: Myugnjoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jonghwa Lee
     
  • Fix alarm can't wake up system issue

    Signed-off-by: Leo Song
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Leo Song
     
  • Fix pxa rtc alarm issue by setting week of month and day of week in
    rdar/rdcr or it would not match.

    Signed-off-by: Leo Song
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Leo Song
     
  • Signed-off-by: Andy Shevchenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • We can use user_ns, which is also assigned from task_cred_xxx(tsk,
    user_ns), at the beginning of copy_namespaces().

    Signed-off-by: Yuanhan Liu
    Acked-by: Serge Hallyn
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yuanhan Liu
     
  • In fill_elf_header(), elf->e_ident[EI_OSABI] is always set to ELF_OSABI,
    so remove the unused argument 'osabi'.

    Signed-off-by: Zhang Yanfei
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhang Yanfei
     
  • Do not test udelay() for a value less than 10usec when passed a variable
    instead of a hard-coded number; there is no way for checkpatch to know the
    value of the variable. As it is today, it will complain about variables
    with alphanumeric characters plus '_', e.g. foo_bar, but not variables
    with other characters, eg. foo->bar.

    Signed-off-by: Bruce Allan
    Cc: Andy Whitcroft
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bruce Allan
     
  • kcalloc is sometimes misused with the first and second arguments switched.

    Same issue with kmalloc_array too.

    Bleat if sizeof is the first argument

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • I'm getting a ton of these:

    WARNING: Avoid CamelCase:
    #140: FILE: mm/migrate.c:1576:
    + if (PageTransHuge(page) && page_count(page) != 3) {

    So exclude anything which starts with "Page".

    Tested-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Get people to stop adding __devinit and __devexit section markings.

    Signed-off-by: Joe Perches
    Acked-by: Andy Whitcroft
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add YA check to printk style.

    dev_ uses are functions and generate smaller
    object code than dev_printk(KERN_.

    Signed-off-by: Joe Perches
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Change the defautl XZ_DEC_* config symbol to match the configured
    architecture. It is perfectly legitimate to support multiple XZ BCJ
    filters for different architectures (e.g.: to mount foreign squashfs/xz
    compressed filesystems), it is however more natural not to select them all
    by default, but only the one matching the configured architecture.

    Signed-off-by: Florian Fainelli
    Acked-by: Lasse Collin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Fainelli
     
  • Remove the XZ_DEC_* depedencey on CONFIG_EXPERT as recommended by Lasse
    Colin.

    Signed-off-by: Florian Fainelli
    Acked-by: Lasse Collin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Fainelli
     
  • Group all architecture-specific BCJ filter configuration symbols under an
    if XZ_BCJ / endif statement.

    Signed-off-by: Florian Fainelli
    Acked-by: Lasse Collin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Fainelli
     
  • match_number() has return values of -ENOMEM, -EINVAL and -ERANGE. So, for
    all the functions calling match_number, the return value should include
    these values. Fix up the comments to reflect the correct values.

    Signed-off-by: Namjae Jeon
    Signed-off-by: Amit Sahrawat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Namjae Jeon
     
  • Getting the brightness value is not critical, no need to read the actual
    register value. To simplify it, just return the 'bl->props.brightness'
    value. Then, lp855x_read_byte() can be removed, not used any more.

    Signed-off-by: Milo(Woogyom) Kim
    Acked-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kim, Milo
     
  • LP8557 is one of LP855x family device, but it has different register map
    and initialization process. To support this device, device specific
    configuration is done through the lp855x_device_config structure.

    Few register definitions are fixed for better readability.
    BRIGHTNESS_CTRL -> LP855X_BRIGHTNESS_CTRL
    DEVICE_CTRL -> LP855X_DEVICE_CTRL
    EEPROM_START -> LP855X_EEPROM_START
    EEPROM_END -> LP855X_EEPROM_END
    EPROM_START -> LP8556_EPROM_START
    EPROM_END -> LP8556_EPROM_END

    And LP8557 register definitions are added. New register function,
    lp855x_update_bit() is added.

    Signed-off-by: Milo(Woogyom) Kim
    Acked-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kim, Milo
     
  • At this moment, LP855x device driver has fixed register configuration.
    For example, fixed register addresses and values are set on the device
    initialization. But new device of LP855x family, LP8557 has different
    register map and initialization sequence. To support new device
    architecture, initialization process should be changed.

    Introduce new structure: lp855x_device_config
    =============================================
    With lp855x_device_config, device specific features are configurable.
    Use configurable function calls and register addresses rather than fixed values.

    Change on device initialization
    ===============================
    In old LP855x driver architecture, the device initialization was simple.
    - Just update the brightness/device control register/ROM area(optional).
    In new LP855x driver architecture, two more works are added - pre_init and
    post_init.
    Those init functions are optional, used for new device LP8557.

    New device initialization flow: generic sequence
    =================================================
    1) pre_init_device()
    2) update the brightness register
    3) update the device control register
    4) update ROM area if need
    5) post_init_device()

    Name change
    ===========
    Use generic name 'lp855x_configure()' instead of 'lp855x_init_registers()'.

    Signed-off-by: Milo(Woogyom) Kim
    Acked-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kim, Milo
     
  • Clearing the NSTBY bit in the control register also automatically clears
    the BLEN bit. So we need to make sure to set it again during resume,
    otherwise the backlight will stay off.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Michael Hennerich
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lars-Peter Clausen
     
  • There is no need to return -EIO, because backlight_device_register()
    already returns correct error values.

    Signed-off-by: Jingoo Han
    Acked-by: Daniel Jeong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • gamma_table has 3 arrays which each hold MAX_GAMMA_LEVEL pointers to int.

    The current code sets ->gamma_table_count to 6 on 64bit arches and to 3 on
    32 bit arches. It should be 3 on everything.

    Signed-off-by: Dan Carpenter
    Cc: Jingoo Han
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter
     
  • of_find_node_by_name() returns a node pointer with refcount incremented,
    use of_node_put() on it when done.

    of_find_node_by_name() will call of_node_put() against the node pass to
    from parameter, thus we also need to call of_node_get(from) before calling
    of_find_node_by_name().

    Signed-off-by: Axel Lin
    Cc: Jingoo Han
    Cc: Haojian Zhuang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     
  • This is an initial commit of a backlight driver, using step-up DCDC
    power supplies on AS3711 PMIC. Only one mode has actually been tested,
    several further modes have been implemented "dry," but disabled to avoid
    accidental hardware damage. Anyone wishing to use any of those modes
    will have to modify the driver.

    Tested on sh73a0-based kzm9g board. Only one mode has been tested and
    is enabled. That mode copies the sample code from the manufacturer.
    Deviations from that code proved to be fatal for the hardware...

    Signed-off-by: Guennadi Liakhovetski
    Cc: Magnus Damm
    Cc: Richard Purdie
    Acked-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guennadi Liakhovetski
     
  • Fix up indenting. Also alphasort all entries, which reduces patch
    collisions.

    Cc: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Signed-off-by: Maxime Ripard
    Cc: Jingoo Han
    Cc: Shawn Guo
    Cc: Brian Lilly
    Cc: Richard Purdie
    Cc: Florian Tobias Schandinat
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maxime Ripard
     
  • devm_regulator_bulk_get is device managed and saves some cleanup
    and exit code.

    Signed-off-by: Sachin Kamat
    Cc: Donghwa Lee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat