tree 5b81faae058586a234477dfac563b023960d5342
parent acdcbd63314f235fc3f4e580bf2db49161b35d06
parent 559cec66f1a2620bc85bb79191512a569a404cb8
author Olof Johansson <olof@lixom.net> 1388352242 -0800
committer Olof Johansson <olof@lixom.net> 1388352242 -0800
mergetag object 559cec66f1a2620bc85bb79191512a569a404cb8
 type commit
 tag renesas-defconfig2-for-v3.14
 tagger Simon Horman <horms@verge.net.au> 1387855105 +0900
 
 Second Round of Renesas ARM Based SoC Defconfig Updates for v3.14
 
 * r7s72100 SoC (RZ/A1H) based Genmai Board
   - Fixup I2C device on defconfig
   - Add gpio regulator support on defconfig
 
 * r8a7791 (R-Car M2) based Koelsch board
   - Do not disable CONFIG_{INOTIFY_USER,UNIX} in defconfig
   - Enable CONFIG_PACKET in defconfig
   - Enable Ether in defconfig
 
 * r8a7740 (R-Mobile A1) based Armadillo board
   - Enable backlight control in defconfig
 
 * r8a7740 (R-Mobile A1) based Armadillo board
   - Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJSuP0OAAoJENfPZGlqN0++MhsP/iV7i5qhbzKV6oPVFlBjpgMk
 cp/6KikJ/9e5Nz8nGd1Q3n22/Vkw+U2JYQ0wkofJerO4AEm/Ikwf1FSRlDG4l1OR
 q4/a8/ajIkZaExiztXQgwN73AyAE0vo8TWq+7qRlz6pmar8F3q32Lp1PwS7qK5zJ
 NfK/JkiYJ0wH1X9Z3l3oHvKKZtoveTBYUyP/wYyfipbmesumpytWESQHWvANm0LQ
 WL5haaT2F0auDLkMxnb9yIx+334oVDeRIyD/iDb3pu5OvA2Q1Xa5xWrnRYXSkOpq
 UfylrS2N5LEs2teHfHiU2Rce7PDtml5TDv+uORrqMd/l76+huJYmxZcMK88NepGb
 Si5Zl2GTdueAwdS1B0qdDQvkz7RYeETVwBagtQ16P6bWPbExivtqJa4zhdlm43jM
 tGvU6MVv5nrqgPLUOoFRJuwutU3mIQ8+36i+MMKnePjoEvG2iCgb/X/F5x2M3Cag
 xs6hsLlAkNOC/yr2A5DABzb3FPjhKvEjy0yNJFmJ0pyiHcUKuxO4HPEh74Dp0TTm
 q3UHLkjXBQf5IZo0U7qUuFL+rjz6u3EbvOgddfPnPCMKJIdEWe6OtYK2N2X+BFTJ
 g1tGWA2PeyO7XrNzEJ2Z5x10VTGjWywgAHRVmdBXJd0kIOARYdXRqB0Vy+M7LwKL
 5mjeK9mRR3u1Lbouuzs3
 =M9DB
 -----END PGP SIGNATURE-----

Merge tag 'renesas-defconfig2-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards

From Simon Horman:
Second Round of Renesas ARM Based SoC Defconfig Updates for v3.14

* r7s72100 SoC (RZ/A1H) based Genmai Board
  - Fixup I2C device on defconfig
  - Add gpio regulator support on defconfig

* r8a7791 (R-Car M2) based Koelsch board
  - Do not disable CONFIG_{INOTIFY_USER,UNIX} in defconfig
  - Enable CONFIG_PACKET in defconfig
  - Enable Ether in defconfig

* r8a7740 (R-Mobile A1) based Armadillo board
  - Enable backlight control in defconfig

* r8a7740 (R-Mobile A1) based Armadillo board
  - Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY

* tag 'renesas-defconfig2-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: koelsch: Do not disable CONFIG_{INOTIFY_USER,UNIX} in defconfig
  ARM: shmobile: koelsch: Enable CONFIG_PACKET in defconfig
  ARM: shmobile: armadillo800eva: Enable backlight control in defconfig
  ARM: shmobile: Koelsch: enable Ether in defconfig
  ARM: shmobile: genmai: Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY
  ARM: shmobile: lager: fixup I2C device on defconfig
  ARM: shmobile: lager: add gpio regulator support on defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
