Commit a940d9a4 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'soc-arm-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC ARM platform updates from Arnd Bergmann:
 "Most of these updates are for removing dead code on the Samsung S3C,
  NXP i.MX, TI OMAP and TI DaVinci platforms, though this appears to be
  a coincidence.

  There are also cleanups for the Marvell Orion family and the Arm
  integrator series and a Kconfig change for Broadcom"

* tag 'soc-arm-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: dove: Drop a write-only variable
  ARM: orion5x: Switch to new sys-off handler API
  ARM: mvebu: Warn about memory chunks too small for DDR training
  ARM: imx: Annotate imx7d_enet_init() as __init
  ARM: OMAP1: Remove unused declarations in arch/arm/mach-omap1/pm.h
  ARM: s3c: remove unused s3c2410_cpu_suspend() declaration
  ARM: s3c: remove unused declarations for s3c6400
  ARM: s3c: Remove unused s3c_init_uart_irqs() declaration
  ARM: davinci: remove unused cpuidle code
  ARM: davinci: remove unused davinci_init_ide() declaration
  ARM: davinci: remove unused davinci_cfg_reg_list() declaration
  ARM: mach-imx: imx6sx: Remove Ethernet refclock setting
  MAINTAINERS: Add entry for Samsung Exynos850 SoC
  ARM: bcm: Select ARM_GIC_V3 for ARCH_BRCMSTB
  ARM: omap2: Switch to use kmemdup_array()
  ARM: omap1: Remove unused struct 'dma_link_info'
  ARM: s3c: Drop explicit initialization of struct i2c_device_id::driver_data to 0
parents 38ea77ab 46d2efc4
...@@ -20243,6 +20243,16 @@ B: mailto:linux-samsung-soc@vger.kernel.org ...@@ -20243,6 +20243,16 @@ B: mailto:linux-samsung-soc@vger.kernel.org
F: Documentation/devicetree/bindings/sound/samsung* F: Documentation/devicetree/bindings/sound/samsung*
F: sound/soc/samsung/ F: sound/soc/samsung/
SAMSUNG EXYNOS850 SoC SUPPORT
M: Sam Protsenko <semen.protsenko@linaro.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L: linux-samsung-soc@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/clock/samsung,exynos850-clock.yaml
F: arch/arm64/boot/dts/exynos/exynos850*
F: drivers/clk/samsung/clk-exynos850.c
F: include/dt-bindings/clock/exynos850.h
SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER
M: Krzysztof Kozlowski <krzk@kernel.org> M: Krzysztof Kozlowski <krzk@kernel.org>
L: linux-crypto@vger.kernel.org L: linux-crypto@vger.kernel.org
......
...@@ -185,6 +185,7 @@ config ARCH_BRCMSTB ...@@ -185,6 +185,7 @@ config ARCH_BRCMSTB
select ARCH_HAS_RESET_CONTROLLER select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA select ARM_AMBA
select ARM_GIC select ARM_GIC
select ARM_GIC_V3
select ARM_ERRATA_798181 if SMP select ARM_ERRATA_798181 if SMP
select HAVE_ARM_ARCH_TIMER select HAVE_ARM_ARCH_TIMER
select ZONE_DMA if ARM_LPAE select ZONE_DMA if ARM_LPAE
......
...@@ -16,7 +16,6 @@ obj-$(CONFIG_ARCH_DAVINCI_DA850) += da850.o pdata-quirks.o ...@@ -16,7 +16,6 @@ obj-$(CONFIG_ARCH_DAVINCI_DA850) += da850.o pdata-quirks.o
obj-y += da8xx-dt.o obj-y += da8xx-dt.o
# Power Management # Power Management
obj-$(CONFIG_CPU_IDLE) += cpuidle.o
obj-$(CONFIG_HAVE_CLK) += pm_domain.o obj-$(CONFIG_HAVE_CLK) += pm_domain.o
ifeq ($(CONFIG_SUSPEND),y) ifeq ($(CONFIG_SUSPEND),y)
obj-$(CONFIG_ARCH_DAVINCI_DA850) += pm.o sleep.o obj-$(CONFIG_ARCH_DAVINCI_DA850) += pm.o sleep.o
......
...@@ -52,7 +52,6 @@ struct davinci_soc_info { ...@@ -52,7 +52,6 @@ struct davinci_soc_info {
extern struct davinci_soc_info davinci_soc_info; extern struct davinci_soc_info davinci_soc_info;
extern void davinci_common_init(const struct davinci_soc_info *soc_info); extern void davinci_common_init(const struct davinci_soc_info *soc_info);
extern void davinci_init_ide(void);
void davinci_init_late(void); void davinci_init_late(void);
#ifdef CONFIG_SUSPEND #ifdef CONFIG_SUSPEND
......
// SPDX-License-Identifier: GPL-2.0-only
/*
* CPU idle for DaVinci SoCs
*
* Copyright (C) 2009 Texas Instruments Incorporated. https://www.ti.com/
*
* Derived from Marvell Kirkwood CPU idle code
* (arch/arm/mach-kirkwood/cpuidle.c)
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/cpuidle.h>
#include <linux/io.h>
#include <linux/export.h>
#include <asm/cpuidle.h>
#include "cpuidle.h"
#include "ddr2.h"
#define DAVINCI_CPUIDLE_MAX_STATES 2
static void __iomem *ddr2_reg_base;
static bool ddr2_pdown;
static void davinci_save_ddr_power(int enter, bool pdown)
{
u32 val;
val = __raw_readl(ddr2_reg_base + DDR2_SDRCR_OFFSET);
if (enter) {
if (pdown)
val |= DDR2_SRPD_BIT;
else
val &= ~DDR2_SRPD_BIT;
val |= DDR2_LPMODEN_BIT;
} else {
val &= ~(DDR2_SRPD_BIT | DDR2_LPMODEN_BIT);
}
__raw_writel(val, ddr2_reg_base + DDR2_SDRCR_OFFSET);
}
/* Actual code that puts the SoC in different idle states */
static __cpuidle int davinci_enter_idle(struct cpuidle_device *dev,
struct cpuidle_driver *drv, int index)
{
davinci_save_ddr_power(1, ddr2_pdown);
cpu_do_idle();
davinci_save_ddr_power(0, ddr2_pdown);
return index;
}
static struct cpuidle_driver davinci_idle_driver = {
.name = "cpuidle-davinci",
.owner = THIS_MODULE,
.states[0] = ARM_CPUIDLE_WFI_STATE,
.states[1] = {
.enter = davinci_enter_idle,
.exit_latency = 10,
.target_residency = 10000,
.name = "DDR SR",
.desc = "WFI and DDR Self Refresh",
},
.state_count = DAVINCI_CPUIDLE_MAX_STATES,
};
static int __init davinci_cpuidle_probe(struct platform_device *pdev)
{
struct davinci_cpuidle_config *pdata = pdev->dev.platform_data;
if (!pdata) {
dev_err(&pdev->dev, "cannot get platform data\n");
return -ENOENT;
}
ddr2_reg_base = pdata->ddr2_ctlr_base;
ddr2_pdown = pdata->ddr2_pdown;
return cpuidle_register(&davinci_idle_driver, NULL);
}
static struct platform_driver davinci_cpuidle_driver = {
.driver = {
.name = "cpuidle-davinci",
},
};
static int __init davinci_cpuidle_init(void)
{
return platform_driver_probe(&davinci_cpuidle_driver,
davinci_cpuidle_probe);
}
device_initcall(davinci_cpuidle_init);
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* TI DaVinci cpuidle platform support
*
* 2009 (C) Texas Instruments, Inc. https://www.ti.com/
*/
#ifndef _MACH_DAVINCI_CPUIDLE_H
#define _MACH_DAVINCI_CPUIDLE_H
struct davinci_cpuidle_config {
u32 ddr2_pdown;
void __iomem *ddr2_ctlr_base;
};
#endif
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include "common.h" #include "common.h"
#include "cputype.h" #include "cputype.h"
#include "da8xx.h" #include "da8xx.h"
#include "cpuidle.h"
#include "irqs.h" #include "irqs.h"
#include "sram.h" #include "sram.h"
......
...@@ -654,14 +654,9 @@ enum davinci_da850_index { ...@@ -654,14 +654,9 @@ enum davinci_da850_index {
#ifdef CONFIG_DAVINCI_MUX #ifdef CONFIG_DAVINCI_MUX
/* setup pin muxing */ /* setup pin muxing */
extern int davinci_cfg_reg(unsigned long reg_cfg); extern int davinci_cfg_reg(unsigned long reg_cfg);
extern int davinci_cfg_reg_list(const short pins[]);
#else #else
/* boot loader does it all (no warnings from CONFIG_DAVINCI_MUX_WARNINGS) */ /* boot loader does it all (no warnings from CONFIG_DAVINCI_MUX_WARNINGS) */
static inline int davinci_cfg_reg(unsigned long reg_cfg) { return 0; } static inline int davinci_cfg_reg(unsigned long reg_cfg) { return 0; }
static inline int davinci_cfg_reg_list(const short pins[])
{
return 0;
}
#endif #endif
......
...@@ -82,7 +82,7 @@ static void __init dove_clk_init(void) ...@@ -82,7 +82,7 @@ static void __init dove_clk_init(void)
{ {
struct clk *usb0, *usb1, *sata, *pex0, *pex1, *sdio0, *sdio1; struct clk *usb0, *usb1, *sata, *pex0, *pex1, *sdio0, *sdio1;
struct clk *nand, *camera, *i2s0, *i2s1, *crypto, *ac97, *pdma; struct clk *nand, *camera, *i2s0, *i2s1, *crypto, *ac97, *pdma;
struct clk *xor0, *xor1, *ge, *gephy; struct clk *xor0, *xor1, *ge;
tclk = clk_register_fixed_rate(NULL, "tclk", NULL, 0, dove_tclk); tclk = clk_register_fixed_rate(NULL, "tclk", NULL, 0, dove_tclk);
...@@ -102,7 +102,7 @@ static void __init dove_clk_init(void) ...@@ -102,7 +102,7 @@ static void __init dove_clk_init(void)
pdma = dove_register_gate("pdma", "tclk", CLOCK_GATING_BIT_PDMA); pdma = dove_register_gate("pdma", "tclk", CLOCK_GATING_BIT_PDMA);
xor0 = dove_register_gate("xor0", "tclk", CLOCK_GATING_BIT_XOR0); xor0 = dove_register_gate("xor0", "tclk", CLOCK_GATING_BIT_XOR0);
xor1 = dove_register_gate("xor1", "tclk", CLOCK_GATING_BIT_XOR1); xor1 = dove_register_gate("xor1", "tclk", CLOCK_GATING_BIT_XOR1);
gephy = dove_register_gate("gephy", "tclk", CLOCK_GATING_BIT_GIGA_PHY); dove_register_gate("gephy", "tclk", CLOCK_GATING_BIT_GIGA_PHY);
ge = dove_register_gate("ge", "gephy", CLOCK_GATING_BIT_GBE); ge = dove_register_gate("ge", "gephy", CLOCK_GATING_BIT_GBE);
orion_clkdev_add(NULL, "orion_spi.0", tclk); orion_clkdev_add(NULL, "orion_spi.0", tclk);
......
...@@ -7,37 +7,15 @@ ...@@ -7,37 +7,15 @@
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/regmap.h> #include <linux/regmap.h>
#include <linux/mfd/syscon.h> #include <linux/mfd/syscon.h>
#include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include "common.h" #include "common.h"
#include "cpuidle.h" #include "cpuidle.h"
static void __init imx6sx_enet_clk_sel(void)
{
struct regmap *gpr;
gpr = syscon_regmap_lookup_by_compatible("fsl,imx6sx-iomuxc-gpr");
if (!IS_ERR(gpr)) {
regmap_update_bits(gpr, IOMUXC_GPR1,
IMX6SX_GPR1_FEC_CLOCK_MUX_SEL_MASK, 0);
regmap_update_bits(gpr, IOMUXC_GPR1,
IMX6SX_GPR1_FEC_CLOCK_PAD_DIR_MASK, 0);
} else {
pr_err("failed to find fsl,imx6sx-iomux-gpr regmap\n");
}
}
static inline void imx6sx_enet_init(void)
{
imx6sx_enet_clk_sel();
}
static void __init imx6sx_init_machine(void) static void __init imx6sx_init_machine(void)
{ {
of_platform_default_populate(NULL, NULL, NULL); of_platform_default_populate(NULL, NULL, NULL);
imx6sx_enet_init();
imx_anatop_init(); imx_anatop_init();
imx6sx_pm_init(); imx6sx_pm_init();
} }
......
...@@ -48,7 +48,7 @@ static void __init imx7d_enet_clk_sel(void) ...@@ -48,7 +48,7 @@ static void __init imx7d_enet_clk_sel(void)
} }
} }
static inline void imx7d_enet_init(void) static void __init imx7d_enet_init(void)
{ {
imx7d_enet_phy_init(); imx7d_enet_phy_init();
imx7d_enet_clk_sel(); imx7d_enet_clk_sel();
......
...@@ -86,6 +86,9 @@ static int __init mvebu_scan_mem(unsigned long node, const char *uname, ...@@ -86,6 +86,9 @@ static int __init mvebu_scan_mem(unsigned long node, const char *uname,
base = dt_mem_next_cell(dt_root_addr_cells, &reg); base = dt_mem_next_cell(dt_root_addr_cells, &reg);
size = dt_mem_next_cell(dt_root_size_cells, &reg); size = dt_mem_next_cell(dt_root_size_cells, &reg);
if (size < MVEBU_DDR_TRAINING_AREA_SZ)
pr_warn("Too little memory to reserve for DDR training\n");
memblock_reserve(base, MVEBU_DDR_TRAINING_AREA_SZ); memblock_reserve(base, MVEBU_DDR_TRAINING_AREA_SZ);
} }
......
...@@ -59,19 +59,6 @@ static struct omap_dma_dev_attr *d; ...@@ -59,19 +59,6 @@ static struct omap_dma_dev_attr *d;
static int enable_1510_mode; static int enable_1510_mode;
static u32 errata; static u32 errata;
struct dma_link_info {
int *linked_dmach_q;
int no_of_lchs_linked;
int q_count;
int q_tail;
int q_head;
int chain_state;
int chain_mode;
};
static int dma_lch_count; static int dma_lch_count;
static int dma_chan_count; static int dma_chan_count;
static int omap_dma_reserve_channels; static int omap_dma_reserve_channels;
......
...@@ -114,13 +114,9 @@ extern void omap1_pm_suspend(void); ...@@ -114,13 +114,9 @@ extern void omap1_pm_suspend(void);
extern void omap1510_cpu_suspend(unsigned long, unsigned long); extern void omap1510_cpu_suspend(unsigned long, unsigned long);
extern void omap1610_cpu_suspend(unsigned long, unsigned long); extern void omap1610_cpu_suspend(unsigned long, unsigned long);
extern void omap1510_idle_loop_suspend(void);
extern void omap1610_idle_loop_suspend(void);
extern unsigned int omap1510_cpu_suspend_sz; extern unsigned int omap1510_cpu_suspend_sz;
extern unsigned int omap1610_cpu_suspend_sz; extern unsigned int omap1610_cpu_suspend_sz;
extern unsigned int omap1510_idle_loop_suspend_sz;
extern unsigned int omap1610_idle_loop_suspend_sz;
#ifdef CONFIG_OMAP_SERIAL_WAKE #ifdef CONFIG_OMAP_SERIAL_WAKE
extern void omap_serial_wake_trigger(int enable); extern void omap_serial_wake_trigger(int enable);
......
...@@ -315,7 +315,7 @@ static struct omap_device *omap_device_alloc(struct platform_device *pdev, ...@@ -315,7 +315,7 @@ static struct omap_device *omap_device_alloc(struct platform_device *pdev,
od->hwmods_cnt = oh_cnt; od->hwmods_cnt = oh_cnt;
hwmods = kmemdup(ohs, sizeof(struct omap_hwmod *) * oh_cnt, GFP_KERNEL); hwmods = kmemdup_array(ohs, oh_cnt, sizeof(*hwmods), GFP_KERNEL);
if (!hwmods) if (!hwmods)
goto oda_exit2; goto oda_exit2;
......
...@@ -82,5 +82,5 @@ static void mss2_power_off(void) ...@@ -82,5 +82,5 @@ static void mss2_power_off(void)
void __init mss2_init(void) void __init mss2_init(void)
{ {
/* register mss2 specific power-off method */ /* register mss2 specific power-off method */
pm_power_off = mss2_power_off; register_platform_power_off(mss2_power_off);
} }
...@@ -700,7 +700,7 @@ static void __init dns323_init(void) ...@@ -700,7 +700,7 @@ static void __init dns323_init(void)
if (gpio_request(DNS323_GPIO_POWER_OFF, "POWEROFF") != 0 || if (gpio_request(DNS323_GPIO_POWER_OFF, "POWEROFF") != 0 ||
gpio_direction_output(DNS323_GPIO_POWER_OFF, 0) != 0) gpio_direction_output(DNS323_GPIO_POWER_OFF, 0) != 0)
pr_err("DNS-323: failed to setup power-off GPIO\n"); pr_err("DNS-323: failed to setup power-off GPIO\n");
pm_power_off = dns323a_power_off; register_platform_power_off(dns323a_power_off);
break; break;
case DNS323_REV_B1: case DNS323_REV_B1:
/* 5182 built-in SATA init */ /* 5182 built-in SATA init */
...@@ -717,7 +717,7 @@ static void __init dns323_init(void) ...@@ -717,7 +717,7 @@ static void __init dns323_init(void)
if (gpio_request(DNS323_GPIO_POWER_OFF, "POWEROFF") != 0 || if (gpio_request(DNS323_GPIO_POWER_OFF, "POWEROFF") != 0 ||
gpio_direction_output(DNS323_GPIO_POWER_OFF, 0) != 0) gpio_direction_output(DNS323_GPIO_POWER_OFF, 0) != 0)
pr_err("DNS-323: failed to setup power-off GPIO\n"); pr_err("DNS-323: failed to setup power-off GPIO\n");
pm_power_off = dns323b_power_off; register_platform_power_off(dns323b_power_off);
break; break;
case DNS323_REV_C1: case DNS323_REV_C1:
/* 5182 built-in SATA init */ /* 5182 built-in SATA init */
...@@ -727,7 +727,7 @@ static void __init dns323_init(void) ...@@ -727,7 +727,7 @@ static void __init dns323_init(void)
if (gpio_request(DNS323C_GPIO_POWER_OFF, "POWEROFF") != 0 || if (gpio_request(DNS323C_GPIO_POWER_OFF, "POWEROFF") != 0 ||
gpio_direction_output(DNS323C_GPIO_POWER_OFF, 0) != 0) gpio_direction_output(DNS323C_GPIO_POWER_OFF, 0) != 0)
pr_err("DNS-323: failed to setup power-off GPIO\n"); pr_err("DNS-323: failed to setup power-off GPIO\n");
pm_power_off = dns323c_power_off; register_platform_power_off(dns323c_power_off);
/* Now, -this- should theoretically be done by the sata_mv driver /* Now, -this- should theoretically be done by the sata_mv driver
* once I figure out what's going on there. Maybe the behaviour * once I figure out what's going on there. Maybe the behaviour
......
...@@ -373,7 +373,7 @@ static void __init kurobox_pro_init(void) ...@@ -373,7 +373,7 @@ static void __init kurobox_pro_init(void)
i2c_register_board_info(0, &kurobox_pro_i2c_rtc, 1); i2c_register_board_info(0, &kurobox_pro_i2c_rtc, 1);
/* register Kurobox Pro specific power-off method */ /* register Kurobox Pro specific power-off method */
pm_power_off = kurobox_pro_power_off; register_platform_power_off(kurobox_pro_power_off);
} }
#ifdef CONFIG_MACH_KUROBOX_PRO #ifdef CONFIG_MACH_KUROBOX_PRO
......
...@@ -238,7 +238,7 @@ static void __init mv2120_init(void) ...@@ -238,7 +238,7 @@ static void __init mv2120_init(void)
if (gpio_request(MV2120_GPIO_POWER_OFF, "POWEROFF") != 0 || if (gpio_request(MV2120_GPIO_POWER_OFF, "POWEROFF") != 0 ||
gpio_direction_output(MV2120_GPIO_POWER_OFF, 1) != 0) gpio_direction_output(MV2120_GPIO_POWER_OFF, 1) != 0)
pr_err("mv2120: failed to setup power-off GPIO\n"); pr_err("mv2120: failed to setup power-off GPIO\n");
pm_power_off = mv2120_power_off; register_platform_power_off(mv2120_power_off);
} }
/* Warning: HP uses a wrong mach-type (=526) in their bootloader */ /* Warning: HP uses a wrong mach-type (=526) in their bootloader */
......
...@@ -423,7 +423,7 @@ static void __init net2big_init(void) ...@@ -423,7 +423,7 @@ static void __init net2big_init(void)
if (gpio_request(NET2BIG_GPIO_POWER_OFF, "power-off") == 0 && if (gpio_request(NET2BIG_GPIO_POWER_OFF, "power-off") == 0 &&
gpio_direction_output(NET2BIG_GPIO_POWER_OFF, 0) == 0) gpio_direction_output(NET2BIG_GPIO_POWER_OFF, 0) == 0)
pm_power_off = net2big_power_off; register_platform_power_off(net2big_power_off);
else else
pr_err("net2big: failed to configure power-off GPIO\n"); pr_err("net2big: failed to configure power-off GPIO\n");
......
...@@ -349,7 +349,7 @@ static void __init tsp2_init(void) ...@@ -349,7 +349,7 @@ static void __init tsp2_init(void)
i2c_register_board_info(0, &tsp2_i2c_rtc, 1); i2c_register_board_info(0, &tsp2_i2c_rtc, 1);
/* register Terastation Pro II specific power-off method */ /* register Terastation Pro II specific power-off method */
pm_power_off = tsp2_power_off; register_platform_power_off(tsp2_power_off);
} }
MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live") MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live")
......
...@@ -314,7 +314,7 @@ static void __init qnap_ts209_init(void) ...@@ -314,7 +314,7 @@ static void __init qnap_ts209_init(void)
i2c_register_board_info(0, &qnap_ts209_i2c_rtc, 1); i2c_register_board_info(0, &qnap_ts209_i2c_rtc, 1);
/* register tsx09 specific power-off method */ /* register tsx09 specific power-off method */
pm_power_off = qnap_tsx09_power_off; register_platform_power_off(qnap_tsx09_power_off);
} }
MACHINE_START(TS209, "QNAP TS-109/TS-209") MACHINE_START(TS209, "QNAP TS-109/TS-209")
......
...@@ -312,7 +312,7 @@ static void __init qnap_ts409_init(void) ...@@ -312,7 +312,7 @@ static void __init qnap_ts409_init(void)
platform_device_register(&ts409_leds); platform_device_register(&ts409_leds);
/* register tsx09 specific power-off method */ /* register tsx09 specific power-off method */
pm_power_off = qnap_tsx09_power_off; register_platform_power_off(qnap_tsx09_power_off);
} }
MACHINE_START(TS409, "QNAP TS-409") MACHINE_START(TS409, "QNAP TS-409")
......
...@@ -12,5 +12,3 @@ struct s3c_uart_irq { ...@@ -12,5 +12,3 @@ struct s3c_uart_irq {
unsigned int parent_irq; unsigned int parent_irq;
}; };
extern void s3c_init_uart_irqs(struct s3c_uart_irq *irq, unsigned int nr_irqs);
...@@ -446,7 +446,7 @@ static int wlf_gf_module_probe(struct i2c_client *i2c) ...@@ -446,7 +446,7 @@ static int wlf_gf_module_probe(struct i2c_client *i2c)
} }
static const struct i2c_device_id wlf_gf_module_id[] = { static const struct i2c_device_id wlf_gf_module_id[] = {
{ "wlf-gf-module", 0 }, { "wlf-gf-module" },
{ } { }
}; };
......
...@@ -48,8 +48,6 @@ extern unsigned long s3c_pm_flags; ...@@ -48,8 +48,6 @@ extern unsigned long s3c_pm_flags;
/* from sleep.S */ /* from sleep.S */
extern int s3c2410_cpu_suspend(unsigned long);
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
extern int s3c_irq_wake(struct irq_data *data, unsigned int state); extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
extern void s3c_cpu_resume(void); extern void s3c_cpu_resume(void);
......
...@@ -23,17 +23,6 @@ struct device_node; ...@@ -23,17 +23,6 @@ struct device_node;
void s3c64xx_set_xtal_freq(unsigned long freq); void s3c64xx_set_xtal_freq(unsigned long freq);
void s3c64xx_set_xusbxti_freq(unsigned long freq); void s3c64xx_set_xusbxti_freq(unsigned long freq);
#ifdef CONFIG_CPU_S3C6400
extern int s3c6400_init(void);
extern void s3c6400_init_irq(void);
extern void s3c6400_map_io(void);
#else
#define s3c6400_map_io NULL
#define s3c6400_init NULL
#endif
#ifdef CONFIG_CPU_S3C6410 #ifdef CONFIG_CPU_S3C6410
extern int s3c6410_init(void); extern int s3c6410_init(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment