17 Apr, 2011

1 commit

  • …linus', 'timer-fixes-for-linus' and 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()
    perf: Fix a build error with some GCC versions

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix erroneous all_pinned logic
    sched: Fix sched-domain avg_load calculation

    * 'timer-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    RTC: rtc-mrst: follow on to the change of rtc_device_register()
    RTC: add missing "return 0" in new alarm func for rtc-bfin.c
    RTC: Fix s3c compile error due to missing s3c_rtc_setpie
    RTC: Fix early irqs caused by calling rtc_set_alarm too early

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, amd: Disable GartTlbWlkErr when BIOS forgets it
    x86, NUMA: Fix fakenuma boot failure
    x86/mrst: Fix boot crash caused by incorrect pin to irq mapping
    x86/ce4100: Add reg property to bridges

    Linus Torvalds
     

16 Apr, 2011

2 commits

  • This patch disables GartTlbWlk errors on AMD Fam10h CPUs if
    the BIOS forgets to do is (or is just too old). Letting
    these errors enabled can cause a sync-flood on the CPU
    causing a reboot.

    The AMD BKDG recommends disabling GART TLB Wlk Error completely.

    This patch is the fix for

    https://bugzilla.kernel.org/show_bug.cgi?id=33012

    on my machine.

    Signed-off-by: Joerg Roedel
    Link: http://lkml.kernel.org/r/20110415131152.GJ18463@8bytes.org
    Tested-by: Alexandre Demers
    Cc:
    Signed-off-by: H. Peter Anvin

    Joerg Roedel
     
  • Currently, numa=fake boot parameter is broken. If it's used,
    kernel may panic due to devide by zero error depending on CPU
    configuration

    Call Trace:
    [] find_busiest_group+0x38c/0xd30
    [] ? local_clock+0x6f/0x80
    [] load_balance+0xa3/0x600
    [] idle_balance+0xf3/0x180
    [] schedule+0x722/0x7d0
    [] ? wait_for_common+0x128/0x190
    [] schedule_timeout+0x265/0x320
    [] ? lock_release_holdtime+0x35/0x1a0
    [] ? wait_for_common+0x128/0x190
    [] ? __lock_release+0x9c/0x1d0
    [] ? _raw_spin_unlock_irq+0x30/0x40
    [] ? _raw_spin_unlock_irq+0x30/0x40
    [] wait_for_common+0x130/0x190
    [] ? try_to_wake_up+0x510/0x510
    [] wait_for_completion+0x1d/0x20
    [] kthread_create_on_node+0xac/0x150
    [] ? process_scheduled_works+0x40/0x40
    [] ? wait_for_common+0x4f/0x190
    [] __alloc_workqueue_key+0x1a3/0x590
    [] cpuset_init_smp+0x6b/0x7b
    [] kernel_init+0xc3/0x182
    [] kernel_thread_helper+0x4/0x10
    [] ? retint_restore_args+0x13/0x13
    [] ? start_kernel+0x400/0x400
    [] ? gs_change+0x13/0x13

    The divede by zero is caused by the following line,
    group->cpu_power==0:

    kernel/sched_fair.c::update_sg_lb_stats()
    /* Adjust by relative CPU power of the group */
    sgs->avg_load = (sgs->group_load * SCHED_LOAD_SCALE) / group->cpu_power;

    This regression was caused by commit e23bba6044 ("x86-64, NUMA: Unify
    emulated distance mapping") because it changes cpu -> node
    mapping in the process of dropping fake_physnodes().

    old) all cpus are assinged node 0
    now) cpus are assigned round robin
    (the logic is implemented by numa_init_array())

    Note: The change in behavior only happens if the system doesn't
    have neither ACPI SRAT table nor AMD northbridge NUMA
    information.

    Round robin assignment doesn't work because init_numa_sched_groups_power()
    assumes all logical cpus in the same physical cpu share the same node
    (then it only accounts for group_first_cpu()), and the simple round robin
    breaks the above assumption.

    Thus, this patch implements a reassignment of node-ids if buggy firmware
    or numa emulation makes wrong cpu node map. Tt enforce all logical cpus
    in the same physical cpu share the same node.

    Signed-off-by: KOSAKI Motohiro
    Acked-by: Tejun Heo
    Cc: Yinghai Lu
    Cc: Brian Gerst
    Cc: Cyrill Gorcunov
    Cc: Shaohui Zheng
    Cc: David Rientjes
    Cc: H. Peter Anvin
    Link: http://lkml.kernel.org/r/20110415203928.1303.A69D9226@jp.fujitsu.com
    Signed-off-by: Ingo Molnar

    KOSAKI Motohiro
     

13 Apr, 2011

1 commit


12 Apr, 2011

3 commits

  • Moorestown systems crash on boot because the secondary CPU
    clockevent (apbt1) will fail to request irq#1, which does not
    have ioapic chip in its irq_desc[] entry.

    Background:

    Moorestown platform does not have ISA bus nor legacy IRQs. It
    reuses the range of legacy IRQs for regular device interrupts.
    The routing information of early system device IRQs (timers) are
    obtained from firmware provided SFI tables. We reuse/fake MP
    configuration table to facilitate IRQ setup with IOAPIC.

    Maintaining a 1:1 mapping of IOAPIC pin (RTE entry) and IRQ#
    makes routing information clean and easy to understand on
    Moorestown. Though optional.

    This patch allows SFI timer and vRTC IRQ to be treated as ISA
    IRQ so that pin2irq mapping will be 1:1.

    Also fixed MP table type and use macros to clearly set MP IRQ
    entries. As a result, apbt timer and RTC interrupts on
    Moorestown are within legacy IRQ range:

    # cat /proc/interrupts
    CPU0 CPU1
    0: 11249 0 IO-APIC-edge apbt0
    1: 0 12271 IO-APIC-edge apbt1
    8: 887 0 IO-APIC-fasteoi dw_spi
    13: 0 0 IO-APIC-fasteoi INTEL_MID_DMAC2
    14: 0 0 IO-APIC-fasteoi rtc0

    Further discussion of this patch can be found at:

    https://lkml.org/lkml/2010/6/10/70

    Suggested-by: "Eric W. Biederman"
    Signed-off-by: Jacob Pan
    Cc: Feng Tang
    Cc: Alan Cox
    Cc: Arjan van de Ven
    Link: http://lkml.kernel.org/r/1302286980-21139-1-git-send-email-jacob.jun.pan@linux.intel.com
    Signed-off-by: Ingo Molnar

    Jacob Pan
     
  • * 'stable/bug-fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Allow PV-OPS kernel to detect whether XSAVE is supported
    xen: just completely disable XSAVE
    xen/debug: Don't be so verbose with WARN on 1-1 mapping errors.
    xen: events: fix error checks in bind_*_to_irqhandler()

    Linus Torvalds
     
  • Make XEN_SAVE_RESTORE select HIBERNATE_CALLBACKS.
    Remove XEN_SAVE_RESTORE dependency from PM_SLEEP.

    Signed-off-by: Shriram Rajagopalan
    Acked-by: Ian Campbell
    Signed-off-by: Rafael J. Wysocki

    Shriram Rajagopalan
     

11 Apr, 2011

1 commit

  • without the reg property Ben's new code won't find the PCI & ISA
    bridge and the devices won't get the DT-node attached.

    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Thomas Gleixner
    Cc: davem@davemloft.net
    Cc: monstr@monstr.eu
    Cc: Benjamin Herrenschmidt
    Link: http://lkml.kernel.org/r/20110407121315.GA9204@linutronix.de
    Signed-off-by: Ingo Molnar

    Sebastian Andrzej Siewior
     

08 Apr, 2011

1 commit

  • …-linus', 'irq-fixes-for-linus' and 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86-32, fpu: Fix FPU exception handling on non-SSE systems
    x86, hibernate: Initialize mmu_cr4_features during boot
    x86-32, NUMA: Fix ACPI NUMA init broken by recent x86-64 change
    x86: visws: Fixup irq overhaul fallout

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Clean up rebalance_domains() load-balance interval calculation

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86/mrst/vrtc: Fix boot crash in mrst_rtc_init()
    rtc, x86/mrst/vrtc: Fix boot crash in rtc_read_alarm()

    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: Fix cpumask leak in __setup_irq()

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf probe: Fix listing incorrect line number with inline function
    perf probe: Fix to find recursively inlined function
    perf probe: Fix multiple --vars options behavior
    perf probe: Fix to remove redundant close
    perf probe: Fix to ensure function declared file

    Linus Torvalds
     

07 Apr, 2011

3 commits

  • The sfi_mrtc_array[] only gets initialized when the sfi mrtc
    table is parsed, so the vrtc_paddr should be initalized after it
    too.

    Signed-off-by: Feng Tang
    Signed-off-by: Alan Cox
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/1302140389-27603-1-git-send-email-feng.tang@intel.com
    Signed-off-by: Ingo Molnar

    Feng Tang
     
  • On 32bit systems without SSE (that is, they use FSAVE/FRSTOR for FPU
    context switches), FPU exceptions in user mode cause Oopses, BUGs,
    recursive faults and other nasty things:

    fpu exception: 0000 [#1]
    last sysfs file: /sys/power/state
    Modules linked in: psmouse evdev pcspkr serio_raw [last unloaded: scsi_wait_scan]

    Pid: 1638, comm: fxsave-32-excep Not tainted 2.6.35-07798-g58a992b-dirty #633 VP3-596B-DD/VT82C597
    EIP: 0060:[] EFLAGS: 00010202 CPU: 0
    EIP is at math_error+0x1b4/0x1c8
    EAX: 00000003 EBX: cf9be7e0 ECX: 00000000 EDX: cf9c5c00
    ESI: cf9d9fb4 EDI: c1372db3 EBP: 00000010 ESP: cf9d9f1c
    DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
    Process fxsave-32-excep (pid: 1638, ti=cf9d8000 task=cf9be7e0 task.ti=cf9d8000)
    Stack:
    00000000 00000301 00000004 00000000 00000000 cf9d3000 cf9da8f0 00000001
    00000004 cf9b6b60 c1019a6b c1019a79 00000020 00000242 000001b6 cf9c5380
    cf806b40 cf791880 00000000 00000282 00000282 c108a213 00000020 cf9c5380
    Call Trace:
    [] ? need_resched+0x11/0x1a
    [] ? should_resched+0x5/0x1f
    [] ? do_sys_open+0xbd/0xc7
    [] ? do_sys_open+0xbd/0xc7
    [] ? do_coprocessor_error+0x0/0x11
    [] ? error_code+0x65/0x70
    Code: a8 20 74 30 c7 44 24 0c 06 00 03 00 8d 54 24 04 89 d9 b8 08 00 00 00 e8 9b 6d 02 00 eb 16 8b 93 5c 02 00 00 eb 05 e9 04 ff ff ff dd 32 9b e9 16 ff ff ff 81 c4 84 00 00 00 5b 5e 5f 5d c3 c6
    EIP: [] math_error+0x1b4/0x1c8 SS:ESP 0068:cf9d9f1c

    This usually continues in slight variations until the system is reset.

    This bug was introduced by commit 58a992b9cbaf449aeebd3575c3695a9eb5d95b5e:
    x86-32, fpu: Rewrite fpu_save_init()

    Signed-off-by: Hans Rosenfeld
    Link: http://lkml.kernel.org/r/1302106003-366952-1-git-send-email-hans.rosenfeld@amd.com
    Signed-off-by: H. Peter Anvin

    Hans Rosenfeld
     
  • Restore the initialization of mmu_cr4_features during boot, which was
    removed without comment in checkin e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e

    x86: Cleanup highmap after brk is concluded

    thereby breaking resume from hibernate. This restores previous
    functionality in approximately the same place, and corrects the
    reading of %cr4 on pre-CPUID hardware (%cr4 exists if and only if
    CPUID is supported.)

    However, part of the problem is that the hibernate suspend/resume
    sequence should manage the save/restore of %cr4 explicitly.

    Signed-off-by: H. Peter Anvin
    Cc: Rafael J. Wysocki
    Cc: Stefano Stabellini
    Cc: Yinghai Lu
    LKML-Reference:

    H. Peter Anvin
     

06 Apr, 2011

4 commits

  • Xen fails to mask XSAVE from the cpuid feature, despite not historically
    supporting guest use of XSAVE. However, now that XSAVE support has been
    added to Xen, we need to reliably detect its presence.

    The most reliable way to do this is to look at the OSXSAVE feature in
    cpuid which is set iff the OS (Xen, in this case), has set
    CR4.OSXSAVE.

    [ Cleaned up conditional a bit. - Jeremy ]

    Signed-off-by: Shan Haitao
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Konrad Rzeszutek Wilk

    Shan Haitao
     
  • Some (old) versions of Xen just kill the domain if it tries to set any
    unknown bits in CR4, so we can't reliably probe for OSXSAVE in
    CR4.

    Since Xen doesn't support XSAVE for guests at the moment, and no such
    support is being worked on, there's no downside in just unconditionally
    masking XSAVE support.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Konrad Rzeszutek Wilk

    Jeremy Fitzhardinge
     
  • If KVM cannot find an exact match for a requested CPUID leaf, the
    code will try to find the closest match instead of simply confessing
    it's failure.
    The implementation was meant to satisfy the CPUID specification, but
    did not properly check for extended and standard leaves and also
    didn't account for the index subleaf.
    Beside that this rule only applies to CPUID intercepts, which is not
    the only user of the kvm_find_cpuid_entry() function.

    So fix this algorithm and call it from kvm_emulate_cpuid().
    This fixes a crash of newer Linux kernels as KVM guests on
    AMD Bulldozer CPUs, where bogus values were returned in response to
    a CPUID intercept.

    Signed-off-by: Andre Przywara
    Signed-off-by: Avi Kivity

    Andre Przywara
     
  • When KVM scans the 0xD CPUID leaf for propagating the XSAVE save area
    leaves, it assumes that the leaves are contigious and stops at the
    first zero one. On AMD hardware there is a gap, though, as LWP uses
    leaf 62 to announce it's state save area.
    So lets iterate through all 64 possible leaves and simply skip zero
    ones to also cover later features.

    Signed-off-by: Andre Przywara
    Signed-off-by: Avi Kivity

    Andre Przywara
     

05 Apr, 2011

1 commit


04 Apr, 2011

5 commits


01 Apr, 2011

2 commits

  • The MCE subsystem needs to sample an RCU-protected index outside of
    any protection for that index. If this was a pointer, we would use
    rcu_access_pointer(), but there is no corresponding rcu_access_index().
    This commit therefore creates an rcu_access_index() and applies it
    to MCE.

    Signed-off-by: Paul E. McKenney
    Tested-by: Zdenek Kabelac

    Paul E. McKenney
     
  • After a crash dump on an SGI Altix UV system the crash kernel
    fails to cause a reboot. EFI mode is disabled in the kdump
    kernel, so only the reboot_type of BOOT_ACPI works.

    Signed-off-by: Cliff Wickman
    Cc: rja@sgi.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Cliff Wickman
     

31 Mar, 2011

1 commit


30 Mar, 2011

4 commits

  • Merge reason: use the post-merge-window tree.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • On laptops with core i5/i7, there were reports that after resume
    graphics workloads were performing poorly on a specific AP, while
    the other cpu's were ok. This was observed on a 32bit kernel
    specifically.

    Debug showed that the PAT init was not happening on that AP
    during resume and hence it contributing to the poor workload
    performance on that cpu.

    On this system, resume flow looked like this:

    1. BP starts the resume sequence and we reinit BP's MTRR's/PAT
    early on using mtrr_bp_restore()

    2. Resume sequence brings all AP's online

    3. Resume sequence now kicks off the MTRR reinit on all the AP's.

    4. For some reason, between point 2 and 3, we moved from BP
    to one of the AP's. My guess is that printk() during resume
    sequence is contributing to this. We don't see similar
    behavior with the 64bit kernel but there is no guarantee that
    at this point the remaining resume sequence (after AP's bringup)
    has to happen on BP.

    5. set_mtrr() was assuming that we are still on BP and skipped the
    MTRR/PAT init on that cpu (because of 1 above)

    6. But we were on an AP and this led to not reprogramming PAT
    on this cpu leading to bad performance.

    Fix this by doing unconditional mtrr_if->set_all() in set_mtrr()
    during MTRR/PAT init. This might be unnecessary if we are still
    running on BP. But it is of no harm and will guarantee that after
    resume, all the cpu's will be in sync with respect to the
    MTRR/PAT registers.

    Signed-off-by: Suresh Siddha
    LKML-Reference:
    Signed-off-by: Eric Anholt
    Tested-by: Keith Packard
    Cc: stable@kernel.org [v2.6.32+]
    Signed-off-by: H. Peter Anvin

    Suresh Siddha
     
  • The lonely user of the internal interface was not in the coccinelle
    script.

    Reported-by: Randy Dunlap
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Use new irq_move functions
    xen: Convert genirq namespace
    xen: fix p2m section mismatches
    xen/p2m: Allocate p2m tracking pages on override
    xen-gntdev: unlock on error path in gntdev_mmap()
    xen-gntdev: return -EFAULT on copy_to_user failure

    Linus Torvalds
     

29 Mar, 2011

5 commits

  • Fix section mismatch warnings:
    set_phys_range_identity() is called by __init xen_set_identity(),
    so also mark set_phys_range_identity() as __init.
    then:
    __early_alloc_p2m() is called set_phys_range_identity(), so also mark
    __early_alloc_p2m() as __init.

    WARNING: arch/x86/built-in.o(.text+0x7856): Section mismatch in reference from the function __early_alloc_p2m() to the function .init.text:extend_brk()
    The function __early_alloc_p2m() references
    the function __init extend_brk().
    This is often because __early_alloc_p2m lacks a __init
    annotation or the annotation of extend_brk is wrong.

    WARNING: arch/x86/built-in.o(.text+0x7967): Section mismatch in reference from the function set_phys_range_identity() to the function .init.text:extend_brk()
    The function set_phys_range_identity() references
    the function __init extend_brk().
    This is often because set_phys_range_identity lacks a __init
    annotation or the annotation of extend_brk is wrong.

    [v2: Per Stephen Hemming recommonedation made __early_alloc_p2m static]
    Signed-off-by: Randy Dunlap
    Signed-off-by: Konrad Rzeszutek Wilk

    Randy Dunlap
     
  • Currently, microcode doesn't unregister syscore_ops after it's
    unloaded. So if we modprobe then rmmod microcode, the stale
    microcode syscore_ops info will stay on syscore_ops_list.

    Later when we're trying to reboot/halt/shutdown the machine, kernel
    will panic on syscore_shutdown().

    With the patch applied, I can reboot/halt/shutdown my machine successfully.

    Signed-off-by: Xiaotian Feng
    Cc: Tigran Aivazian
    Cc: Rafael J. Wysocki
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Xiaotian Feng
     
  • Stop including in x86 header files which don't
    need it. This will let the compiler complain when this header is
    not included by source files when it should, so that
    contributors can fix the problem before building on other
    architectures starts to fail.

    Credits go to Geert for the idea.

    Signed-off-by: Jean Delvare
    Cc: James E.J. Bottomley
    Cc: Geert Uytterhoeven
    Cc: Stephen Rothwell
    LKML-Reference:
    [ this also fixes an upstream build bug in drivers/media/rc/ite-cir.c ]
    Signed-off-by: Ingo Molnar

    Jean Delvare
     
  • Ingo Molnar
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: aesni-intel - fixed problem with packets that are not multiple of 64bytes

    Linus Torvalds
     

28 Mar, 2011

2 commits

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: Clean up max8997 IRQ namespace
    mfd: Fold irq_set_chip/irq_set_handler
    mfd: Cleanup irq namespace
    mfd: twl6030: Cleanup interrupt handling
    mfd: twl4030: Cleanup interrupt handling
    mfd: mx8925: Remove irq_desc leftovers
    mfd: htc-i2cpld: Cleanup interrupt handling
    mfd: htc-egpio: Cleanup interrupt handling
    mfd: ezx-pcap: Remvove open coded irq handling
    mfd: 88pm860x: Remove unused irq_desc leftovers
    mfd: asic3: Cleanup irq handling
    mfd: Select MFD_CORE if TPS6105X driver is configured
    mfd: Add MODULE_DEVICE_TABLE to rdc321x-southbridge
    mfd: Add MAX8997/8966 IRQ control
    mfd: Constify i2c_device_id tables
    mfd: OLPC: Clean up names to match what OLPC actually uses
    mfd: Add mfd_clone_cell(), convert cs5535-mfd/olpc-xo1 to it

    Linus Torvalds
     
  • Omit the segment prefix in the UP case. GS is not used then
    and we will generate segfaults if cmpxchg16b is used otherwise.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

27 Mar, 2011

3 commits

  • This patch fixes problem with packets that are not multiple of 64bytes.

    Signed-off-by: Adrian Hoban
    Signed-off-by: Aidan O'Mahony
    Signed-off-by: Gabriele Paoloni
    Signed-off-by: Tadeusz Struk
    Signed-off-by: Herbert Xu

    Tadeusz Struk
     
  • The cs5535-pms cell doesn't actually need to be cloned, so we can drop that
    and simply have the olpc-xo1.c driver use "cs5535-pms" directly.

    Also, rename the cs5535-acpi clones to what we actually use for the (currently
    out-of-tree) SCI driver. In the process, that fixes a subtle bug in
    olpc-xo1.c which broke powerdown on XO-1s.. olpc-xo1-ac-acpi was a typo, not
    something that actually existed.

    Signed-off-by: Daniel Drake
    Signed-off-by: Andres Salomon
    Signed-off-by: Samuel Ortiz

    Daniel Drake
     
  • Replace mfd_shared_platform_driver_register with mfd_clone_cell. The
    former was called by an mfd client, and registered both a platform driver
    and device. The latter is called by an mfd driver, and registers only a
    platform device.

    The downside of this is that mfd drivers need to be modified whenever
    new clients are added that share a cell; the upside is that it fits
    Linux's driver model better. It's also simpler.

    This also converts cs5535-mfd/olpc-xo1 from the old API. cs5535-mfd
    now creates the olpc-xo1-{acpi,pms} devices, while olpc-xo1 binds to
    them via platform drivers.

    Signed-off-by: Andres Salomon
    Signed-off-by: Samuel Ortiz

    Andres Salomon
     

26 Mar, 2011

1 commit