22 May, 2013

8 commits

  • virt_to_page() is typically implemented as a macro containing a cast so
    that it will accept both pointers and unsigned long without causing a
    warning.

    But MIPS virt_to_page() uses virt_to_phys which is a function so passing
    an unsigned long will cause a warning:

    CC mm/page_alloc.o
    mm/page_alloc.c: In function ‘free_reserved_area’:
    mm/page_alloc.c:5161:3: warning: passing argument 1 of ‘virt_to_phys’ makes pointer from integer without a cast [enabled by default]
    arch/mips/include/asm/io.h:119:100: note: expected ‘const volatile void *’ but argument is of type ‘long unsigned int’

    All others users of virt_to_page() in mm/ are passing a void *.

    Signed-off-by: Ralf Baechle
    Reported-by: Eunbong Song
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mm@kvack.org
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Pull mfd fixes from Samuel Ortiz:
    "This is the first batch of MFD fixes for 3.10.

    It's bigger than I would like, most of it is due to the big ab/db8500
    merge that went through during the 3.10 merge window.

    So we have:

    - Some build fixes for the tps65912 and ab8500 drivers.
    - A couple of build fixes for the the si476x driver with pre 4.3 gcc
    compilers.
    - A few runtime breakage fixes (probe failures or oopses) for the
    ab8500 and db8500 drivers.
    - Some sparse or regular gcc warning fixes for the si476x, ab8500 and
    cros_ec drivers."

    * tag 'mfd-fixes-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-fixes:
    mfd: ab8500-sysctrl: Let sysctrl driver work without pdata
    mfd: db8500-prcmu: Update stored DSI PLL divider value
    mfd: ab8500-sysctrl: Always enable pm_power_off handler
    mfd: ab8500-core: Pass GPADC compatible string to MFD core
    mfd: db8500-prcmu: Supply the pdata_size attribute for db8500-thermal
    mfd: ab8500-core: Use the correct driver name when enabling gpio/pinctrl
    mfd: ab8500: Pass AB8500 IRQ to debugfs code by resource
    mfd: ab8500-gpadc: Suppress 'ignoring regulator_enable() return value' warning
    mfd: ab8500-sysctrl: Set sysctrl_dev during probe
    mfd: ab8500-sysctrl: Fix sparse warning
    mfd: abx500-core: Fix sparse warning
    mfd: ab8500: Debugfs code depends on gpadc
    mfd: si476x: Use get_unaligned_be16() for unaligned be16 loads
    mfd: cros_ec_spi: Use %z to format pointer differences
    mfd: si476x: Do not use binary constants
    mfd: tps65912: Select MFD_CORE

    Linus Torvalds
     
  • Pull virtio fixes from Rusty Russell:
    "A build fix and a uapi exposure fix. The build fix is later than I
    liked, but my first version broke linux-next due to overzealous header
    clean."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio_console: fix uapi header
    Hoist memcpy_fromiovec/memcpy_toiovec into lib/

    Linus Torvalds
     
  • A check for a valid plat->sysctrl was introduced in:

    2377e52 mfd: ab8500-sysctrl: Error check clean up

    but the driver works just fine even without that initialization data,
    and enforcing it breaks existing platforms for no reason.

    This patch removes the check and let the driver go ahead with probe.

    Acked-by: Linus Walleij
    Signed-off-by: Fabio Baltieri
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Fabio Baltieri
     
  • Pull LED subsystem fix from Bryan Wu.

    * 'leds-fixes-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
    leds: leds-gpio: reserve gpio before using it

    Linus Torvalds
     
  • This reverts commit a99d76f (leds: leds-gpio: use gpio_request_one)
    and commit 2d7c22f (leds: leds-gpio: set devm_gpio_request_one()
    flags param correctly) which was a fix of the first one.

    The conversion to devm_gpio_request in commit e3b1d44c (leds:
    leds-gpio: use devm_gpio_request_one) is not reverted.

    The problem is that gpio_cansleep() and gpio_get_value_cansleep()
    calls can crash if the gpio is not first reserved. Incidentally this
    same bug existed earlier and was fixed similarly in commit d95cbe61
    (leds: Fix potential leds-gpio oops). But the OOPS is real. It happens
    when GPIOs are provided by module which is not yet loaded.

    So this fixes the following BUG during my ALIX boot (3.9.2-vanilla):

    BUG: unable to handle kernel NULL pointer dereference at 0000004c
    IP: [] __gpio_cansleep+0xe/0x1a
    *pde = 00000000
    Oops: 0000 [#1] SMP
    Modules linked in: leds_gpio(+) via_rhine mii cs5535_mfd mfd_core
    geode_rng rng_core geode_aes isofs nls_utf8 nls_cp437 vfat fat
    ata_generic pata_amd pata_cs5536 pata_acpi libata ehci_pci ehci_hcd
    ohci_hcd usb_storage usbcore usb_common sd_mod scsi_mod squashfs loop
    Pid: 881, comm: modprobe Not tainted 3.9.2 #1-Alpine
    EIP: 0060:[] EFLAGS: 00010282 CPU: 0
    EIP is at __gpio_cansleep+0xe/0x1a
    EAX: 00000000 EBX: cf364018 ECX: c132b8b9 EDX: 00000000
    ESI: c13993a4 EDI: c1399370 EBP: cded9dbc ESP: cded9dbc
    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    CR0: 8005003b CR2: 0000004c CR3: 0f0c4000 CR4: 00000090
    DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
    DR6: ffff0ff0 DR7: 00000400
    Process modprobe (pid: 881, ti=cded8000 task=cf094aa0 task.ti=cded8000)
    Stack:
    cded9de0 d09471cb 00000000 c1399260 cf364014 00000000 c1399260 c1399254
    d0949014 cded9df4 c118cd59 c1399260 d0949014 d0949014 cded9e08 c118ba47
    c1399260 d0949014 c1399294 cded9e1c c118bb75 cded9e24 d0949014 00000000
    Call Trace:
    [] gpio_led_probe+0xba/0x203 [leds_gpio]
    [] platform_drv_probe+0x26/0x48
    [] driver_probe_device+0x75/0x15c
    [] __driver_attach+0x47/0x63
    [] bus_for_each_dev+0x3c/0x66
    [] driver_attach+0x14/0x16
    [] ? driver_probe_device+0x15c/0x15c
    [] bus_add_driver+0xbd/0x1bc
    [] ? 0xd08b3fff
    [] ? 0xd08b3fff
    [] driver_register+0x74/0xec
    [] ? 0xd08b3fff
    [] platform_driver_register+0x38/0x3a
    [] gpio_led_driver_init+0xd/0x1000 [leds_gpio]
    [] do_one_initcall+0x6b/0x10f
    [] ? 0xd08b3fff
    [] load_module+0x1631/0x1907
    [] ? insert_vmalloc_vmlist+0x14/0x43
    [] ? __vmalloc_node_range+0x13e/0x15f
    [] sys_init_module+0x62/0x77
    [] syscall_call+0x7/0xb
    EIP: [] __gpio_cansleep+0xe/0x1a SS:ESP 0068:cded9dbc
    CR2: 000000000000004c
    ---[ end trace 5308fb20d2514822 ]---

    Signed-off-by: Timo Teräs
    Cc: Sachin Kamat
    Cc: Raphael Assenat
    Cc: Trent Piepho
    Cc: Javier Martinez Canillas
    Cc: Arnaud Patard
    Cc: Ezequiel Garcia
    Acked-by: Jingoo Han
    Signed-off-by: Bryan Wu

    Timo Teräs
     
  • Pull i2c bugfixes from Wolfram Sang:
    "These should have been in rc2 but I missed it due to working on devm
    longer than expected.

    There is one ID addition, since we are touching the driver anyhow.
    And the feature bit documentation is one outcome of a debug session
    and will make it easier for users to work around problems. The rest
    is typical driver bugfixes."

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: suppress lockdep warning on delete_device
    i2c: mv64xxx: work around signals causing I2C transactions to be aborted
    i2c: i801: Document feature bits in modinfo
    i2c: designware: add Intel BayTrail ACPI ID
    i2c: designware: always clear interrupts before enabling them
    i2c: designware: fix RX FIFO overrun

    Linus Torvalds
     
  • Pull s390 update from Martin Schwidefsky:
    "An additional sysfs attribute for channel paths and a couple of bux
    fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/pgtable: fix ipte notify bit
    s390/xpram: mark xpram as non-rotational
    s390/smp: fix cpu re-scan vs. cpu state
    s390/cio: add channel ID sysfs attribute
    s390/ftrace: fix mcount adjustment
    s390: fix gmap_ipte_notifier vs. software dirty pages
    s390: disable pfmf for clear page instruction
    s390/disassembler: prevent endless loop in print_fn_code()
    s390: remove non existent reference to GENERIC_KERNEL_THREAD

    Linus Torvalds
     

21 May, 2013

19 commits

  • Before f7b861b7a6d9 ("arm: Use generic idle loop") ARM would kill the
    CPU within the rcu idle section. Now that the rcu_idle_enter()/exit()
    pair have been pushed lower down in the idle loop this is no longer true
    and so using RCU_NONIDLE here is no longer necessary and also harmful
    because RCU is not actually idle at this point.

    Cc: Russell King
    Acked-by: Paul E. McKenney
    Signed-off-by: Stephen Boyd
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     
  • Pull radeon sun/hainan support from Dave Airlie:
    "Since I know its outside the merge window, but since this is new hw I
    thought I'd try and provoke the new hw exception, it just fills in the
    blanks in the driver for the new AMD sun and hainan chipsets."

    * 'drm-radeon-sun-hainan' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon: add Hainan pci ids
    drm/radeon: add golden register settings for Hainan (v2)
    drm/radeon: sun/hainan chips do not have UVD (v2)
    drm/radeon: track which asics have UVD
    drm/radeon: radeon-asic updates for Hainan
    drm/radeon: fill in ucode loading support for Hainan
    drm/radeon: don't touch DCE or VGA regs on Hainan (v3)
    drm/radeon: fill in GPU init for Hainan (v2)
    drm/radeon: add chip family for Hainan

    Linus Torvalds
     
  • Pull DRM fixes from Dave Airlie:
    "This is just a set of nouveau and radeon fixes, the nouveau ones fix
    some suspend/resume regressions since use of copy engines and some
    fixes for Z compression on some newer chipsets."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/dce2: use 10khz units for audio dto calculation
    drm/radeon: Fix VRAM size calculation for VRAM >= 4GB
    drm/radeon: Remove superfluous variable
    drm/nouveau: ensure channels are stopped before saving fences for suspend
    drm/nv50/fifo: prevent races between clients updating playlists
    drm/nvc0/fifo: prevent CHAN_TABLE_ERROR:CHANNEL_PENDING on fifo fini
    drm/nvc0/fifo: prevent races between clients updating playlists
    drm/nve0/fifo: prevent races between clients updating playlists
    drm/nve0/ltcg: poke the partition count into yet another register
    drm/nvc0/ltcg: fix handling of disabled partitions
    drm/nvc0/ce: disable ce1 on a number of chipsets
    drm/nouveau/bios: fix thinko in ZM_MASK_ADD opcode
    drm/nouveau: fix build with nv50->nvc0

    Linus Torvalds
     
  • This is the pull request for AMD Sun/Hainan support. I've
    split it out separately from my regular fixes stream. Hainan
    is a new SI asic with no UVD or DCE hardware. The patches are
    minimally invasive; basically just pci ids and skipping UVD and
    DCE init for this family. Most of the changes to si.c are just
    the golden register tables for the family.

    * 'drm-fixes-3.10-sun' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: add Hainan pci ids
    drm/radeon: add golden register settings for Hainan (v2)
    drm/radeon: sun/hainan chips do not have UVD (v2)
    drm/radeon: track which asics have UVD
    drm/radeon: radeon-asic updates for Hainan
    drm/radeon: fill in ucode loading support for Hainan
    drm/radeon: don't touch DCE or VGA regs on Hainan (v3)
    drm/radeon: fill in GPU init for Hainan (v2)
    drm/radeon: add chip family for Hainan

    Dave Airlie
     
  • Minor bug fixes.

    * 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon/dce2: use 10khz units for audio dto calculation
    drm/radeon: Fix VRAM size calculation for VRAM >= 4GB
    drm/radeon: Remove superfluous variable

    Dave Airlie
     
  • Linus Torvalds
     
  • …kernel/git/konrad/xen

    Pull Xen fixes from Konrad Rzeszutek Wilk:
    - Regression fix in xen privcmd fixing a memory leak.
    - Add Documentation for tmem driver.
    - Simplify and remove code in the tmem driver.
    - Cleanups.

    * tag 'stable/for-linus-3.10-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Fixed assignment error in if statement
    xen/xenbus: Fixed over 80 character limit issue
    xen/xenbus: Fixed indentation error in switch case
    xen/tmem: Don't use self[ballooning|shrinking] if frontswap is off.
    xen/tmem: Remove the usage of '[no|]selfballoon' and use 'tmem.selfballooning' bool instead.
    xen/tmem: Remove the usage of 'noselfshrink' and use 'tmem.selfshrink' bool instead.
    xen/tmem: Remove the boot options and fold them in the tmem.X parameters.
    xen/tmem: s/disable_// and change the logic.
    xen/tmem: Fix compile warning.
    xen/tmem: Split out the different module/boot options.
    xen/tmem: Move all of the boot and module parameters to the top of the file.
    xen/tmem: Cleanup. Remove the parts that say temporary.
    xen/privcmd: fix condition in privcmd_close()

    Linus Torvalds
     
  • Pull hwmon fixes from Guenter Roeck:

    - Error path fixes for abituguru and iio_hwmon drivers.

    - Drop erroneously created attributes from nct6775 driver.

    - Drop redundant safety on cache lifetime for tmp401 driver.

    - Add explicit maintainer for LM95234 and TMP401 drivers.

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    MAINTAINERS: Add myself as maintainer for LM95234 and TMP401 drivers
    hwmon: (tmp401) Drop redundant safety on cache lifetime
    hwmon: fix error return code in abituguru_probe()
    hwmon: (iio_hwmon) Fix null pointer dereference
    hwmon: (nct6775) Do not create non-existing attributes
    hwmon: (iio_hwmon) Fix missing iio_channel_release_all call if devm_kzalloc fail

    Linus Torvalds
     
  • In commit 78d77df71510 ("x86-64, init: Do not set NX bits on non-NX
    capable hardware") we added the early_pmd_flags that gets the NX bit set
    when a CPU supports NX. However, the new variable was marked __initdata,
    because the main _use_ of this is in an __init routine.

    However, the bit setting happens from secondary_startup_64(), which is
    called not only at bootup, but on every secondary CPU start. Including
    resuming from STR and at CPU hotplug time. So the value cannot be
    __initdata.

    Reported-bisected-and-tested-by: Michal Hocko
    Cc: stable@vger.kernel.org # v3.9
    Acked-by: Peter Anvin
    Cc: Fernando Luis Vázquez Cao
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Fixed assignment error in if statement in balloon.c

    Signed-off-by: Lisa Nguyen
    Signed-off-by: Konrad Rzeszutek Wilk

    Lisa Nguyen
     
  • Fixed the format length of the xenbus_backend_ioctl()
    function to meet the 80 character limit in
    xenbus_dev_backend.c

    Signed-off-by: Lisa Nguyen
    Signed-off-by: Konrad Rzeszutek Wilk

    Lisa Nguyen
     
  • Fixed the indentation error in the switch case in
    xenbus_dev_backend.c

    Signed-off-by: Lisa Nguyen
    Signed-off-by: Konrad Rzeszutek Wilk

    Lisa Nguyen
     
  • Signed-off-by: Alex Deucher
    Reviewed-by: Christian König

    Alex Deucher
     
  • v2: fix typo

    Signed-off-by: Alex Deucher
    Reviewed-by: Christian König

    Alex Deucher
     
  • Skip UVD handling on them.

    v2: split has_uvd tracking into separate patch

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Signed-off-by: Alex Deucher
    Reviewed-by: Christian König

    Alex Deucher
     
  • Signed-off-by: Alex Deucher
    Reviewed-by: Christian König

    Alex Deucher
     
  • Hainan has no display hardware:
    - no DCE (crtc, uniphy, dac, etc.)
    - no VGA

    v2: fix bios fetch
    v3: fix interrupts

    Signed-off-by: Alex Deucher
    Reviewed-by: Christian König

    Alex Deucher
     

20 May, 2013

13 commits