Re: [PATCH v3 1/2] pinctrl: pinctrl-loongson2: add pinctrl driver support

From: Yinbo Zhu
Date: Thu Oct 27 2022 - 04:20:45 EST




在 2022/10/26 下午10:11, Krzysztof Kozlowski 写道:
On 26/10/2022 02:40, Yinbo Zhu wrote:


在 2022/10/26 上午12:07, Krzysztof Kozlowski 写道:
On 23/10/2022 21:42, Yinbo Zhu wrote:
The loongson2 SoC has a few pins that can be used as GPIOs or take
multiple other functions. Add a driver for the pinmuxing.

There is currently no support for GPIO pin pull-up and pull-down.

Thank you for your patch. There is something to discuss/improve.

+static const struct pinmux_ops loongson2_pmx_ops = {
+ .set_mux = loongson2_pmx_set_mux,
+ .get_functions_count = loongson2_pmx_get_funcs_count,
+ .get_function_name = loongson2_pmx_get_func_name,
+ .get_function_groups = loongson2_pmx_get_groups,
+};
+
+static int loongson2_pinctrl_probe(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct loongson2_pinctrl *pctrl;
+ struct resource *res;
+
+ pctrl = devm_kzalloc(dev, sizeof(*pctrl), GFP_KERNEL);
+ if (!pctrl)
+ return -ENOMEM;
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ pctrl->reg_base = devm_ioremap_resource(dev, res);

This is still not fixed.
sorry, I don't get your meaning about "Use combined helper for this."
please you tell me more specific.

So you ignored the feedback? That's not how review process works. You
either implement the feeedback or ask questions. Ignoring it is not
acceptable.
You can find these code has a change in this code conext. I have a feedback on this code. but I mistakenly thought helper is dev_err_probe.
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
pctrl->reg_base = devm_ioremap_resource(dev, res);
if (IS_ERR(pctrl->reg_base))
- return PTR_ERR(pctrl->reg_base);
+ return dev_err_probe(pctrl->dev, PTR_ERR(pctrl->reg_base),
+ "unable to map I/O memory");

raw_spin_lock_init(&pctrl->lock);


There is a helper combining two calls into one. Grep for it in headers
and use it.

You said is that use "devm_platform_get_and_ioremap_resource" as a helper? sorry, I will do it.
Best regards,
Krzysztof