[{"id":3677223,"web_url":"http://patchwork.ozlabs.org/comment/3677223/","msgid":"<247a2a55-14e5-469b-908a-54ffebe035d8@kernel.org>","list_archive_url":null,"date":"2026-04-14T14:04:59","subject":"Re: [PATCH 2/3] gpio: axiado: add SGPIO controller support","submitter":{"id":68952,"url":"http://patchwork.ozlabs.org/api/people/68952/","name":"Krzysztof Kozlowski","email":"krzk@kernel.org"},"content":"On 14/04/2026 15:48, Petar Stepanovic wrote:\n> +\n> +\tfor (i = 0; i < sgpio->max_offset_regs; i++) {\n> +\t\tsgpio->slices[2].reg_ss[i] = 0;\n> +\t\tdout_value = be32_to_cpu(prop[i]);\n> +\n> +\t\tfor (dout_reverse = 0; dout_reverse < 32; ++dout_reverse) {\n> +\t\t\tsgpio->slices[2].reg_ss[i] <<= 1;\n> +\t\t\tsgpio->slices[2].reg_ss[i] |= (dout_value & 1);\n> +\t\t\tdout_value >>= 1;\n> +\t\t}\n> +\t}\n> +\n> +\tsgpio_hw_init(sgpio);\n> +\n> +\tirq = platform_get_irq(pdev, 0);\n> +\n\nOdd style\n\n> +\tif (irq < 0) {\n> +\t\tdev_err(&pdev->dev, \"Failed to get parent IRQ: %d\\n\", irq);\n> +\t\treturn irq;\n> +\t}\n> +\t/* Store parent IRQ for cleanup */\n> +\tsgpio->parent_irq = irq;\n> +\n> +\trc = devm_request_threaded_irq(&pdev->dev, irq, NULL, sgpio_irq_handler,\n> +\t\t\t\t       IRQF_ONESHOT, \"axiado-sgpio\", sgpio);\n> +\n> +\tif (rc < 0) {\n> +\t\tdev_err(&pdev->dev, \"Failed to request threaded IRQ %d: %d\\n\",\n> +\t\t\tirq, rc);\n\nNope\n\n> +\t\treturn rc;\n> +\t}\n> +\n> +\tsgpio->chip.parent = &pdev->dev;\n> +\tsgpio->chip.ngpio = sgpio->ngpios * 2;\n> +\tsgpio->chip.owner = THIS_MODULE;\n> +\tsgpio->chip.direction_input = ax3000_sgpio_dir_in;\n> +\tsgpio->chip.direction_output = ax3000_sgpio_dir_out;\n> +\tsgpio->chip.get = ax3000_sgpio_get;\n> +\tsgpio->chip.set = ax3000_sgpio_set;\n> +\tsgpio->chip.label = dev_name(&pdev->dev);\n> +\tsgpio->chip.base = -1;\n> +\n> +\tgirq = &sgpio->chip.irq;\n> +\n> +\tgirq->chip = &axiado_sgpio_irqchip;\n> +\tgirq->handler = handle_edge_irq;\n> +\tgirq->default_type = IRQ_TYPE_NONE;\n> +\tgirq->num_parents = 1;\n> +\tgirq->parents =\n> +\t\tdevm_kcalloc(&pdev->dev, 1, sizeof(*girq->parents), GFP_KERNEL);\n> +\tif (!girq->parents) {\n> +\t\tdev_err(&pdev->dev, \"Failed to allocate parents array\\n\");\n> +\t\treturn -ENOMEM;\n\nYkes...\n\n> +\t}\n\n\n\n> +\n> +static struct platform_driver sgpio_driver = {\n> +\t.driver = {\n> +\t\t.name = \"sgpio\",\n> +\t\t.owner = THIS_MODULE,\n\nUh, that's 13 year old code. Please drop everything and write from\nscratch using latest reviewed drivers as your base. No point to repeat\nsame review and fix the same issues we already fixed during last 13 years...\n\n> +\t\t.of_match_table = ax_sgpio_match,\n> +\t},\n> +\t.probe = sgpio_probe,\n> +\t.remove = sgpio_remove,\n> +};\n> +\n> +static int __init ax_sgpio_init(void)\n> +{\n> +\tint ret;\n> +\n> +\tret = platform_driver_register(&sgpio_driver);\n> +\tif (ret < 0) {\n> +\t\tpr_err(\"Failed to register SGPIO driver\\n\");\n> +\t\treturn ret;\n> +\t}\n> +\n> +\treturn 0;\n> +}\n> +\n> +static void __exit ax_sgpio_exit(void)\n> +{\n> +\tplatform_driver_unregister(&sgpio_driver);\n> +}\n> +\n> +module_init(ax_sgpio_init);\n> +module_exit(ax_sgpio_exit);\n\nAnd that's one more.\n\nmodule_platform_driver, no?\n\n> +\n> +MODULE_DESCRIPTION(\"Axiado Serial GPIO Driver\");\n> +MODULE_AUTHOR(\"Axiado Corporation\");\n> +MODULE_LICENSE(\"GPL\");\n> \n\n\nBest regards,\nKrzysztof","headers":{"Return-Path":"\n <linux-gpio+bounces-35153-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=XRQYte4a;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35153-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"XRQYte4a\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fw5md712Qz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 00:11:29 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 464233088BB3\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 14:05:06 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 8F1923E7169;\n\tTue, 14 Apr 2026 14:05:05 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 513543A4F37;\n\tTue, 14 Apr 2026 14:05:05 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id BF9C0C19425;\n\tTue, 14 Apr 2026 14:05:01 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776175505; cv=none;\n b=cJ4hXGrqFB08LXuiI6+BHaqOTckErJHp/9uYo85T6Z5vpoPef7e69Su3xGTjtKKN4kXXfsxB2h6mJ5ujbknHOcS76marJgTrCRmD6UPi4gbZVvfj9G9Y3cFD2qxirRdPRxm44tx1h0909WsPFGoarhVDhh0LEaN+GDbDCMy509w=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776175505; c=relaxed/simple;\n\tbh=OF74E1jQi9q8RugvWARpV7zDv+GE0MY3No45lifQv/4=;\n\th=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:\n\t In-Reply-To:Content-Type;\n b=N4WjZd0yj6LnoY1tIqY2YZ6oPcYOgSeHwSwfhHQC1xUf3njs7HUvsEsDHXBmOUH1iU046dgQSLBwfLmEu9TfbebI8jyhNHMni8Ss6KrPqeAoGSkjkdeXFnqi+W2k4e1Ud8+kAArPfqPCxHD5tPew6/FwBcaMS2MG3Naw16dFwQw=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=XRQYte4a; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776175504;\n\tbh=OF74E1jQi9q8RugvWARpV7zDv+GE0MY3No45lifQv/4=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=XRQYte4arHLokcDvFI9HBWgNA9wtDMJVYVJbkgQeM2bC47GJWfUNsI4BoF5ra/O8D\n\t bAh6VdqSSceAQeK4BW1KcIJDDxbp3mthjclhC8Kc1c7wFfoFNCot5w09okpk6ZOVQD\n\t /pItKbut6ccWoajFKFZ2XWijoqG1s2nshmzdA/nfB4VSyou7tGxjAOxLuoNk1Bn+5q\n\t Fgu/vk9cAMDWElgaYzZpHA6EBs7GtLtXCPQ9k8K+SGQdwFVTibwShZuw23DZk9rH6G\n\t UrRxl/x3RuLoD/xry8YYLU6yj8rBQH21z2pL6nkSiQXE3/cJbLlh9sd6mmKOoxI2sB\n\t LUWCi73Ox/S1g==","Message-ID":"<247a2a55-14e5-469b-908a-54ffebe035d8@kernel.org>","Date":"Tue, 14 Apr 2026 16:04:59 +0200","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 2/3] gpio: axiado: add SGPIO controller support","To":"Petar Stepanovic <pstepanovic@axiado.com>, Tzu-Hao Wei <twei@axiado.com>,\n Swark Yang <syang@axiado.com>, Prasad Bolisetty <pbolisetty@axiado.com>,\n Linus Walleij <linusw@kernel.org>, Bartosz Golaszewski <brgl@kernel.org>,\n Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>, Harshit Shah <hshah@axiado.com>,\n SriNavmani A <srinavmani@axiado.com>","Cc":"linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,\n linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org","References":"\n <20260414-axiado-ax3000-sgpio-controller-v1-0-b5c7e4c2e69b@axiado.com>\n <20260414-axiado-ax3000-sgpio-controller-v1-2-b5c7e4c2e69b@axiado.com>","From":"Krzysztof Kozlowski <krzk@kernel.org>","Content-Language":"en-US","Autocrypt":"addr=krzk@kernel.org; keydata=\n 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 a/A=","In-Reply-To":"\n <20260414-axiado-ax3000-sgpio-controller-v1-2-b5c7e4c2e69b@axiado.com>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit"}}]