Samsung mach/soc update for v4.9:

1. Fix for DMA on S3C24xx. This was probably broken for long time, nobody runs
    this code... till now.
 2. After fixes from Matthew Leach and Ben Dooks, most of our mach code
    and drivers is now endian-safe. Mark the platform as supporting big endian.
 3. Cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXxUteAAoJEME3ZuaGi4PXikUP/A2O1mBQF1UUovCH6X+B1OJz
 yQyrjEZtsyE5icImrVR5ugE81giCqqAEvyuCAQT29It2TeSBaqwRZqMhKO7agt08
 LOpWSH8g0RivM6Y8sW2wQ+0xyrHNKiWSOXvLiLwb5Spga3+hU2FMyiKvwqs2LoZW
 w75wPr5ytz7pF/Q0g8QJ1Q8Kerl02isTRo911SbF4HhjRKgLwwXFdTGHzSTwA+jw
 Tjg/cw2/d8YML0VN/YhlMh2G3dPPN+5I8MSfqF0gB+5gt6HiUdBICzEG11ZySRHy
 FPN+lxLP7n6UcuIewInr+O2IEeyYeYHHrPYenyDtYA/VsyFDL/NWcqFLXG/8yeUk
 hXLzj7nabjTN2dduDY0FCW5rh8FMLxY1/hd6CAB7Is7G+aADJEulsZ9xu6A7NmZC
 UuqU1a7eKLONFagYLpO9AVcRL6QSZMWwibHLVL8N0lWT2JUHCE0dcvLFkXJL0ENx
 MJQGz0lqLJ2Fl9U+WjwATpsaSF3MRuo2g+sIU/eDapcxiFoA8r0KH9uGx1b1EzoT
 Qn7Ot123vX4ZhYWAjy+x/R1vhX+KIMKSLswq9Z4xvkb2hp6dZ6xT/kjzxGhXjlDA
 yVPAGhvyxKug7f8BGteYwnglPzTkbcF9TAqe5r+TPNgzr3xA+AyctHwJDHgFSDqB
 5s0SJRmvwHOIjM0Cm7sW
 =3F8b
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc

Merge "Samsung mach/soc update for v4.9" from Krzysztof Kozlowski:

1. Fix for DMA on S3C24xx. This was probably broken for long time, nobody runs
   this code... till now.
2. After fixes from Matthew Leach and Ben Dooks, most of our mach code
   and drivers is now endian-safe. Mark the platform as supporting big endian.
3. Cleanups.

* tag 'samsung-soc-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: EXYNOS: Remove unused DMC and CMU offsets and their mappings
  ARM: s3c64xx: Delete unnecessary assignment for the field "owner"
  ARM: EXYNOS: Enable ARCH_SUPPORTS_BIG_ENDIAN explicitly
  ARM: S3C24XX: Add missing DMA device for Mini2440 board
  ARM: S3C24XX: Add dma_mask assignments for DMA devices
This commit is contained in:
Arnd Bergmann 2016-09-02 18:23:23 +02:00
commit a2fccdead1
7 changed files with 18 additions and 31 deletions

View File

@ -12,6 +12,7 @@ menuconfig ARCH_EXYNOS
depends on ARCH_MULTI_V7
select ARCH_HAS_BANDGAP
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_SUPPORTS_BIG_ENDIAN
select ARM_AMBA
select ARM_GIC
select COMMON_CLK_SAMSUNG

View File

@ -30,25 +30,10 @@
static struct map_desc exynos4_iodesc[] __initdata = {
{
.virtual = (unsigned long)S5P_VA_CMU,
.pfn = __phys_to_pfn(EXYNOS4_PA_CMU),
.length = SZ_128K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_COREPERI_BASE,
.pfn = __phys_to_pfn(EXYNOS4_PA_COREPERI),
.length = SZ_8K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_DMC0,
.pfn = __phys_to_pfn(EXYNOS4_PA_DMC0),
.length = SZ_64K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_DMC1,
.pfn = __phys_to_pfn(EXYNOS4_PA_DMC1),
.length = SZ_64K,
.type = MT_DEVICE,
},
};

View File

@ -18,11 +18,6 @@
#define EXYNOS_PA_CHIPID 0x10000000
#define EXYNOS4_PA_CMU 0x10030000
#define EXYNOS4_PA_DMC0 0x10400000
#define EXYNOS4_PA_DMC1 0x10410000
#define EXYNOS4_PA_COREPERI 0x10500000
#endif /* __ASM_ARCH_MAP_H */

View File

@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/dma-mapping.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
@ -304,6 +304,8 @@ struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = {
},
};
#define s3c24xx_device_dma_mask (*((u64[]) { DMA_BIT_MASK(32) }))
#if defined(CONFIG_CPU_S3C2410) || defined(CONFIG_CPU_S3C2412) || \
defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442)
static struct resource s3c2410_dma_resource[] = {
@ -354,7 +356,9 @@ struct platform_device s3c2410_device_dma = {
.num_resources = ARRAY_SIZE(s3c2410_dma_resource),
.resource = s3c2410_dma_resource,
.dev = {
.platform_data = &s3c2410_dma_platdata,
.dma_mask = &s3c24xx_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &s3c2410_dma_platdata,
},
};
#endif
@ -395,7 +399,9 @@ struct platform_device s3c2412_device_dma = {
.num_resources = ARRAY_SIZE(s3c2410_dma_resource),
.resource = s3c2410_dma_resource,
.dev = {
.platform_data = &s3c2412_dma_platdata,
.dma_mask = &s3c24xx_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &s3c2412_dma_platdata,
},
};
#endif
@ -451,7 +457,9 @@ struct platform_device s3c2440_device_dma = {
.num_resources = ARRAY_SIZE(s3c2410_dma_resource),
.resource = s3c2410_dma_resource,
.dev = {
.platform_data = &s3c2440_dma_platdata,
.dma_mask = &s3c24xx_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &s3c2440_dma_platdata,
},
};
#endif
@ -503,7 +511,9 @@ struct platform_device s3c2443_device_dma = {
.num_resources = ARRAY_SIZE(s3c2443_dma_resource),
.resource = s3c2443_dma_resource,
.dev = {
.platform_data = &s3c2443_dma_platdata,
.dma_mask = &s3c24xx_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &s3c2443_dma_platdata,
},
};
#endif

View File

@ -516,6 +516,7 @@ static struct platform_device *mini2440_devices[] __initdata = {
&mini2440_button_device,
&s3c_device_nand,
&s3c_device_sdi,
&s3c2440_device_dma,
&s3c_device_iis,
&uda1340_codec,
&mini2440_audio,

View File

@ -393,8 +393,7 @@ static const struct i2c_device_id wlf_gf_module_id[] = {
static struct i2c_driver wlf_gf_module_driver = {
.driver = {
.name = "wlf-gf-module",
.owner = THIS_MODULE,
.name = "wlf-gf-module"
},
.probe = wlf_gf_module_probe,
.id_table = wlf_gf_module_id,

View File

@ -14,10 +14,6 @@
#define __ASM_PLAT_MAP_S5P_H __FILE__
#define S5P_VA_CHIPID S3C_ADDR(0x02000000)
#define S5P_VA_CMU S3C_ADDR(0x02100000)
#define S5P_VA_DMC0 S3C_ADDR(0x02440000)
#define S5P_VA_DMC1 S3C_ADDR(0x02480000)
#define S5P_VA_COREPERI_BASE S3C_ADDR(0x02800000)
#define S5P_VA_COREPERI(x) (S5P_VA_COREPERI_BASE + (x))