From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA027C25B08 for ; Sat, 20 Aug 2022 19:59:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233013AbiHTT7t (ORCPT ); Sat, 20 Aug 2022 15:59:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47736 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233640AbiHTT7C (ORCPT ); Sat, 20 Aug 2022 15:59:02 -0400 Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04E9A3B961 for ; Sat, 20 Aug 2022 12:58:52 -0700 (PDT) Received: by mail-pg1-x532.google.com with SMTP id d71so6206668pgc.13 for ; Sat, 20 Aug 2022 12:58:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc; bh=LU92Q2K7j5de49rLx4/oeszq80ftTh5p9/LMGWQC0I0=; b=4E9UZ4khHsfbwcWdeqRo0cGO3bLTZmLWdPVw21Pb5aXKMASCUbvANinNmWIxEaTNI2 3rdD2B+Ru8b4SfIkoXnTFUQMEC+Rem32dzuIJBnx2nuejlhtocBaQ6b31IOjOhRmolsT RyOqFJ2oUpTzDtSfE3gg7KnGHf86K1l4PXQe4M08nCZQiFk2rJ6GJicGjep5UrTAm93Q 6EUE+kjjoSz8ASsCW26sUiQaihp1wcfAH5uQ7aq2VUuZqY76Y68ASt/pC4JrNTulOVH7 vwZFgkyqd3yW1YZUoAzFcMa8xXoNgv8CqDyW1G7O7Ge5TfeRNHztJ1wdnxESTm93Sacs kN5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc; bh=LU92Q2K7j5de49rLx4/oeszq80ftTh5p9/LMGWQC0I0=; b=RQqaoNIauyY2q2T0HW+7ulTbK6yfoOajFjaq/KibMktEcfAgKMChXNk1FVBeevLkle 7ydekc2KeCcfRHBMFJteWj1NYlIH0GjbqscUgg+CZeL/DzNupAaUhrzAOw3gUZXGSS33 gwGCLlz208mQnGILJ7e3m+zr5ulhunEX4xIRGsWrDJv0/Tmcj5mN4ZB7bTg4SupN0WPx YjV1f6Jmvu0NAt0fv6xNdvU7n2YaAYADhXJegQ2tARVxo1LpO6DqEjUZvD/gA60+HVze lbfeuotVtnhidJBNdPuY/qYd/IaFaBubGpKCe74UTtnx9m18wTTvyAemGVce7J0Afvpf h7zg== X-Gm-Message-State: ACgBeo28DtHFIGx4c+/pyu2T/A4eIAFrYiFRA9AcnTLym2wpZes0Cyt1 ShkJzSylAoG/3iTiyTHs07Zy9w== X-Google-Smtp-Source: AA6agR66oTJzWmeG7LAj7ZK2COy1RNfjGHtLHnxrvQiNVDRnnOSNpeQ9d8iKOcnZcKHEAfWSxlnxUA== X-Received: by 2002:a65:4c06:0:b0:429:71e4:216 with SMTP id u6-20020a654c06000000b0042971e40216mr10752069pgq.163.1661025532582; Sat, 20 Aug 2022 12:58:52 -0700 (PDT) Received: from platform-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id u66-20020a626045000000b005363bc65bb1sm2316794pfb.91.2022.08.20.12.58.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Aug 2022 12:58:52 -0700 (PDT) From: Brad Larson To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, adrian.hunter@intel.com, alcooperx@gmail.com, andy.shevchenko@gmail.com, arnd@arndb.de, brad@pensando.io, blarson@amd.com, brijeshkumar.singh@amd.com, catalin.marinas@arm.com, gsomlo@gmail.com, gerg@linux-m68k.org, krzk@kernel.org, krzysztof.kozlowski+dt@linaro.org, lee.jones@linaro.org, broonie@kernel.org, yamada.masahiro@socionext.com, p.zabel@pengutronix.de, piotrs@cadence.com, p.yadav@ti.com, rdunlap@infradead.org, robh+dt@kernel.org, samuel@sholland.org, fancer.lancer@gmail.com, suravee.suthikulpanit@amd.com, thomas.lendacky@amd.com, ulf.hansson@linaro.org, will@kernel.org, devicetree@vger.kernel.org Subject: [PATCH v6 15/17] reset: elbasr: Add AMD Pensando Elba SR Reset Controller Date: Sat, 20 Aug 2022 12:57:48 -0700 Message-Id: <20220820195750.70861-16-brad@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220820195750.70861-1-brad@pensando.io> References: <20220820195750.70861-1-brad@pensando.io> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Brad Larson This patch adds the reset controller functionality for the AMD Pensando Elba System Resource Chip. Signed-off-by: Brad Larson --- drivers/reset/Kconfig | 9 +++++ drivers/reset/Makefile | 1 + drivers/reset/reset-elbasr.c | 77 ++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 drivers/reset/reset-elbasr.c diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index 806773e88832..04b700c90ce4 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -66,6 +66,15 @@ config RESET_BRCMSTB_RESCAL This enables the RESCAL reset controller for SATA, PCIe0, or PCIe1 on BCM7216. +config RESET_ELBASR + tristate "Pensando Elba System Resource reset controller" + depends on MFD_PENSANDO_ELBASR || COMPILE_TEST + help + This option enables support for the external reset functions + on the Pensando Elba System Resource Chip. Reset control + of peripherals is accessed over SPI to the system resource + chip device registers using CS0. + config RESET_HSDK bool "Synopsys HSDK Reset Driver" depends on HAS_IOMEM diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile index cd5cf8e7c6a7..9e6b095ee63a 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_RESET_BCM6345) += reset-bcm6345.o obj-$(CONFIG_RESET_BERLIN) += reset-berlin.o obj-$(CONFIG_RESET_BRCMSTB) += reset-brcmstb.o obj-$(CONFIG_RESET_BRCMSTB_RESCAL) += reset-brcmstb-rescal.o +obj-$(CONFIG_RESET_ELBASR) += reset-elbasr.o obj-$(CONFIG_RESET_HSDK) += reset-hsdk.o obj-$(CONFIG_RESET_IMX7) += reset-imx7.o obj-$(CONFIG_RESET_INTEL_GW) += reset-intel-gw.o diff --git a/drivers/reset/reset-elbasr.c b/drivers/reset/reset-elbasr.c new file mode 100644 index 000000000000..ab5d49f5e6a7 --- /dev/null +++ b/drivers/reset/reset-elbasr.c @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2022 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include + +struct elbasr_reset { + struct reset_controller_dev rcdev; + struct regmap *regmap; +}; + +static inline struct elbasr_reset *to_elbasr_rst(struct reset_controller_dev *rc) +{ + return container_of(rc, struct elbasr_reset, rcdev); +} + +static int elbasr_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct elbasr_reset *elbar = to_elbasr_rst(rcdev); + + return regmap_update_bits(elbar->regmap, ELBASR_CTRL0_REG, BIT(6), BIT(6)); +} + +static int elbasr_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct elbasr_reset *elbar = to_elbasr_rst(rcdev); + + return regmap_update_bits(elbar->regmap, ELBASR_CTRL0_REG, BIT(6), 0); +} + +static const struct reset_control_ops elbasr_reset_ops = { + .assert = elbasr_reset_assert, + .deassert = elbasr_reset_deassert, +}; + +static int elbasr_reset_probe(struct platform_device *pdev) +{ + struct elbasr_data *elbasr = dev_get_drvdata(pdev->dev.parent); + struct elbasr_reset *elbar; + + elbar = devm_kzalloc(&pdev->dev, sizeof(struct elbasr_reset), + GFP_KERNEL); + if (!elbar) + return -ENOMEM; + + elbar->rcdev.owner = THIS_MODULE; + elbar->rcdev.nr_resets = ELBASR_NR_RESETS; + elbar->rcdev.ops = &elbasr_reset_ops; + elbar->rcdev.of_node = pdev->dev.of_node; + elbar->regmap = elbasr->elbasr_regs; + + platform_set_drvdata(pdev, elbar); + + return devm_reset_controller_register(&pdev->dev, &elbar->rcdev); +} + +static const struct of_device_id elba_reset_dt_match[] = { + { .compatible = "amd,pensando-elbasr-reset", }, + { /* sentinel */ } +}; + +static struct platform_driver elbasr_reset_driver = { + .probe = elbasr_reset_probe, + .driver = { + .name = "pensando_elbasr_reset", + .of_match_table = elba_reset_dt_match, + }, +}; +builtin_platform_driver(elbasr_reset_driver); -- 2.17.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AB3CFC25B08 for ; Sat, 20 Aug 2022 20:49:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8GMATvH4SwJ24hPkyn1WzliTjK5Afful9AIo9NheZh0=; b=LMhjdSRdl0B0Jt C09J7QBjYYBUARGDkALOe8n6eL7V/yzzRKHzSlQ6PHLt7LWDXNwyFc9zZb1ngTnNoSDTfymHd3V71 cb07hsmWnQsSEjDec0hYRUuvHCYJJWcN2te+ml7QWiCwHEpAoYLBAeCopd8wwP23RzM3qH/4xw+cj 5xWavt1kimk5htiYxWrxdvuz/eFys3TrcaIMCPId37PfWql03CxPqrG0V8WBDUI/r0BGY6oCq0rOR 3+Vu6rn8Q18Xl2syTinspolk/gQ8snCfEczdPj3xoaZdQQA0rytIYXLoAqiTExCtFJ38CsmRDLW5R UlS16AZBZwmr7O1BCE3w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPVNz-00CD1j-FR; Sat, 20 Aug 2022 20:48:03 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPVNx-00CCqE-Ko for linux-arm-kernel@bombadil.infradead.org; Sat, 20 Aug 2022 20:48:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=References:In-Reply-To:Message-Id:Date :Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description; bh=LU92Q2K7j5de49rLx4/oeszq80ftTh5p9/LMGWQC0I0=; b=MFXAZWyafMXIyKRahM6qNGWF2y z9v/+wBt6jhZMjBI9rIaKj4G3N02MrQPb3RxGmsWXeyjnPWbtkMHiNjyMbubW87+iCzihb0RcIsa0 SeurGU3zbOwyzpTM4qXfz/ZRJlA3xFg57hTrpYvDQARXju7cez4vmyod8b1EwihpQoIw/TkYeo6zZ sb+r+DFUrLNH3EJ90mCBC+nzzyGGm1YK38RWHHkLei4om5bTP7xSDocRXAl2MSxlw7ypgxeI2BMzi OgNSfG20+VT3QjF4oNerttXaAOP63xrZz5gR2iaha/Y2p4/D0JLNrjYyHsBqG/hPvSVzUsHDMPc4R SyM2vayQ==; Received: from mail-pf1-f177.google.com ([209.85.210.177]) by desiato.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPUcR-004W8x-Ns for linux-arm-kernel@lists.infradead.org; Sat, 20 Aug 2022 19:59:00 +0000 Received: by mail-pf1-f177.google.com with SMTP id p9so5961875pfq.13 for ; Sat, 20 Aug 2022 12:58:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc; bh=LU92Q2K7j5de49rLx4/oeszq80ftTh5p9/LMGWQC0I0=; b=4E9UZ4khHsfbwcWdeqRo0cGO3bLTZmLWdPVw21Pb5aXKMASCUbvANinNmWIxEaTNI2 3rdD2B+Ru8b4SfIkoXnTFUQMEC+Rem32dzuIJBnx2nuejlhtocBaQ6b31IOjOhRmolsT RyOqFJ2oUpTzDtSfE3gg7KnGHf86K1l4PXQe4M08nCZQiFk2rJ6GJicGjep5UrTAm93Q 6EUE+kjjoSz8ASsCW26sUiQaihp1wcfAH5uQ7aq2VUuZqY76Y68ASt/pC4JrNTulOVH7 vwZFgkyqd3yW1YZUoAzFcMa8xXoNgv8CqDyW1G7O7Ge5TfeRNHztJ1wdnxESTm93Sacs kN5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc; bh=LU92Q2K7j5de49rLx4/oeszq80ftTh5p9/LMGWQC0I0=; b=dN3vLkref31hw5KwZKvfolt9rAxmFzfon1uli5X8CRtIGg6sirSUKrF0snz5xaIz1/ 42EyTj17QsggfhJBlnRZcRb9YNs28p+iA4bt87HVmNGB1VTp8TVnTeYQvE4iH2m0K6vl zek3OEk7MjgwiBO2aeeq+kLAnTCaFQmozBPyKmNTulUnyjHXbg1dRlOWIiZvJpNBuWqo X6tRhV8GP42NuNPhgVjS4Y/B9xDqT7ytsBTaXz2uDhkyY6MCoOZ8hHQE+wsR9L6FskT2 6uybUh1kw64kxYQZz2bQre/oqceESKl24vUcQE+exKctmwoNY1SYrDS0weCNAo0pZ3LW o+gQ== X-Gm-Message-State: ACgBeo3qhilNv8biqDS4rGnpgEhsbBwT9ItP92SvswuupFMxUpvpNNt7 RxJMgog9Q/v984DNRlRDp8jwvnMP68wBY7FS X-Google-Smtp-Source: AA6agR66oTJzWmeG7LAj7ZK2COy1RNfjGHtLHnxrvQiNVDRnnOSNpeQ9d8iKOcnZcKHEAfWSxlnxUA== X-Received: by 2002:a65:4c06:0:b0:429:71e4:216 with SMTP id u6-20020a654c06000000b0042971e40216mr10752069pgq.163.1661025532582; Sat, 20 Aug 2022 12:58:52 -0700 (PDT) Received: from platform-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id u66-20020a626045000000b005363bc65bb1sm2316794pfb.91.2022.08.20.12.58.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Aug 2022 12:58:52 -0700 (PDT) From: Brad Larson To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, adrian.hunter@intel.com, alcooperx@gmail.com, andy.shevchenko@gmail.com, arnd@arndb.de, brad@pensando.io, blarson@amd.com, brijeshkumar.singh@amd.com, catalin.marinas@arm.com, gsomlo@gmail.com, gerg@linux-m68k.org, krzk@kernel.org, krzysztof.kozlowski+dt@linaro.org, lee.jones@linaro.org, broonie@kernel.org, yamada.masahiro@socionext.com, p.zabel@pengutronix.de, piotrs@cadence.com, p.yadav@ti.com, rdunlap@infradead.org, robh+dt@kernel.org, samuel@sholland.org, fancer.lancer@gmail.com, suravee.suthikulpanit@amd.com, thomas.lendacky@amd.com, ulf.hansson@linaro.org, will@kernel.org, devicetree@vger.kernel.org Subject: [PATCH v6 15/17] reset: elbasr: Add AMD Pensando Elba SR Reset Controller Date: Sat, 20 Aug 2022 12:57:48 -0700 Message-Id: <20220820195750.70861-16-brad@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220820195750.70861-1-brad@pensando.io> References: <20220820195750.70861-1-brad@pensando.io> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220820_205858_783693_FF44C82E X-CRM114-Status: GOOD ( 19.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Brad Larson This patch adds the reset controller functionality for the AMD Pensando Elba System Resource Chip. Signed-off-by: Brad Larson --- drivers/reset/Kconfig | 9 +++++ drivers/reset/Makefile | 1 + drivers/reset/reset-elbasr.c | 77 ++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 drivers/reset/reset-elbasr.c diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index 806773e88832..04b700c90ce4 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -66,6 +66,15 @@ config RESET_BRCMSTB_RESCAL This enables the RESCAL reset controller for SATA, PCIe0, or PCIe1 on BCM7216. +config RESET_ELBASR + tristate "Pensando Elba System Resource reset controller" + depends on MFD_PENSANDO_ELBASR || COMPILE_TEST + help + This option enables support for the external reset functions + on the Pensando Elba System Resource Chip. Reset control + of peripherals is accessed over SPI to the system resource + chip device registers using CS0. + config RESET_HSDK bool "Synopsys HSDK Reset Driver" depends on HAS_IOMEM diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile index cd5cf8e7c6a7..9e6b095ee63a 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_RESET_BCM6345) += reset-bcm6345.o obj-$(CONFIG_RESET_BERLIN) += reset-berlin.o obj-$(CONFIG_RESET_BRCMSTB) += reset-brcmstb.o obj-$(CONFIG_RESET_BRCMSTB_RESCAL) += reset-brcmstb-rescal.o +obj-$(CONFIG_RESET_ELBASR) += reset-elbasr.o obj-$(CONFIG_RESET_HSDK) += reset-hsdk.o obj-$(CONFIG_RESET_IMX7) += reset-imx7.o obj-$(CONFIG_RESET_INTEL_GW) += reset-intel-gw.o diff --git a/drivers/reset/reset-elbasr.c b/drivers/reset/reset-elbasr.c new file mode 100644 index 000000000000..ab5d49f5e6a7 --- /dev/null +++ b/drivers/reset/reset-elbasr.c @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2022 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include + +struct elbasr_reset { + struct reset_controller_dev rcdev; + struct regmap *regmap; +}; + +static inline struct elbasr_reset *to_elbasr_rst(struct reset_controller_dev *rc) +{ + return container_of(rc, struct elbasr_reset, rcdev); +} + +static int elbasr_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct elbasr_reset *elbar = to_elbasr_rst(rcdev); + + return regmap_update_bits(elbar->regmap, ELBASR_CTRL0_REG, BIT(6), BIT(6)); +} + +static int elbasr_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct elbasr_reset *elbar = to_elbasr_rst(rcdev); + + return regmap_update_bits(elbar->regmap, ELBASR_CTRL0_REG, BIT(6), 0); +} + +static const struct reset_control_ops elbasr_reset_ops = { + .assert = elbasr_reset_assert, + .deassert = elbasr_reset_deassert, +}; + +static int elbasr_reset_probe(struct platform_device *pdev) +{ + struct elbasr_data *elbasr = dev_get_drvdata(pdev->dev.parent); + struct elbasr_reset *elbar; + + elbar = devm_kzalloc(&pdev->dev, sizeof(struct elbasr_reset), + GFP_KERNEL); + if (!elbar) + return -ENOMEM; + + elbar->rcdev.owner = THIS_MODULE; + elbar->rcdev.nr_resets = ELBASR_NR_RESETS; + elbar->rcdev.ops = &elbasr_reset_ops; + elbar->rcdev.of_node = pdev->dev.of_node; + elbar->regmap = elbasr->elbasr_regs; + + platform_set_drvdata(pdev, elbar); + + return devm_reset_controller_register(&pdev->dev, &elbar->rcdev); +} + +static const struct of_device_id elba_reset_dt_match[] = { + { .compatible = "amd,pensando-elbasr-reset", }, + { /* sentinel */ } +}; + +static struct platform_driver elbasr_reset_driver = { + .probe = elbasr_reset_probe, + .driver = { + .name = "pensando_elbasr_reset", + .of_match_table = elba_reset_dt_match, + }, +}; +builtin_platform_driver(elbasr_reset_driver); -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel