Commit graph

376,031 commits

Author SHA1 Message Date
Alex Deucher
e4d170633f drm/radeon: add support for Richland APUs
Richland APUs are a new version of the Trinity APUs
with performance and power management improvements.

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2013-03-15 18:47:19 -04:00
Alex Deucher
271e53dcff drm/radeon/benchmark: allow same domains for dma copy
Remove old comment and allow benchmarking moves within the
same memory domain for both dma and blit methods.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-03-15 18:47:18 -04:00
Alex Deucher
fa8d387dc3 drm/radeon/benchmark: make sure bo blit copy exists before using it
Fixes a segfault on asics without a blit callback.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=62239

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2013-03-15 18:47:17 -04:00
Alex Deucher
8f612b23a1 drm/radeon: fix backend map setup on 1 RB trinity boards
Need to adjust the backend map depending on which RB is
enabled.  This is the trinity equivalent of:
f7eb973008

May fix:
https://bugs.freedesktop.org/show_bug.cgi?id=57919

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2013-03-15 18:47:17 -04:00
Alex Deucher
fa3daf9aa7 drm/radeon: fix S/R on VM systems (cayman/TN/SI)
We weren't properly tearing down the VM sub-alloctor
on suspend leading to bogus VM PTs on resume.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=60439

Reviewed-by: Christian König <christian.koenig@amd.com>
Tested-by: Dmitry Cherkasov <Dmitrii.Cherkasov@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2013-03-15 18:47:16 -04:00
Arnd Bergmann
ef9c20ac96 Simplification of Kconfig and splitting of the non-DT part.
Common pattern for DT board file naming.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRQx+/AAoJEAf03oE53VmQy1oH/0XwytNf03zdCYWTsZ1fRiCO
 GYfhJ8u0L9wHSOYbuyBfGsTDj9hjBMdHjpAf4OgNjLDMU9pPo5hiu4/2sqY/Wxai
 QjxYEv29d4Rs0eud37WPKzNMA/mrGLGn21sHMqScfYwjP/36vmVnB9LXnyfq+AKi
 q8M5QCbPlJ7C3aPU5HiVdLq+FtZc/2Z4VWsPcwVIcSjafORc0agIRW2CEVZVc07d
 YaZVKjr9qpZZTk45oflk4O302GjvdgFaty4L/5CqibDhSqZUt5KJb22N3+bONkfm
 1cZoaLMSZckYgIeqQSIrvJPavCD0BxlrKIFtwkBcGP2LgNlvIHnXR7E5EBKsO+w=
 =vPlw
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into next/cleanup

From Nicolas Ferre <nicolas.ferre@atmel.com>:

Simplification of Kconfig and splitting of the non-DT part.
Common pattern for DT board file naming.

* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
  ARM: at91: renamme rm9200 dt file
  ARM: at91: rename board-dt to more specific name board-dt-sam9
  ARM: at91: move non DT Kconfig to Kconfig.non_dt

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 23:14:44 +01:00
Arnd Bergmann
1414fbdcb2 Some Atmel framebuffer driver enhancements with modification
of configuration data in ARM/AT91 and AVR32/AP7 trees.
 A merge of these modifications seems easier through arm-soc
 git tree nowadays.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRQvOVAAoJEAf03oE53VmQCT0IAItl95etDFP0rmSq9QQYqeEn
 mllGVB7+REAGPd7hSoS4vgaw9izDaS/OXGmFavEaHskM3/JojcHktAU4gyWbCGE3
 CtK6yqfxc9LyyZ8hMc+ID+zFp0UvydmBhUvp6PBM/uAGvK2H3tCMFjepd0rv6ozz
 oUnQnbmEg/LzLQmyiRFMxi2lOXXUgjq+7Xtvn/Nq/HN2AraiB+0dcqt+6pLALKdQ
 UPLX6uPPajsMFTIqw2UgsBk4VvbLMqlWI2qQn1NRAoTrviZKVhKXmmmlK5HC7TcO
 VE+U/PX3bPlURtsLYiEXU6/vb7oOG8dFAwGvulv2/Nfy0AcgCXl1brgrUGzfXJg=
 =6RC1
 -----END PGP SIGNATURE-----

Merge tag 'at91-driversLCD' of git://github.com/at91linux/linux-at91 into next/drivers

From Nicolas Ferre <nicolas.ferre@atmel.com>:

Some Atmel framebuffer driver enhancements with modification
of configuration data in ARM/AT91 and AVR32/AP7 trees.
A merge of these modifications seems easier through arm-soc
git tree nowadays.

* tag 'at91-driversLCD' of git://github.com/at91linux/linux-at91:
  ARM: at91/avr32/atmel_lcdfb: add platform device-id table
  atmel_lcdfb: move lcdcon2 register access to compute_hozval
  ARM: at91/avr32/atmel_lcdfb: add bus-clock entry
  ARM: at91: fix LCD-wiring mode
  atmel_lcdfb: fix 16-bpp modes on older SOCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 23:08:09 +01:00
Arnd Bergmann
4a20502de1 mvebu DT changes for v3.10
- mvebu: gpio expander for the Mirabox
  - kirkwood: thermal sensor
  - dove: thermal sensor
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJRPxPFAAoJEAi3KVZQDZAerhUH/2d5RLm2nV0qNiIoFfxL9M85
 8hGwLjP44X0HNJIJJQyghn79nfwLY+aGGIoAwmQNNDPe7aO9qq3MXvZnu0JcOTfB
 e0j8ypQqiOsDMHTmzd5Gf4DpKeyGLphxWJ6W2M6tBwWfrzJS2N21Fi/8tXT5jOQQ
 ei2nTdYpT8aGLwDLM++xdxGjP02ceMSE1JeLXtxMsuOGSZxtTn1Z8Kz/Up3UI3/B
 EdBEQB8lPoZP/bE+bQPTOSWo4Ep91RkQ1hEp17cTPLzkujda7adL+l+UWo0Z9n5J
 FZ8GFprBNe9/t84JolezyxpPsqcOxjMOxuKtPjVCrepEmCmO7fIsE9ocm8meykE=
 =dQI6
 -----END PGP SIGNATURE-----

Merge tag 'mvebu_dt_for_v3.10' of git://git.infradead.org/users/jcooper/linux into next/dt

From Jason Cooper <jason@lakedaemon.net>:

mvebu DT changes for v3.10

 - mvebu: gpio expander for the Mirabox
 - kirkwood: thermal sensor
 - dove: thermal sensor

* tag 'mvebu_dt_for_v3.10' of git://git.infradead.org/users/jcooper/linux:
  Dove: Thermal: Add DT node and enable in defconfig
  ARM: Kirkwood: Add support thermal sensor for 88F6282 and 88F6283
  arm: mvebu: enable gpio expander over i2c on Mirabox platform

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 23:02:39 +01:00
Arnd Bergmann
b0d62d9776 - Add device_node ptr to clocksource init functions
- Add CLKSRC_OF support to twd_smp timer
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRPeEBAAoJEMhvYp4jgsXiPmQIAJ7zrSlmECfT9ilJ40F4YYzV
 ZTLvYUjZyOTq71oTFAmUiK4VOLSQtDHbFaaiXQkJyhwwNPOgHGp2voaSYybuAFIq
 tc8PvqIdpBj01RctjnP8NM9F1logOxTgl0lQZEzzEojtIWvJWEdOxMsggMQB22hC
 7RwS+n72AjFCm9e9GxRV5VZO9TGhHlOMnw+NL9eyW5aZbuftUWeruDaFlj7wF3rm
 FnhE4luiuHhQ9lmNsYgXGDEvNHPjFKA6BhS+yWfapeofGWAYy/Lgj909w/yuMujr
 kyx3oab/Yra72Ve9Unsie6lGTWMoAiomw1DE9Ealy07R3/FzRKC2IhMfcYyjzdE=
 =mn0u
 -----END PGP SIGNATURE-----

Merge tag 'clksrc-cleanup-for-3.10' of git://sources.calxeda.com/kernel/linux into next/cleanup

From Rob Herring <robherring2@gmail.com>:

- Add device_node ptr to clocksource init functions
- Add CLKSRC_OF support to twd_smp timer

* tag 'clksrc-cleanup-for-3.10' of git://sources.calxeda.com/kernel/linux:
  ARM: smp_twd: convert to use CLKSRC_OF init
  clocksource: tegra20: use the device_node pointer passed to init
  clocksource: pass DT node pointer to init functions
  clocksource: add empty version of clocksource_of_init

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:57:45 +01:00
Arnd Bergmann
b7442b6c8b Merge branch 'next/pinctrl-exynos' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers
From Kukjin Kim <kgene.kim@samsung.com>:

Here is support pinctrl-exynos5250 and that already got ack from Linus Walleij.

* 'next/pinctrl-exynos' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: skip wakeup interrupt registration for exynos5250 if pinctrl is enabled
  gpio: samsung: skip gpiolib registration if pinctrl support is enabled for exynos5250
  pinctrl: exynos: add exynos5250 SoC specific data

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:51:54 +01:00
Arnd Bergmann
cabaf3edf8 Merge branch 'next/irq-s3c24xx' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers
From Kukjin Kim <kgene.kim@samsung.com>:

Here is finish the irq rework for s3c2412, s3c2440 and s3c2442 into the new
structure and eint0 to 3 on the s3c2412.

* 'next/irq-s3c24xx' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  gpio: samsung: fixes build warning with s3c2410_defconfig
  ARM: S3C24XX: handle s3c2412 eints using new infrastructure
  ARM: S3C24XX: add soc_is_s3c2412 option
  ARM: S3C24XX: include first 4 bits of the eint register in irq mapping
  ARM: S3C24XX: transform s3c2412 irqs into new structure
  ARM: S3C24XX: modify s3c2412 irq init to initialize all irqs
  ARM: S3C24XX: move s3c2412 irq init to common code
  ARM: S3C24XX: use samsung_sync_wakemask in s3c2412 pm
  ARM: S3C24XX: transform s3c2440 irqs into new structure
  ARM: S3C24XX: transform s3c2442 irqs into new structure
  ARM: S3C24XX: integrate s3c2440 irqs into common init
  ARM: S3C24XX: move s3c2440 irqs to common irq code
  ARM: S3C24XX: create dedicated irq init functions for s3c2440 and s3c2442
  ARM: S3C24XX: move s3c244x irq init to common irq code

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:46:51 +01:00
Arnd Bergmann
bffc5ce344 Merge branch 'next/timer-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers
From  Kukjin Kim <kgene.kim@samsung.com>:

Here is re-work samsung-time which was s5p-time to support
clocksource/clockevent API for s3c and s5pc100 timer driver. And this enables to
support high resolution timer and tickles mode on them.

Note, this depends on previous pull request (cleanup-s3c) because of touching
while s3c stuff.

* 'next/timer-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: SAMSUNG: Remove unused plat-samsung/time.c
  ARM: S5PC100: Add samsung-time support for s5pc100
  ARM: S3C64XX: Add samsung-time support for s3c64xx
  ARM: S3C24XX: Add samsung-time support for s3c24xx
  ARM: SAMSUNG: Rename s5p-time to samsung-time
  ARM: S3C24XX: cleanup the included soc init functions in common.h
  ARM: S3C24XX: move plat-samsung/s3c24XX headers to local common.h
  ARM: S3C24XX: remove plat/irq.h in plat-samsung
  ARM: S3C24XX: plat/common-smdk.h local
  mmc: s3cmci: moved mach/regs-sdi.h into s3cmci device driver

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:45:05 +01:00
Arnd Bergmann
a3fe14c690 Merge branch 'next/cleanup-s5p' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
From Kukjin Kim <kgene.kim@samsung.com>:

Two small cleanups for the s5p platforms.
* 'next/cleanup-s5p' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: S5PV210: remove useless ifdef in common.h
  ARM: S5PC100: remove useless ifdef in common.h

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:41:38 +01:00
Arnd Bergmann
3cdb59d73e Merge branch 'next/cleanup-s3c' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
From Kukjin Kim <kgene.kim@samsung.com>:

Cleanups for the Samsung S3C24XX platforms.

* 'next/cleanup-s3c' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: S3C24XX: cleanup the included soc init functions in common.h
  ARM: S3C24XX: move plat-samsung/s3c24XX headers to local common.h
  ARM: S3C24XX: remove plat/irq.h in plat-samsung
  ARM: S3C24XX: plat/common-smdk.h local
  mmc: s3cmci: moved mach/regs-sdi.h into s3cmci device driver

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:39:46 +01:00
Arnd Bergmann
3a768d0463 Merge branch 'spear/multiplatform' into next/multiplatform
The spear platform has been cleaned up a lot by Viresh
Kumar, and is relatively easy to convert to multiplatform,
getting us one more step closer to having all ARMv7
platforms included.

I originally did this before 3.8 but merging it never
worked out so far, mostly because of conflicts against
patches in the DMA tree, but also because I did not push very
hard for these.

* spear/multiplatform:
  ARM: spear: enable spear13xx in multi_v7_defconfig
  ARM: spear: fix build error in restart.c
  ARM: spear: use multiplatform configuration options.
  ARM: spear: rename duplicate pl080_plat_data
  ARM: spear: make clock driver independent of headers
  ARM: spear: move generic.h and pl080.h into private dir
  ARM: spear: move all files to mach-spear
  ARM: spear: move spear.h and misc_regs.h into plat-spear
  ARM: spear: merge Kconfig files
  ARM: spear: make spear3xx/6xx mach/spear.h files identical
  ARM: spear: move identical headers to plat-spear/include/mach
  ARM: spear: unify mach/generic.h and mach/irqs.h
  ARM: spear13xx: make mach/dma.h local

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:31:37 +01:00
Arnd Bergmann
b83e139caf Merge branch 'cns3xxx/multiplatform' into next/multiplatform
I've looked at all the platforms recently to see what their
state is. cns3xxx seems quite clean but not very actively
maintained. Since it is really easy to convert to multiplatform,
that's what I did here.

* cns3xxx/multiplatform:
  ARM: cns3xxx: initial DT support
  ARM: cns3xxx: enable multiplatform support
  ARM: cns3xxx: move debug_ll code to include/debug/
  ARM: cns3xxx: enable sparse IRQ support
  ARM: cns3xxx: make mach header files local

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:29:38 +01:00
Arnd Bergmann
0203e0f7d7 Multiplatform support for the Nomadik
- Get rid of the last header files in the <mach/*> namespace
 - Move the debug macro to the common place
 - Make the necessary Kconfig fixes and move the platform Kconfig
   fragment down to the mach directory.
 - Include necessary defconfig update to get the platform going.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJRN/TZAAoJEEEQszewGV1zeHwP/RuxLzkxmuGDhewY/yjD7xnG
 kXp+bCAemCohzMfeBWVh9mDdOYLxlfQhtEtKFbKGBxUSngOYacsRYUg+JbQ3fhUq
 oiZCej+lNowMxZl7Jb25i4DUNYTb7lo9EOEQIM50k4WORZ4Qr2A3+omZBiP8qIu/
 yevewyittJF+hWZXBAF4c1wcu35Bv0A01kMJPscMgzoSnKVOGh84vE9h4e/bQwYW
 Ye2cbq0o7S9dsd2NivwoX1cX44egGw71+1JGMEHVHddiYvH2cyF67Bz2dKwegCLw
 XmMliI4XRIh8bkQcqAjd5Cq34N2doGPAxIXe3w0uqJIsxAbYZ48LdDOzSI3k1Ley
 KRwTEnNPBfuViGHuzeO8XSWGPc0jTEF0RRYSk07yvOMRUyxeQ018YRRVNOe8lGxD
 XKrrPf/YxrTTCm6OFYThUuDwffhdlo6121fTXY7SFvt8hYkLVUs0l1KkG0qDy95j
 F0neZiqSgb39XjIGas/lWYBJf6vuitTQrskBKdYFpQZO/cPuSsk9n+2Yhahhf/1+
 QGFfrkx/6gkkcflK293UjrQje7qa6Q2TLzVuw9+mOl+QyGgCKAWA4Cw5sEZ1Lr0Y
 o7zcbo257Kh3Fg75+YT5k2umda23NNiNT89I5CUGeSHuIzP+IMJ9sve9TcAlgQ2u
 UEKb9u8j6C/X2qbCUUMR
 =/n8e
 -----END PGP SIGNATURE-----

Merge tag 'nomadik-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/multiplatform

From Linus Walleij <linus.walleij@linaro.org>:

Multiplatform support for the Nomadik
- Get rid of the last header files in the <mach/*> namespace
- Move the debug macro to the common place
- Make the necessary Kconfig fixes and move the platform Kconfig
  fragment down to the mach directory.
- Include necessary defconfig update to get the platform going.

* tag 'nomadik-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: nomadik: delete remnant include files
  ARM: nomadik: convert to multiplatform
  ARM: nomadik: move debugmacro to debug includes
  ARM: nomadik: delete IRQ header

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:25:45 +01:00
Arnd Bergmann
831bbbeb2b Ux500 Device Tree fixes
All are necessary to make a proper DT boot on the v3.9
 series:
 - IRQ edges.
 - Register defines.
 - FSMC clock.
 - Ethernet clk fixup (one patch to drivers/net ACKed by
   David Miller)
 - Proper IOS and regulator voltages for MMCI.
 - AB8500 GPIOs restored after they were fixed in the v3.9
   merge window from the pinctrl tree.
 - There is also a minor cleanup in the platform code, but it
   is strongly connected to the other patches.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJRMTBXAAoJEEEQszewGV1z01MQAMN9idhdK9ZGhj06C8lNlNLF
 6GVekqxzccpyry3ATXykTp33U+IvDcunAzMHUTDw6kcWueF6BD/fzIVWKIMWGANB
 b1eRSXPM0oo9zGUMNd8HMOEeXHSFRML3IcFMeLIhaEbgHmpXecmT9ZHNg2NpHT7p
 gtIZnf8D/0Uomv1u8pNXd5Wk0avRqYc4CdU3Se6g7JHbrp3dOQxn6zEWCy0p7ZsH
 WjSTxu59M/rZI/O64W6YV/YghGb0DF9mHgJvmMSJvHDFDeFojIeiLQMKozTD4BY5
 C4oa1KRhAZ5hT59rmL8kwOzI6oht7e0jCHNyMrVGH0KSjVFc7AtsuhdklXZ2xmJy
 Fl2U5pDYghXoDqXdjcEGYiFIdxvZub2bud5bP2b3P3dXPyFBgKbOwXiL+dD/u6Gg
 9ON+IL4H9SoxyZlucauzr7QT7rYs7ON9mK2a5+qrhZcDwc1D3K4Vu3//i9HVSgJN
 pbe2IcNtHwdaQ9Bktj0X/5cP4TTzWy2p4BFIKsR7GYU7gGgWErp3ncv/fcsJV1UH
 s3qsuatJ8wuecEy0iYH1PjIVnKnVMgUCDK1m9AfK0TuDkYfpGKWNLUFsavk9xrZK
 cwE844GKJb1inSQDNUlhDJ55IzBUs2+FWfklTw8APk8l+sxq2MX/ux/5gWX783sp
 rWmU9dthhLQUuTYOLT9f
 =wOk4
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dt-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/fixes-non-critical

From Linus Walleij <linus.walleij@linaro.org>:

Ux500 Device Tree fixes
All are necessary to make a proper DT boot on the v3.9
series:
- IRQ edges.
- Register defines.
- FSMC clock.
- Ethernet clk fixup (one patch to drivers/net ACKed by
  David Miller)
- Proper IOS and regulator voltages for MMCI.
- AB8500 GPIOs restored after they were fixed in the v3.9
  merge window from the pinctrl tree.
- There is also a minor cleanup in the platform code, but it
  is strongly connected to the other patches.

* tag 'ux500-dt-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: allow Snowball access to the AB8500 GPIO pins
  ARM: ux500: enable AB8500 GPIO for HREF
  ARM: ux500: Remove traces of the ios_handler from platform code
  ARM: ux500: Use the GPIO regulator framework for SDI0's 'en' and 'vsel'
  ARM: ux500: Setup correct settling time for the MMCI regulator
  ARM: ux500: Use the correct name when supplying a GPIO enable pin
  ARM: ux500: Specify which IOS regulator to use for MMCI
  ARM: ux500: Specify the ux5x0 MMCI regulator's on/off GPIO as high-enable
  ARM: ux500: Set correct MMCI regulator voltages in the ux5x0 Device Tree
  mmc: mmci: Move ios_handler functionality into the driver
  net/smsc911x: Provide common clock functionality
  clk: ux500: Provide an alias for the SMSC911x Ethernet chip
  clk: ux500: Ensure the FMSC clock is obtainable
  ARM: ux500: Provide a means to obtain the SMSC9115 clock when DT is enabled
  ARM: ux500: Include the PRCMU's Secure Registers in DB8500's DT
  ARM: ux500: Change IRQ from low-to-high edge triggered to high-to-low

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-03-15 22:17:17 +01:00
zhangwei(Jovi)
afa80ccb4c sysrq: fix inconstistent help message of sysrq key
Currently help message of /proc/sysrq-trigger highlight its
upper-case characters, like below:

      SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E)
      memory-full-oom-kill(F) kill-all-tasks(I) ...

this would confuse user trigger sysrq by upper-case character, which is
inconsistent with the real lower-case character registed key.

This inconsistent help message will also lead more confused when
26 upper-case letters put into use in future.

This patch fix it.

Thanks the comments from Andrew and Randy.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 14:06:45 -07:00
Peter Hurley
25fdf24351 tty: Signal SIGHUP before hanging up ldisc
An exiting session leader can hang if a foreground process is
blocking for line discipline i/o, eg. in n_tty_read(). This happens
because the blocking reader is holding an ldisc reference (indicating
the line discipline is in-use) which prevents __tty_hangup() from
recycling the line discipline. Although waiters are woken before
attempting to gain exclusive access for changing the ldisc, the
blocking reader in this case will not exit the i/o loop since it
has not yet received SIGHUP (because it has not been sent).

Instead, perform signalling first, then recycle the line discipline.

Fixes:

INFO: task init:1 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
init            D 00000000001d7180  2688     1      0 0x00000002
 ffff8800b9acfba8 0000000000000002 00000000001d7180 ffff8800b9b10048
 ffff8800b94cb000 ffff8800b9b10000 00000000001d7180 00000000001d7180
 ffff8800b9b10000 ffff8800b9acffd8 00000000001d7180 00000000001d7180
Call Trace:
 [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
 [<ffffffff83db9b35>] schedule+0x55/0x60
 [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
 [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
 [<ffffffff83dbab38>] ? down_failed+0x108/0x200
 [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
 [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
 [<ffffffff83dbab61>] down_failed+0x131/0x200
 [<ffffffff83dbbfad>] ? tty_ldisc_lock_pair_timeout+0xcd/0x120
 [<ffffffff83dbae03>] ldsem_down_write+0xd3/0x113
 [<ffffffff83dbbfad>] ? tty_ldisc_lock_pair_timeout+0xcd/0x120
 [<ffffffff8118264d>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffff83dbbfad>] tty_ldisc_lock_pair_timeout+0xcd/0x120
 [<ffffffff81c3df60>] tty_ldisc_hangup+0xd0/0x220
 [<ffffffff81c35bd7>] __tty_hangup+0x137/0x4f0
 [<ffffffff81c37c7c>] disassociate_ctty+0x6c/0x230
 [<ffffffff8111290c>] do_exit+0x41c/0x590
 [<ffffffff8107ad34>] ? syscall_trace_enter+0x24/0x2e0
 [<ffffffff81112b4a>] do_group_exit+0x8a/0xc0
 [<ffffffff81112b92>] sys_exit_group+0x12/0x20
 [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
1 lock held by init/1:
 #0: (&tty->ldisc_sem){++++++}, at: [<ffffffff83dbbfad>] tty_ldisc_lock_pair_timeout+0xcd/0x120

Reported-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 14:02:33 -07:00
Peter Hurley
f91e259041 tty: Signal foreground group processes in hangup
When the session leader is exiting, signal the foreground group
processes as part of the hangup sequence, instead of after the
hangup is complete. This prepares for hanging up the
line discipline _after_ signalling processes which
may be blocking on ldisc i/o.

Parameterize __tty_hangup() to distinguish between when the
session leader is exiting and all other hangups; signal the
foreground group after signalling the session leader and its
process group, which preserves the original signal order.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 14:02:32 -07:00
Peter Hurley
bc30c3b23b tty: Use spin_lock() inside existing critical region
The interrupt state does not need to be saved, disabled and
restored here; interrupts are already off because this lock
is bracketed by spin_lock_irq/spin_unlock_irq.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 14:02:32 -07:00
Peter Hurley
20cc225bab tty: Fix spinlock flavor in non-atomic __tty_hangup()
__tty_hangup() and tty_vhangup() cannot be called from atomic context,
so locks do not need to preserve the interrupt state (although,
still disable interrupts).

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 14:02:32 -07:00
Peter Hurley
ea648a47e8 tty: Refactor session leader SIGHUP from __tty_hangup()
Reduce complexity of __tty_hangup(); separate SIGHUP signalling
into tty_signal_session_leader().

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 14:02:32 -07:00
Syam Sidhardhan
f3c8279d69 tty: ipwireless: Remove redundant NULL check before kfree
kfree on NULL pointer is a no-op.

Signed-off-by: Syam Sidhardhan <s.syam@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:58:32 -07:00
Liang Li
ef44d28c4f serial: pch_uart: add console poll support
Implement console poll for pch_uart, this could enable KGDBoC when
on pch-uart console.

Signed-off-by: Liang Li <liang.li@windriver.com>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:55:23 -07:00
Jingoo Han
fec6bee367 TTY: amiserial, use module_platform_driver_probe()
This patch uses module_platform_driver_probe() macro which makes
the code smaller and simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:55:23 -07:00
Sachin Kamat
82b231323e serial: vt8500_serial: Convert to devm_ioremap_resource()
Use the newly introduced devm_ioremap_resource() instead of
devm_request_and_ioremap() which provides more consistent error handling.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Tony Prisk <linux@prisktech.co.nz>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:55:23 -07:00
Sachin Kamat
84e8192204 serial: tegra: Convert to devm_ioremap_resource()
Use the newly introduced devm_ioremap_resource() instead of
devm_request_and_ioremap() which provides more consistent error handling.

devm_ioremap_resource() provides its own error messages; so all explicit
error messages can be removed from the failure code paths.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:55:22 -07:00
Wang YanQing
8b5c913f7e serial: 8250_pci: Add WCH CH352 quirk to avoid Xscale detection
The code in 8250.c for detecting ARM/XScale UARTs says:

  * Try writing and reading the UART_IER_UUE bit (b6).
  * If it works, this is probably one of the Xscale platform's
  * internal UARTs.

If the above passes, it then goes on to:

     * It's an Xscale.
     * We'll leave the UART_IER_UUE bit set to 1 (enabled).

However, the CH352 uses the UART_IER_UUE as the LOWPOWER function,
so it is readable and writable.  According to the datasheet:

    "LOWPOWER:When the bit is 1, close the internal benchmark
     clock of serial port to set into low-power status.

So it essentially gets mis-detected as Xscale, and gets
powered down in the process.  The device in question where
this was seen is listed by lspci as:

 Serial controller: Device 4348:3253 (rev 10) (prog-if 02 [16550])

Re-using the 353 quirk which just sets flags to fixed and type
to 16550 is suitable for fixing the 352 as well.

Signed-off-by: Wang YanQing <udknight@gmail.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:27:35 -07:00
Pawel Wieczorkiewicz
503bded92d tty: atmel_serial_probe(): index of atmel_ports[] fix
Index of atmel_ports[ATMEL_MAX_UART] should be smaller
than ATMEL_MAX_UART.

Signed-off-by: Pawel Wieczorkiewicz <wpawel@gmail.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:23:29 -07:00
Peter Hurley
19ffd68f81 pty: Remove redundant itty reset
port->itty has already been reset by release_tty() before
pty_cleanup() is called.

Call stack:
release_tty()
  tty_kref_put()
    queue_release_one_tty()
      release_one_tty() : workqueue
        tty->ops->cleanup()
          pty_cleanup()

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 13:00:48 -07:00
Andy King
347e0899b1 VMCI: Fix process-to-process DRGAMs.
When sending between processes, we always schedule a work item.  Our work info
struct has the message embedded in the middle, which means that we end up
overwriting subsequent fields when we copy the (variable-length) message into
it.  Move it to the end of the struct.

Acked-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Andy King <acking@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:58:12 -07:00
Greg Kroah-Hartman
61ec7e77d7 extcon fixes for 3.9-rc3
This is small fixes against 3.9-rc2.
 
 Fix to max77693 extcon driver:
 - Set default value of MUIC register to bring up it.
 Fix to max8997 extcon driver:
 - Fix null pointer error duing probe when platform data
 isn't used.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRQDzoAAoJEJzN3yze689TprQP+gPvd2I2LLl/Sq42UyhtzIlk
 MlDIXk/4mHLeDycsTEq6RlDHmA2mXznpnXd0lyIBrD4VJqie9RQsd2TMJ560QeBd
 PJPaQwruAcKnRBh6BdVRNGE9wZvZYEaXOl6tB0QHbldrqfA6lU3WzOd4lzw7dnNw
 a+nFkhvLUraIHAlvjGMlH5ZEhobuKpsOyWSpznI1M5MsvxgPoEL4Vzbq5/QJBVVD
 R5x9tZ+Fb0PM1IexwDpBzxuTMGua0XJsrKCZ3FZExy5LcIb1etnELmacwPNkr0XX
 N06ZwJyQWiG4TpRvYOhhpWbhHwlGLu2tTtfvg+TipeN+bjFarExeg7IiReNiz2Sg
 mig+5R8BMAXMMcaC7l1erzaOPrUJDrBdd57pBGCx3eYIW1OeHJ1apTKKKaFXTqdr
 w19Y4j379breQMIk41KaFhZcWidgt37qxxKpreaM8XowJBhrrFFUSOvDTWhCBxq6
 AUIWtP5kCUPynivkpm7S6f0N2nSdtRVQTpVGUwORxPCt3tMXErWDC2Hd+8GTioXC
 9i3pFmbOHB60WEaTIr1wHFWCX+vnU8pWk6TPt/NSF9vScZxKUnNw0inOv/fsqyVM
 D8vTNYrjyq9ES21jmmIcYCtS1Ue7D+aj0t6f0YNxrsslaq/k5AKMI2xtg+q4HPTI
 lhCd46ALukPKHIxs1oc+
 =XVHH
 -----END PGP SIGNATURE-----

Merge tag 'extcon-3.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-linus

Chanwoo writes:

	extcon fixes for 3.9-rc3

	This is small fixes against 3.9-rc2.

	Fix to max77693 extcon driver:
	- Set default value of MUIC register to bring up it.
	  Fix to max8997 extcon driver:
	- Fix null pointer error duing probe when platform data
	  isn't used.
2013-03-15 12:56:11 -07:00
Kurt Van Dijck
a750fa4edd softingcs: use module_pcmcia_driver
Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:30:15 -07:00
Kurt Van Dijck
7fced565e5 softingcs: initialize spinlock with macro
Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:29:00 -07:00
H Hartley Sweeten
fdd3f29edd drivers/net: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:27:33 -07:00
H Hartley Sweeten
b85c4a18f6 sound/pcmcia: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:39 -07:00
H Hartley Sweeten
4c7a45fb1b drivers/usb: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:38 -07:00
H Hartley Sweeten
5339102c77 drivers/tty: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:38 -07:00
H Hartley Sweeten
3e13ea450b drivers/scsi: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:38 -07:00
H Hartley Sweeten
f23e79688c drivers/parport: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:38 -07:00
H Hartley Sweeten
fe141149bf drivers/mmc: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:04 -07:00
H Hartley Sweeten
0aae9c6a91 drivers/isdn: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:04 -07:00
H Hartley Sweeten
e0c005f4b9 drivers/bluetooth: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:04 -07:00
H Hartley Sweeten
460604850a drivers/ata: use module_pcmcia_driver() in pcmcia drivers
Use the new module_pcmcia_driver() macro to remove the boilerplate
module init/exit code in the pcmcia drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:03 -07:00
H Hartley Sweeten
6ed7ffddcf pcmcia/ds.h: introduce helper for pcmcia_driver module boilerplate
Introduce the module_pcmcia_driver() macro which is a convenience macro
for pcmcia driver modules. It is intended to be used by pcmcia drivers
with init/exit sections that do nothing but register/unregister the
pcmcia driver.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: linux-pcmcia@lists.infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:26:03 -07:00
Fabio Porcedda
e7c2199ff3 drivers: char: use module_platform_driver_probe()
This patch converts the drivers to use the
module_platform_driver_probe() macro which makes the code smaller and
a bit simpler.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:24:20 -07:00
Dan Carpenter
2154e0a4f4 applicom: use correct array offset
We're iterating through abps[] printing information, but here we
use the wrong array index.  IndexCard comes from the user and in
this case it was specifically not range checked because we didn't
expect to use it.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:23:48 -07:00
Samuel Iglesias Gonsalvez
e926301b39 ipack: split ipack_device_register() in several functions
One function is ipack_device_init(). If it fails, the caller should execute
ipack_put_device().

The second function is ipack_device_add that only adds the device. If
it fails, the caller should execute ipack_put_device().

Then the device is removed with refcount = 0, as device_register() kernel
documentation says.

ipack_device_del() is added to remove the device.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:23:09 -07:00