Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
844d0b5a
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
844d0b5a
编写于
5月 12, 2012
作者:
S
Shawn Guo
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'clk/mxs' and 'imx/pinctrl/for-3.5' into mxs/dt/for-3.5
上级
50260924
a0f5e363
变更
33
隐藏空白更改
内联
并排
Showing
33 changed file
with
159 addition
and
0 deletion
+159
-0
arch/arm/Kconfig
arch/arm/Kconfig
+1
-0
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/Kconfig
+2
-0
arch/arm/mach-imx/imx51-dt.c
arch/arm/mach-imx/imx51-dt.c
+3
-0
arch/arm/mach-imx/imx53-dt.c
arch/arm/mach-imx/imx53-dt.c
+3
-0
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-imx/mach-imx6q.c
+7
-0
arch/arm/mach-imx/mm-imx1.c
arch/arm/mach-imx/mm-imx1.c
+2
-0
arch/arm/mach-imx/mm-imx21.c
arch/arm/mach-imx/mm-imx21.c
+2
-0
arch/arm/mach-imx/mm-imx25.c
arch/arm/mach-imx/mm-imx25.c
+2
-0
arch/arm/mach-imx/mm-imx27.c
arch/arm/mach-imx/mm-imx27.c
+2
-0
arch/arm/mach-imx/mm-imx3.c
arch/arm/mach-imx/mm-imx3.c
+2
-0
arch/arm/mach-imx/mm-imx5.c
arch/arm/mach-imx/mm-imx5.c
+2
-0
arch/arm/mach-mxs/Kconfig
arch/arm/mach-mxs/Kconfig
+2
-0
arch/arm/mach-mxs/include/mach/common.h
arch/arm/mach-mxs/include/mach/common.h
+2
-0
arch/arm/mach-mxs/mach-apx4devkit.c
arch/arm/mach-mxs/mach-apx4devkit.c
+2
-0
arch/arm/mach-mxs/mach-m28evk.c
arch/arm/mach-mxs/mach-m28evk.c
+2
-0
arch/arm/mach-mxs/mach-mx23evk.c
arch/arm/mach-mxs/mach-mx23evk.c
+2
-0
arch/arm/mach-mxs/mach-mx28evk.c
arch/arm/mach-mxs/mach-mx28evk.c
+2
-0
arch/arm/mach-mxs/mach-stmp378x_devb.c
arch/arm/mach-mxs/mach-stmp378x_devb.c
+2
-0
arch/arm/mach-mxs/mach-tx28.c
arch/arm/mach-mxs/mach-tx28.c
+2
-0
arch/arm/mach-mxs/mm.c
arch/arm/mach-mxs/mm.c
+11
-0
drivers/i2c/busses/i2c-imx.c
drivers/i2c/busses/i2c-imx.c
+8
-0
drivers/i2c/busses/i2c-mxs.c
drivers/i2c/busses/i2c-mxs.c
+6
-0
drivers/mmc/host/mxs-mmc.c
drivers/mmc/host/mxs-mmc.c
+8
-0
drivers/mmc/host/sdhci-esdhc-imx.c
drivers/mmc/host/sdhci-esdhc-imx.c
+9
-0
drivers/mtd/nand/gpmi-nand/gpmi-nand.c
drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+9
-0
drivers/net/can/flexcan.c
drivers/net/can/flexcan.c
+6
-0
drivers/net/ethernet/freescale/fec.c
drivers/net/ethernet/freescale/fec.c
+9
-0
drivers/spi/spi-imx.c
drivers/spi/spi-imx.c
+8
-0
drivers/tty/serial/amba-pl011.c
drivers/tty/serial/amba-pl011.c
+8
-0
drivers/tty/serial/imx.c
drivers/tty/serial/imx.c
+8
-0
drivers/tty/serial/mxs-auart.c
drivers/tty/serial/mxs-auart.c
+8
-0
drivers/video/mxsfb.c
drivers/video/mxsfb.c
+9
-0
sound/soc/mxs/mxs-saif.c
sound/soc/mxs/mxs-saif.c
+8
-0
未找到文件。
arch/arm/Kconfig
浏览文件 @
844d0b5a
...
...
@@ -470,6 +470,7 @@ config ARCH_MXS
select CLKSRC_MMIO
select COMMON_CLK
select HAVE_CLK_PREPARE
select PINCTRL
help
Support for Freescale MXS-based family of processors
...
...
arch/arm/mach-imx/Kconfig
浏览文件 @
844d0b5a
...
...
@@ -842,6 +842,8 @@ config SOC_IMX6Q
select HAVE_IMX_MMDC
select HAVE_IMX_SRC
select HAVE_SMP
select PINCTRL
select PINCTRL_IMX6Q
select USE_OF
help
...
...
arch/arm/mach-imx/imx51-dt.c
浏览文件 @
844d0b5a
...
...
@@ -14,6 +14,7 @@
#include <linux/irqdomain.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/machine.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <mach/common.h>
...
...
@@ -81,6 +82,8 @@ static void __init imx51_dt_init(void)
of_irq_init
(
imx51_irq_match
);
pinctrl_provide_dummies
();
node
=
of_find_matching_node
(
NULL
,
imx51_iomuxc_of_match
);
if
(
node
)
{
of_id
=
of_match_node
(
imx51_iomuxc_of_match
,
node
);
...
...
arch/arm/mach-imx/imx53-dt.c
浏览文件 @
844d0b5a
...
...
@@ -15,6 +15,7 @@
#include <linux/irqdomain.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/machine.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <mach/common.h>
...
...
@@ -88,6 +89,8 @@ static void __init imx53_dt_init(void)
of_irq_init
(
imx53_irq_match
);
pinctrl_provide_dummies
();
node
=
of_find_matching_node
(
NULL
,
imx53_iomuxc_of_match
);
if
(
node
)
{
of_id
=
of_match_node
(
imx53_iomuxc_of_match
,
node
);
...
...
arch/arm/mach-imx/mach-imx6q.c
浏览文件 @
844d0b5a
...
...
@@ -19,6 +19,7 @@
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/machine.h>
#include <linux/phy.h>
#include <linux/micrel_phy.h>
#include <asm/smp_twd.h>
...
...
@@ -77,6 +78,12 @@ static int ksz9021rn_phy_fixup(struct phy_device *phydev)
static
void
__init
imx6q_init_machine
(
void
)
{
/*
* This should be removed when all imx6q boards have pinctrl
* states for devices defined in device tree.
*/
pinctrl_provide_dummies
();
if
(
of_machine_is_compatible
(
"fsl,imx6q-sabrelite"
))
phy_register_fixup_for_uid
(
PHY_ID_KSZ9021
,
MICREL_PHY_ID_MASK
,
ksz9021rn_phy_fixup
);
...
...
arch/arm/mach-imx/mm-imx1.c
浏览文件 @
844d0b5a
...
...
@@ -18,6 +18,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/pinctrl/machine.h>
#include <asm/mach/map.h>
...
...
@@ -58,4 +59,5 @@ void __init imx1_soc_init(void)
MX1_GPIO_INT_PORTC
,
0
);
mxc_register_gpio
(
"imx1-gpio"
,
3
,
MX1_GPIO4_BASE_ADDR
,
SZ_256
,
MX1_GPIO_INT_PORTD
,
0
);
pinctrl_provide_dummies
();
}
arch/arm/mach-imx/mm-imx21.c
浏览文件 @
844d0b5a
...
...
@@ -20,6 +20,7 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/pinctrl/machine.h>
#include <mach/hardware.h>
#include <mach/common.h>
#include <mach/devices-common.h>
...
...
@@ -88,6 +89,7 @@ void __init imx21_soc_init(void)
mxc_register_gpio
(
"imx21-gpio"
,
4
,
MX21_GPIO5_BASE_ADDR
,
SZ_256
,
MX21_INT_GPIO
,
0
);
mxc_register_gpio
(
"imx21-gpio"
,
5
,
MX21_GPIO6_BASE_ADDR
,
SZ_256
,
MX21_INT_GPIO
,
0
);
pinctrl_provide_dummies
();
imx_add_imx_dma
();
platform_device_register_simple
(
"imx21-audmux"
,
0
,
imx21_audmux_res
,
ARRAY_SIZE
(
imx21_audmux_res
));
...
...
arch/arm/mach-imx/mm-imx25.c
浏览文件 @
844d0b5a
...
...
@@ -19,6 +19,7 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/pinctrl/machine.h>
#include <asm/pgtable.h>
#include <asm/mach/map.h>
...
...
@@ -95,6 +96,7 @@ void __init imx25_soc_init(void)
mxc_register_gpio
(
"imx31-gpio"
,
2
,
MX25_GPIO3_BASE_ADDR
,
SZ_16K
,
MX25_INT_GPIO3
,
0
);
mxc_register_gpio
(
"imx31-gpio"
,
3
,
MX25_GPIO4_BASE_ADDR
,
SZ_16K
,
MX25_INT_GPIO4
,
0
);
pinctrl_provide_dummies
();
/* i.mx25 has the i.mx35 type sdma */
imx_add_imx_sdma
(
"imx35-sdma"
,
MX25_SDMA_BASE_ADDR
,
MX25_INT_SDMA
,
&
imx25_sdma_pdata
);
/* i.mx25 has the i.mx31 type audmux */
...
...
arch/arm/mach-imx/mm-imx27.c
浏览文件 @
844d0b5a
...
...
@@ -20,6 +20,7 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/pinctrl/machine.h>
#include <mach/hardware.h>
#include <mach/common.h>
#include <mach/devices-common.h>
...
...
@@ -89,6 +90,7 @@ void __init imx27_soc_init(void)
mxc_register_gpio
(
"imx21-gpio"
,
4
,
MX27_GPIO5_BASE_ADDR
,
SZ_256
,
MX27_INT_GPIO
,
0
);
mxc_register_gpio
(
"imx21-gpio"
,
5
,
MX27_GPIO6_BASE_ADDR
,
SZ_256
,
MX27_INT_GPIO
,
0
);
pinctrl_provide_dummies
();
imx_add_imx_dma
();
/* imx27 has the imx21 type audmux */
platform_device_register_simple
(
"imx21-audmux"
,
0
,
imx27_audmux_res
,
...
...
arch/arm/mach-imx/mm-imx3.c
浏览文件 @
844d0b5a
...
...
@@ -19,6 +19,7 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/pinctrl/machine.h>
#include <asm/pgtable.h>
#include <asm/system_misc.h>
...
...
@@ -267,6 +268,7 @@ void __init imx35_soc_init(void)
mxc_register_gpio
(
"imx31-gpio"
,
1
,
MX35_GPIO2_BASE_ADDR
,
SZ_16K
,
MX35_INT_GPIO2
,
0
);
mxc_register_gpio
(
"imx31-gpio"
,
2
,
MX35_GPIO3_BASE_ADDR
,
SZ_16K
,
MX35_INT_GPIO3
,
0
);
pinctrl_provide_dummies
();
if
(
to_version
==
1
)
{
strncpy
(
imx35_sdma_pdata
.
fw_name
,
"sdma-imx35-to1.bin"
,
strlen
(
imx35_sdma_pdata
.
fw_name
));
...
...
arch/arm/mach-imx/mm-imx5.c
浏览文件 @
844d0b5a
...
...
@@ -14,6 +14,7 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/clk.h>
#include <linux/pinctrl/machine.h>
#include <asm/system_misc.h>
#include <asm/mach/map.h>
...
...
@@ -223,6 +224,7 @@ void __init imx53_soc_init(void)
mxc_register_gpio
(
"imx31-gpio"
,
5
,
MX53_GPIO6_BASE_ADDR
,
SZ_16K
,
MX53_INT_GPIO6_LOW
,
MX53_INT_GPIO6_HIGH
);
mxc_register_gpio
(
"imx31-gpio"
,
6
,
MX53_GPIO7_BASE_ADDR
,
SZ_16K
,
MX53_INT_GPIO7_LOW
,
MX53_INT_GPIO7_HIGH
);
pinctrl_provide_dummies
();
/* i.mx53 has the i.mx35 type sdma */
imx_add_imx_sdma
(
"imx35-sdma"
,
MX53_SDMA_BASE_ADDR
,
MX53_INT_SDMA
,
&
imx53_sdma_pdata
);
...
...
arch/arm/mach-mxs/Kconfig
浏览文件 @
844d0b5a
...
...
@@ -9,11 +9,13 @@ config SOC_IMX23
bool
select CPU_ARM926T
select HAVE_PWM
select PINCTRL_IMX23
config SOC_IMX28
bool
select CPU_ARM926T
select HAVE_PWM
select PINCTRL_IMX28
comment "MXS platforms:"
...
...
arch/arm/mach-mxs/include/mach/common.h
浏览文件 @
844d0b5a
...
...
@@ -17,11 +17,13 @@ extern void mxs_timer_init(int);
extern
void
mxs_restart
(
char
,
const
char
*
);
extern
int
mxs_saif_clkmux_select
(
unsigned
int
clkmux
);
extern
void
mx23_soc_init
(
void
);
extern
int
mx23_register_gpios
(
void
);
extern
int
mx23_clocks_init
(
void
);
extern
void
mx23_map_io
(
void
);
extern
void
mx23_init_irq
(
void
);
extern
void
mx28_soc_init
(
void
);
extern
int
mx28_register_gpios
(
void
);
extern
int
mx28_clocks_init
(
void
);
extern
void
mx28_map_io
(
void
);
...
...
arch/arm/mach-mxs/mach-apx4devkit.c
浏览文件 @
844d0b5a
...
...
@@ -207,6 +207,8 @@ static int apx4devkit_phy_fixup(struct phy_device *phy)
static
void
__init
apx4devkit_init
(
void
)
{
mx28_soc_init
();
mxs_iomux_setup_multiple_pads
(
apx4devkit_pads
,
ARRAY_SIZE
(
apx4devkit_pads
));
...
...
arch/arm/mach-mxs/mach-m28evk.c
浏览文件 @
844d0b5a
...
...
@@ -319,6 +319,8 @@ static struct mxs_mmc_platform_data m28evk_mmc_pdata[] __initdata = {
static
void
__init
m28evk_init
(
void
)
{
mx28_soc_init
();
mxs_iomux_setup_multiple_pads
(
m28evk_pads
,
ARRAY_SIZE
(
m28evk_pads
));
mx28_add_duart
();
...
...
arch/arm/mach-mxs/mach-mx23evk.c
浏览文件 @
844d0b5a
...
...
@@ -141,6 +141,8 @@ static void __init mx23evk_init(void)
{
int
ret
;
mx23_soc_init
();
mxs_iomux_setup_multiple_pads
(
mx23evk_pads
,
ARRAY_SIZE
(
mx23evk_pads
));
mx23_add_duart
();
...
...
arch/arm/mach-mxs/mach-mx28evk.c
浏览文件 @
844d0b5a
...
...
@@ -413,6 +413,8 @@ static void __init mx28evk_init(void)
{
int
ret
;
mx28_soc_init
();
mxs_iomux_setup_multiple_pads
(
mx28evk_pads
,
ARRAY_SIZE
(
mx28evk_pads
));
mx28_add_duart
();
...
...
arch/arm/mach-mxs/mach-stmp378x_devb.c
浏览文件 @
844d0b5a
...
...
@@ -85,6 +85,8 @@ static void __init stmp378x_dvb_init(void)
{
int
ret
;
mx23_soc_init
();
mxs_iomux_setup_multiple_pads
(
stmp378x_dvb_pads
,
ARRAY_SIZE
(
stmp378x_dvb_pads
));
...
...
arch/arm/mach-mxs/mach-tx28.c
浏览文件 @
844d0b5a
...
...
@@ -146,6 +146,8 @@ static struct mxs_mmc_platform_data tx28_mmc0_pdata __initdata = {
static
void
__init
tx28_stk5v3_init
(
void
)
{
mx28_soc_init
();
mxs_iomux_setup_multiple_pads
(
tx28_stk5v3_pads
,
ARRAY_SIZE
(
tx28_stk5v3_pads
));
...
...
arch/arm/mach-mxs/mm.c
浏览文件 @
844d0b5a
...
...
@@ -13,6 +13,7 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/pinctrl/machine.h>
#include <asm/mach/map.h>
...
...
@@ -61,3 +62,13 @@ void __init mx28_init_irq(void)
{
icoll_init_irq
();
}
void
__init
mx23_soc_init
(
void
)
{
pinctrl_provide_dummies
();
}
void
__init
mx28_soc_init
(
void
)
{
pinctrl_provide_dummies
();
}
drivers/i2c/busses/i2c-imx.c
浏览文件 @
844d0b5a
...
...
@@ -51,6 +51,7 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_i2c.h>
#include <linux/pinctrl/consumer.h>
#include <mach/irqs.h>
#include <mach/hardware.h>
...
...
@@ -470,6 +471,7 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
struct
imx_i2c_struct
*
i2c_imx
;
struct
resource
*
res
;
struct
imxi2c_platform_data
*
pdata
=
pdev
->
dev
.
platform_data
;
struct
pinctrl
*
pinctrl
;
void
__iomem
*
base
;
resource_size_t
res_size
;
int
irq
,
bitrate
;
...
...
@@ -520,6 +522,12 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
i2c_imx
->
base
=
base
;
i2c_imx
->
res
=
res
;
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
fail3
;
}
/* Get I2C clock */
i2c_imx
->
clk
=
clk_get
(
&
pdev
->
dev
,
"i2c_clk"
);
if
(
IS_ERR
(
i2c_imx
->
clk
))
{
...
...
drivers/i2c/busses/i2c-mxs.c
浏览文件 @
844d0b5a
...
...
@@ -26,6 +26,7 @@
#include <linux/platform_device.h>
#include <linux/jiffies.h>
#include <linux/io.h>
#include <linux/pinctrl/consumer.h>
#include <mach/common.h>
...
...
@@ -325,10 +326,15 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev)
struct
device
*
dev
=
&
pdev
->
dev
;
struct
mxs_i2c_dev
*
i2c
;
struct
i2c_adapter
*
adap
;
struct
pinctrl
*
pinctrl
;
struct
resource
*
res
;
resource_size_t
res_size
;
int
err
,
irq
;
pinctrl
=
devm_pinctrl_get_select_default
(
dev
);
if
(
IS_ERR
(
pinctrl
))
return
PTR_ERR
(
pinctrl
);
i2c
=
devm_kzalloc
(
dev
,
sizeof
(
struct
mxs_i2c_dev
),
GFP_KERNEL
);
if
(
!
i2c
)
return
-
ENOMEM
;
...
...
drivers/mmc/host/mxs-mmc.c
浏览文件 @
844d0b5a
...
...
@@ -39,6 +39,7 @@
#include <linux/regulator/consumer.h>
#include <linux/module.h>
#include <linux/fsl/mxs-dma.h>
#include <linux/pinctrl/consumer.h>
#include <mach/mxs.h>
#include <mach/common.h>
...
...
@@ -682,6 +683,7 @@ static int mxs_mmc_probe(struct platform_device *pdev)
struct
mmc_host
*
mmc
;
struct
resource
*
iores
,
*
dmares
,
*
r
;
struct
mxs_mmc_platform_data
*
pdata
;
struct
pinctrl
*
pinctrl
;
int
ret
=
0
,
irq_err
,
irq_dma
;
dma_cap_mask_t
mask
;
...
...
@@ -719,6 +721,12 @@ static int mxs_mmc_probe(struct platform_device *pdev)
host
->
irq
=
irq_err
;
host
->
sdio_irq_en
=
0
;
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
out_iounmap
;
}
host
->
clk
=
clk_get
(
&
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
host
->
clk
))
{
ret
=
PTR_ERR
(
host
->
clk
);
...
...
drivers/mmc/host/sdhci-esdhc-imx.c
浏览文件 @
844d0b5a
...
...
@@ -24,6 +24,7 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/pinctrl/consumer.h>
#include <mach/esdhc.h>
#include "sdhci-pltfm.h"
#include "sdhci-esdhc.h"
...
...
@@ -68,6 +69,7 @@ struct pltfm_imx_data {
int
flags
;
u32
scratchpad
;
enum
imx_esdhc_type
devtype
;
struct
pinctrl
*
pinctrl
;
struct
esdhc_platform_data
boarddata
;
};
...
...
@@ -467,6 +469,12 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev)
clk_prepare_enable
(
clk
);
pltfm_host
->
clk
=
clk
;
imx_data
->
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
imx_data
->
pinctrl
))
{
err
=
PTR_ERR
(
imx_data
->
pinctrl
);
goto
pin_err
;
}
host
->
quirks
|=
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
;
if
(
is_imx25_esdhc
(
imx_data
)
||
is_imx35_esdhc
(
imx_data
))
...
...
@@ -558,6 +566,7 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev)
gpio_free
(
boarddata
->
wp_gpio
);
no_card_detect_pin:
no_board_data:
pin_err:
clk_disable_unprepare
(
pltfm_host
->
clk
);
clk_put
(
pltfm_host
->
clk
);
err_clk_get:
...
...
drivers/mtd/nand/gpmi-nand/gpmi-nand.c
浏览文件 @
844d0b5a
...
...
@@ -24,6 +24,7 @@
#include <linux/module.h>
#include <linux/mtd/gpmi-nand.h>
#include <linux/mtd/partitions.h>
#include <linux/pinctrl/consumer.h>
#include "gpmi-nand.h"
/* add our owner bbt descriptor */
...
...
@@ -476,6 +477,7 @@ static int __devinit acquire_dma_channels(struct gpmi_nand_data *this)
static
int
__devinit
acquire_resources
(
struct
gpmi_nand_data
*
this
)
{
struct
resources
*
res
=
&
this
->
resources
;
struct
pinctrl
*
pinctrl
;
int
ret
;
ret
=
acquire_register_block
(
this
,
GPMI_NAND_GPMI_REGS_ADDR_RES_NAME
);
...
...
@@ -494,6 +496,12 @@ static int __devinit acquire_resources(struct gpmi_nand_data *this)
if
(
ret
)
goto
exit_dma_channels
;
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
exit_pin
;
}
res
->
clock
=
clk_get
(
&
this
->
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
res
->
clock
))
{
pr_err
(
"can not get the clock
\n
"
);
...
...
@@ -503,6 +511,7 @@ static int __devinit acquire_resources(struct gpmi_nand_data *this)
return
0
;
exit_clock:
exit_pin:
release_dma_channels
(
this
);
exit_dma_channels:
release_bch_irq
(
this
);
...
...
drivers/net/can/flexcan.c
浏览文件 @
844d0b5a
...
...
@@ -35,6 +35,7 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/consumer.h>
#define DRV_NAME "flexcan"
...
...
@@ -927,11 +928,16 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
struct
flexcan_priv
*
priv
;
struct
resource
*
mem
;
struct
clk
*
clk
=
NULL
;
struct
pinctrl
*
pinctrl
;
void
__iomem
*
base
;
resource_size_t
mem_size
;
int
err
,
irq
;
u32
clock_freq
=
0
;
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
return
PTR_ERR
(
pinctrl
);
if
(
pdev
->
dev
.
of_node
)
{
const
u32
*
clock_freq_p
;
...
...
drivers/net/ethernet/freescale/fec.c
浏览文件 @
844d0b5a
...
...
@@ -48,6 +48,7 @@
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/of_net.h>
#include <linux/pinctrl/consumer.h>
#include <asm/cacheflush.h>
...
...
@@ -1542,6 +1543,7 @@ fec_probe(struct platform_device *pdev)
struct
resource
*
r
;
const
struct
of_device_id
*
of_id
;
static
int
dev_id
;
struct
pinctrl
*
pinctrl
;
of_id
=
of_match_device
(
fec_dt_ids
,
&
pdev
->
dev
);
if
(
of_id
)
...
...
@@ -1609,6 +1611,12 @@ fec_probe(struct platform_device *pdev)
}
}
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
failed_pin
;
}
fep
->
clk
=
clk_get
(
&
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
fep
->
clk
))
{
ret
=
PTR_ERR
(
fep
->
clk
);
...
...
@@ -1639,6 +1647,7 @@ fec_probe(struct platform_device *pdev)
failed_init:
clk_disable_unprepare
(
fep
->
clk
);
clk_put
(
fep
->
clk
);
failed_pin:
failed_clk:
for
(
i
=
0
;
i
<
FEC_IRQ_NUM
;
i
++
)
{
irq
=
platform_get_irq
(
pdev
,
i
);
...
...
drivers/spi/spi-imx.c
浏览文件 @
844d0b5a
...
...
@@ -37,6 +37,7 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/pinctrl/consumer.h>
#include <mach/spi.h>
...
...
@@ -758,6 +759,7 @@ static int __devinit spi_imx_probe(struct platform_device *pdev)
struct
spi_master
*
master
;
struct
spi_imx_data
*
spi_imx
;
struct
resource
*
res
;
struct
pinctrl
*
pinctrl
;
int
i
,
ret
,
num_cs
;
if
(
!
np
&&
!
mxc_platform_info
)
{
...
...
@@ -845,6 +847,12 @@ static int __devinit spi_imx_probe(struct platform_device *pdev)
goto
out_iounmap
;
}
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
out_free_irq
;
}
spi_imx
->
clk
=
clk_get
(
&
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
spi_imx
->
clk
))
{
dev_err
(
&
pdev
->
dev
,
"unable to get clock
\n
"
);
...
...
drivers/tty/serial/amba-pl011.c
浏览文件 @
844d0b5a
...
...
@@ -52,6 +52,7 @@
#include <linux/scatterlist.h>
#include <linux/delay.h>
#include <linux/types.h>
#include <linux/pinctrl/consumer.h>
#include <asm/io.h>
#include <asm/sizes.h>
...
...
@@ -1916,6 +1917,7 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
{
struct
uart_amba_port
*
uap
;
struct
vendor_data
*
vendor
=
id
->
data
;
struct
pinctrl
*
pinctrl
;
void
__iomem
*
base
;
int
i
,
ret
;
...
...
@@ -1940,6 +1942,12 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
goto
free
;
}
pinctrl
=
devm_pinctrl_get_select_default
(
&
dev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
unmap
;
}
uap
->
clk
=
clk_get
(
&
dev
->
dev
,
NULL
);
if
(
IS_ERR
(
uap
->
clk
))
{
ret
=
PTR_ERR
(
uap
->
clk
);
...
...
drivers/tty/serial/imx.c
浏览文件 @
844d0b5a
...
...
@@ -47,6 +47,7 @@
#include <linux/slab.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/pinctrl/consumer.h>
#include <asm/io.h>
#include <asm/irq.h>
...
...
@@ -1464,6 +1465,7 @@ static int serial_imx_probe(struct platform_device *pdev)
void
__iomem
*
base
;
int
ret
=
0
;
struct
resource
*
res
;
struct
pinctrl
*
pinctrl
;
sport
=
kzalloc
(
sizeof
(
*
sport
),
GFP_KERNEL
);
if
(
!
sport
)
...
...
@@ -1503,6 +1505,12 @@ static int serial_imx_probe(struct platform_device *pdev)
sport
->
timer
.
function
=
imx_timeout
;
sport
->
timer
.
data
=
(
unsigned
long
)
sport
;
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
unmap
;
}
sport
->
clk
=
clk_get
(
&
pdev
->
dev
,
"uart"
);
if
(
IS_ERR
(
sport
->
clk
))
{
ret
=
PTR_ERR
(
sport
->
clk
);
...
...
drivers/tty/serial/mxs-auart.c
浏览文件 @
844d0b5a
...
...
@@ -32,6 +32,7 @@
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/pinctrl/consumer.h>
#include <asm/cacheflush.h>
...
...
@@ -678,6 +679,7 @@ static int __devinit mxs_auart_probe(struct platform_device *pdev)
u32
version
;
int
ret
=
0
;
struct
resource
*
r
;
struct
pinctrl
*
pinctrl
;
s
=
kzalloc
(
sizeof
(
struct
mxs_auart_port
),
GFP_KERNEL
);
if
(
!
s
)
{
...
...
@@ -685,6 +687,12 @@ static int __devinit mxs_auart_probe(struct platform_device *pdev)
goto
out
;
}
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
out_free
;
}
s
->
clk
=
clk_get
(
&
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
s
->
clk
))
{
ret
=
PTR_ERR
(
s
->
clk
);
...
...
drivers/video/mxsfb.c
浏览文件 @
844d0b5a
...
...
@@ -45,6 +45,7 @@
#include <linux/clk.h>
#include <linux/dma-mapping.h>
#include <linux/io.h>
#include <linux/pinctrl/consumer.h>
#include <mach/mxsfb.h>
#define REG_SET 4
...
...
@@ -756,6 +757,7 @@ static int __devinit mxsfb_probe(struct platform_device *pdev)
struct
mxsfb_info
*
host
;
struct
fb_info
*
fb_info
;
struct
fb_modelist
*
modelist
;
struct
pinctrl
*
pinctrl
;
int
i
,
ret
;
if
(
!
pdata
)
{
...
...
@@ -793,6 +795,12 @@ static int __devinit mxsfb_probe(struct platform_device *pdev)
host
->
devdata
=
&
mxsfb_devdata
[
pdev
->
id_entry
->
driver_data
];
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
goto
error_getpin
;
}
host
->
clk
=
clk_get
(
&
host
->
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
host
->
clk
))
{
ret
=
PTR_ERR
(
host
->
clk
);
...
...
@@ -848,6 +856,7 @@ static int __devinit mxsfb_probe(struct platform_device *pdev)
error_pseudo_pallette:
clk_put
(
host
->
clk
);
error_getclock:
error_getpin:
iounmap
(
host
->
base
);
error_ioremap:
framebuffer_release
(
fb_info
);
...
...
sound/soc/mxs/mxs-saif.c
浏览文件 @
844d0b5a
...
...
@@ -25,6 +25,7 @@
#include <linux/delay.h>
#include <linux/time.h>
#include <linux/fsl/mxs-dma.h>
#include <linux/pinctrl/consumer.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
...
...
@@ -625,6 +626,7 @@ static int mxs_saif_probe(struct platform_device *pdev)
struct
resource
*
iores
,
*
dmares
;
struct
mxs_saif
*
saif
;
struct
mxs_saif_platform_data
*
pdata
;
struct
pinctrl
*
pinctrl
;
int
ret
=
0
;
if
(
pdev
->
id
>=
ARRAY_SIZE
(
mxs_saif
))
...
...
@@ -650,6 +652,12 @@ static int mxs_saif_probe(struct platform_device *pdev)
saif
->
master_id
=
saif
->
id
;
}
pinctrl
=
devm_pinctrl_get_select_default
(
&
pdev
->
dev
);
if
(
IS_ERR
(
pinctrl
))
{
ret
=
PTR_ERR
(
pinctrl
);
return
ret
;
}
saif
->
clk
=
clk_get
(
&
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
saif
->
clk
))
{
ret
=
PTR_ERR
(
saif
->
clk
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录