up->pins = devm_pinctrl_get_select_default(&pdev->dev);if(IS_ERR(up->pins)) { dev_warn(&pdev->dev,"did not get pins for uart%i error: %li\n", up->port.line, PTR_ERR(up->pins)); up->pins =NULL; }sprintf(up->name,"OMAP UART%d", up->port.line); up->port.mapbase ...
pr_err("%s: failed to get pinctrl\n", __func__);returnPTR_ERR(ctrl_pdata->pin_res.pinctrl); } ctrl_pdata->pin_res.gpio_state_active = pinctrl_lookup_state(ctrl_pdata->pin_res.pinctrl, MDSS_PINCTRL_STATE_DEFAULT);if(IS_ERR_OR_NULL(ctrl_pdata->pin_res.gpio_state_active)) pr...
(1)devm_kzalloc函数是为struct samsung_pinctrl_drv_data数据结构分配内存。每当driver probe一个具体的device实例的时候,都需要建立一些私有的数据结构来保存该device的一些具体的硬件信息(本场景中,这个数据结构就是struct samsung_pinctrl_drv_data)。在过去,驱动工程师多半使用kmalloc或者kzalloc来分配内存,但这会带来...
(1)devm_kzalloc函数是为struct samsung_pinctrl_drv_data数据结构分配内存。每当driver probe一个具体的device实例的时候,都需要建立一些私有的数据结构来保存该device的一些具体的硬件信息(本场景中,这个数据结构就是struct samsung_pinctrl_drv_data)。在过去,驱动工程师多半使用kmalloc或者kzalloc来分配内存,但这会带来...
(struct pinctrl *p) • 作用:释放 pinctrl 句柄,必须与 devm_pinctrl_get...4.1.7 devm_pinctrl_get_select • 函数原型:struct pinctrl *devm_pinctrl_get_select(struct device *dev, const...4.1.8 devm_pinctrl_get_select_default • 函数原型:struct pinctrl *devm_pinctrl_get_select_default(...
(struct pinctrl *p) • 作用:释放 pinctrl 句柄,必须与 devm_pinctrl_get...4.1.7 devm_pinctrl_get_select • 函数原型:struct pinctrl *devm_pinctrl_get_select(struct device *dev, const...4.1.8 devm_pinctrl_get_select_default • 函数原型:struct pinctrl *devm_pinctrl_get_select_default(...