我的内核源将平台数据写入设备树。(内核版本3.10.9)
使用的板是Exynos5422。
所以我写了mcp2515平台数据参数到.dts
dts:
spi_1: spi@12d30000 {
status = "okay";
spi-src-clk = <0>;
num-cs = <1>;
gpios = ,
,
;
can1: mcp251x@0{
compatible ="microchip,mcp2515";
reg = <0>;
spi-max-frequency = <2000000>;
pinctrl-names = "default";
pinctr-0=;
interrupts = < 0 0 0 >;
interrupt-parent = ;
irq_gpio = ;
reset_gpio = ;
controller-data {
cs-gpio = ;
samsung,spi-feedback-delay = <0>;
};
};
};
mcp_irq: mcp_irq {
samsung,pins = "gpx1-5";
samsung,pin-function = <0xf>;
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
如果以下分配失败,则pdata为null,从而导致以下致命错误。
struct mcp251x_platform_data * pdata = spi-> dev.platform_data
mcp251x.c:
if (!pdata) {
/* Platform data is required for osc freq */
goto error_out;
}
设定:
我想念什么?