ARM: SAMSUNG: Add setname core function for S3C24XX NAND
This patch replaces the device name assignment method from string assignment to set_name method for all s3c24xx machines and adds device core file. Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com> Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
@@ -51,6 +51,7 @@
|
|||||||
#include <plat/clock.h>
|
#include <plat/clock.h>
|
||||||
#include <plat/pm.h>
|
#include <plat/pm.h>
|
||||||
#include <plat/pll.h>
|
#include <plat/pll.h>
|
||||||
|
#include <plat/nand-core.h>
|
||||||
|
|
||||||
#ifndef CONFIG_CPU_S3C2412_ONLY
|
#ifndef CONFIG_CPU_S3C2412_ONLY
|
||||||
void __iomem *s3c24xx_va_gpio2 = S3C24XX_VA_GPIO;
|
void __iomem *s3c24xx_va_gpio2 = S3C24XX_VA_GPIO;
|
||||||
@@ -92,7 +93,7 @@ void __init s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
|||||||
/* rename devices that are s3c2412/s3c2413 specific */
|
/* rename devices that are s3c2412/s3c2413 specific */
|
||||||
s3c_device_sdi.name = "s3c2412-sdi";
|
s3c_device_sdi.name = "s3c2412-sdi";
|
||||||
s3c_device_lcd.name = "s3c2412-lcd";
|
s3c_device_lcd.name = "s3c2412-lcd";
|
||||||
s3c_device_nand.name = "s3c2412-nand";
|
s3c_nand_setname("s3c2412-nand");
|
||||||
|
|
||||||
/* alter IRQ of SDI controller */
|
/* alter IRQ of SDI controller */
|
||||||
|
|
||||||
|
@@ -56,6 +56,7 @@
|
|||||||
|
|
||||||
#include <plat/iic-core.h>
|
#include <plat/iic-core.h>
|
||||||
#include <plat/fb-core.h>
|
#include <plat/fb-core.h>
|
||||||
|
#include <plat/nand-core.h>
|
||||||
|
|
||||||
static struct map_desc s3c2416_iodesc[] __initdata = {
|
static struct map_desc s3c2416_iodesc[] __initdata = {
|
||||||
IODESC_ENT(WATCHDOG),
|
IODESC_ENT(WATCHDOG),
|
||||||
@@ -100,7 +101,7 @@ void __init s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
|||||||
{
|
{
|
||||||
s3c24xx_init_uartdevs("s3c2440-uart", s3c2410_uart_resources, cfg, no);
|
s3c24xx_init_uartdevs("s3c2440-uart", s3c2410_uart_resources, cfg, no);
|
||||||
|
|
||||||
s3c_device_nand.name = "s3c2416-nand";
|
s3c_nand_setname("s3c2416-nand");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* s3c2416_map_io
|
/* s3c2416_map_io
|
||||||
|
@@ -44,6 +44,7 @@
|
|||||||
#include <plat/cpu.h>
|
#include <plat/cpu.h>
|
||||||
#include <plat/pm.h>
|
#include <plat/pm.h>
|
||||||
#include <plat/pll.h>
|
#include <plat/pll.h>
|
||||||
|
#include <plat/nand-core.h>
|
||||||
|
|
||||||
static struct map_desc s3c244x_iodesc[] __initdata = {
|
static struct map_desc s3c244x_iodesc[] __initdata = {
|
||||||
IODESC_ENT(CLKPWR),
|
IODESC_ENT(CLKPWR),
|
||||||
@@ -68,7 +69,7 @@ void __init s3c244x_map_io(void)
|
|||||||
|
|
||||||
s3c_device_sdi.name = "s3c2440-sdi";
|
s3c_device_sdi.name = "s3c2440-sdi";
|
||||||
s3c_device_i2c0.name = "s3c2440-i2c";
|
s3c_device_i2c0.name = "s3c2440-i2c";
|
||||||
s3c_device_nand.name = "s3c2440-nand";
|
s3c_nand_setname("s3c2440-nand");
|
||||||
s3c_device_ts.name = "s3c2440-ts";
|
s3c_device_ts.name = "s3c2440-ts";
|
||||||
s3c_device_usbgadget.name = "s3c2440-usbgadget";
|
s3c_device_usbgadget.name = "s3c2440-usbgadget";
|
||||||
}
|
}
|
||||||
|
@@ -36,6 +36,7 @@
|
|||||||
#include <plat/devs.h>
|
#include <plat/devs.h>
|
||||||
#include <plat/cpu.h>
|
#include <plat/cpu.h>
|
||||||
#include <plat/fb-core.h>
|
#include <plat/fb-core.h>
|
||||||
|
#include <plat/nand-core.h>
|
||||||
|
|
||||||
static struct map_desc s3c2443_iodesc[] __initdata = {
|
static struct map_desc s3c2443_iodesc[] __initdata = {
|
||||||
IODESC_ENT(WATCHDOG),
|
IODESC_ENT(WATCHDOG),
|
||||||
@@ -62,7 +63,7 @@ int __init s3c2443_init(void)
|
|||||||
|
|
||||||
s3c24xx_reset_hook = s3c2443_hard_reset;
|
s3c24xx_reset_hook = s3c2443_hard_reset;
|
||||||
|
|
||||||
s3c_device_nand.name = "s3c2412-nand";
|
s3c_nand_setname("s3c2412-nand");
|
||||||
s3c_fb_setname("s3c2443-fb");
|
s3c_fb_setname("s3c2443-fb");
|
||||||
|
|
||||||
/* change WDT IRQ number */
|
/* change WDT IRQ number */
|
||||||
|
28
arch/arm/plat-samsung/include/plat/nand-core.h
Normal file
28
arch/arm/plat-samsung/include/plat/nand-core.h
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/* arch/arm/plat-samsung/include/plat/nand-core.h
|
||||||
|
*
|
||||||
|
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
|
||||||
|
* http://www.samsung.com/
|
||||||
|
*
|
||||||
|
* S3C - Nand Controller core functions
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ASM_ARCH_NAND_CORE_H
|
||||||
|
#define __ASM_ARCH_NAND_CORE_H __FILE__
|
||||||
|
|
||||||
|
/* These functions are only for use with the core support code, such as
|
||||||
|
* the cpu specific initialisation code
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* re-define device name depending on support. */
|
||||||
|
static inline void s3c_nand_setname(char *name)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_S3C_DEV_NAND
|
||||||
|
s3c_device_nand.name = name;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __ASM_ARCH_NAND_CORE_H */
|
Reference in New Issue
Block a user