devm_clk_get获取时钟出错

风筝丶
博客专家认证
2017-09-14 06:07:33
hw->clk = devm_clk_get(&pdev->dev, "spi");
if (IS_ERR(hw->clk)) {
dev_err(&pdev->dev, "No clock for device\n");
err = PTR_ERR(hw->clk);
goto err_no_pdata;
}


这里就打印出:No clock for device
我的device是:
static struct s3c2410_spi_info spi1_info={/*by kite 2017.9.13*/
.num_cs = 0xff ,/*最大片选数*/
.bus_num = 1,
.set_cs = s3c24xx_spi_cs,
}

static struct device_node spinp = {
.name = "spi",
};

struct platform_device s3c_device_spi1 = {
.name = "s3c2410-spi",
.id = 1,
.num_resources = ARRAY_SIZE(s3c_spi1_resource),
.resource = s3c_spi1_resource,
.dev = {
.dma_mask = &samsung_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &spi1_info,/*by kite 2017.9.13*/
.of_node = &spinp,//struct device_node *of_node;
}
};


这应该是获取时钟结构体的函数,我不知道他是怎么匹配的,
我试着改成:hw->clk = devm_clk_get(NULL, "spi");
因为我看第一个参数为null时是匹配名字的,结果还是会出错,,,,
求解了,,,,,我是4.8.17的Kernel
...全文
4394 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
__pop_ 2021-04-16
  • 打赏
  • 举报
回复
怎么解决的,求指教
__pop_ 2021-04-16
  • 打赏
  • 举报
回复
已解决, ok6410a linux 5.11 usb 添加 otg clock 时 出现 cannot get otg clock , 修改 drivers/clk/samsung/clk-s3c64xx.c 中的 ALIAS(HCLK_USB, "s3c-hsotg", "otg"), 为 ALIAS(HCLK_USB, "s3c2410-ohci", "otg"),
无尽空虚、 2021-03-15
  • 打赏
  • 举报
回复
我也遇到这个问题,驱动从kernel5.2移植到2.6,也是这里出了问题
风筝丶 2018-03-13
  • 打赏
  • 举报
回复
已解决...............

1,317

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧