lkml.org 
[lkml]   [2020]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 24/89] reset: Move reset-simple header out of drivers/reset
    Date
    The reset-simple code can be useful for drivers outside of drivers/reset
    that have a few reset controls as part of their features. Let's move it to
    include/linux/reset.

    Cc: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    ---
    drivers/reset/reset-simple.c | 3 +--
    drivers/reset/reset-simple.h | 41 +------------------------------
    drivers/reset/reset-socfpga.c | 3 +--
    drivers/reset/reset-sunxi.c | 3 +--
    drivers/reset/reset-uniphier-glue.c | 3 +--
    include/linux/reset/reset-simple.h | 41 ++++++++++++++++++++++++++++++-
    6 files changed, 45 insertions(+), 49 deletions(-)
    delete mode 100644 drivers/reset/reset-simple.h
    create mode 100644 include/linux/reset/reset-simple.h

    diff --git a/drivers/reset/reset-simple.c b/drivers/reset/reset-simple.c
    index 067e7e7b34f1..c854aa351640 100644
    --- a/drivers/reset/reset-simple.c
    +++ b/drivers/reset/reset-simple.c
    @@ -18,10 +18,9 @@
    #include <linux/of_device.h>
    #include <linux/platform_device.h>
    #include <linux/reset-controller.h>
    +#include <linux/reset/reset-simple.h>
    #include <linux/spinlock.h>

    -#include "reset-simple.h"
    -
    static inline struct reset_simple_data *
    to_reset_simple_data(struct reset_controller_dev *rcdev)
    {
    diff --git a/drivers/reset/reset-simple.h b/drivers/reset/reset-simple.h
    deleted file mode 100644
    index 08ccb25a55e6..000000000000
    --- a/drivers/reset/reset-simple.h
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -/* SPDX-License-Identifier: GPL-2.0-or-later */
    -/*
    - * Simple Reset Controller ops
    - *
    - * Based on Allwinner SoCs Reset Controller driver
    - *
    - * Copyright 2013 Maxime Ripard
    - *
    - * Maxime Ripard <maxime.ripard@free-electrons.com>
    - */
    -
    -#ifndef __RESET_SIMPLE_H__
    -#define __RESET_SIMPLE_H__
    -
    -#include <linux/io.h>
    -#include <linux/reset-controller.h>
    -#include <linux/spinlock.h>
    -
    -/**
    - * struct reset_simple_data - driver data for simple reset controllers
    - * @lock: spinlock to protect registers during read-modify-write cycles
    - * @membase: memory mapped I/O register range
    - * @rcdev: reset controller device base structure
    - * @active_low: if true, bits are cleared to assert the reset. Otherwise, bits
    - * are set to assert the reset. Note that this says nothing about
    - * the voltage level of the actual reset line.
    - * @status_active_low: if true, bits read back as cleared while the reset is
    - * asserted. Otherwise, bits read back as set while the
    - * reset is asserted.
    - */
    -struct reset_simple_data {
    - spinlock_t lock;
    - void __iomem *membase;
    - struct reset_controller_dev rcdev;
    - bool active_low;
    - bool status_active_low;
    -};
    -
    -extern const struct reset_control_ops reset_simple_ops;
    -
    -#endif /* __RESET_SIMPLE_H__ */
    diff --git a/drivers/reset/reset-socfpga.c b/drivers/reset/reset-socfpga.c
    index 96953992c2bb..bdd984296196 100644
    --- a/drivers/reset/reset-socfpga.c
    +++ b/drivers/reset/reset-socfpga.c
    @@ -11,13 +11,12 @@
    #include <linux/of_address.h>
    #include <linux/platform_device.h>
    #include <linux/reset-controller.h>
    +#include <linux/reset/reset-simple.h>
    #include <linux/reset/socfpga.h>
    #include <linux/slab.h>
    #include <linux/spinlock.h>
    #include <linux/types.h>

    -#include "reset-simple.h"
    -
    #define SOCFPGA_NR_BANKS 8

    static int a10_reset_init(struct device_node *np)
    diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
    index e7f169e57bcf..e752594b6971 100644
    --- a/drivers/reset/reset-sunxi.c
    +++ b/drivers/reset/reset-sunxi.c
    @@ -14,13 +14,12 @@
    #include <linux/of_address.h>
    #include <linux/platform_device.h>
    #include <linux/reset-controller.h>
    +#include <linux/reset/reset-simple.h>
    #include <linux/reset/sunxi.h>
    #include <linux/slab.h>
    #include <linux/spinlock.h>
    #include <linux/types.h>

    -#include "reset-simple.h"
    -
    static int sunxi_reset_init(struct device_node *np)
    {
    struct reset_simple_data *data;
    diff --git a/drivers/reset/reset-uniphier-glue.c b/drivers/reset/reset-uniphier-glue.c
    index 2b188b3bb69a..027990b79f61 100644
    --- a/drivers/reset/reset-uniphier-glue.c
    +++ b/drivers/reset/reset-uniphier-glue.c
    @@ -9,8 +9,7 @@
    #include <linux/of_device.h>
    #include <linux/platform_device.h>
    #include <linux/reset.h>
    -
    -#include "reset-simple.h"
    +#include <linux/reset/reset-simple.h>

    #define MAX_CLKS 2
    #define MAX_RSTS 2
    diff --git a/include/linux/reset/reset-simple.h b/include/linux/reset/reset-simple.h
    new file mode 100644
    index 000000000000..08ccb25a55e6
    --- /dev/null
    +++ b/include/linux/reset/reset-simple.h
    @@ -0,0 +1,41 @@
    +/* SPDX-License-Identifier: GPL-2.0-or-later */
    +/*
    + * Simple Reset Controller ops
    + *
    + * Based on Allwinner SoCs Reset Controller driver
    + *
    + * Copyright 2013 Maxime Ripard
    + *
    + * Maxime Ripard <maxime.ripard@free-electrons.com>
    + */
    +
    +#ifndef __RESET_SIMPLE_H__
    +#define __RESET_SIMPLE_H__
    +
    +#include <linux/io.h>
    +#include <linux/reset-controller.h>
    +#include <linux/spinlock.h>
    +
    +/**
    + * struct reset_simple_data - driver data for simple reset controllers
    + * @lock: spinlock to protect registers during read-modify-write cycles
    + * @membase: memory mapped I/O register range
    + * @rcdev: reset controller device base structure
    + * @active_low: if true, bits are cleared to assert the reset. Otherwise, bits
    + * are set to assert the reset. Note that this says nothing about
    + * the voltage level of the actual reset line.
    + * @status_active_low: if true, bits read back as cleared while the reset is
    + * asserted. Otherwise, bits read back as set while the
    + * reset is asserted.
    + */
    +struct reset_simple_data {
    + spinlock_t lock;
    + void __iomem *membase;
    + struct reset_controller_dev rcdev;
    + bool active_low;
    + bool status_active_low;
    +};
    +
    +extern const struct reset_control_ops reset_simple_ops;
    +
    +#endif /* __RESET_SIMPLE_H__ */
    --
    git-series 0.9.1
    \
     
     \ /
      Last update: 2020-02-24 10:10    [W:5.445 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site