drivers: gpio: drop DEV_DATA/DEV_CFG usage
Stop using redundant DEV_DATA/DEV_CFG macros and use dev->data and dev->config instead. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
parent
fb23084be1
commit
ae5ebe8e51
10 changed files with 105 additions and 151 deletions
|
@ -31,17 +31,12 @@ struct gpio_sam_runtime {
|
|||
sys_slist_t cb;
|
||||
};
|
||||
|
||||
#define DEV_CFG(dev) \
|
||||
((const struct gpio_sam_config * const)(dev)->config)
|
||||
#define DEV_DATA(dev) \
|
||||
((struct gpio_sam_runtime * const)(dev)->data)
|
||||
|
||||
#define GPIO_SAM_ALL_PINS 0xFFFFFFFF
|
||||
|
||||
static int gpio_sam_port_configure(const struct device *dev, uint32_t mask,
|
||||
gpio_flags_t flags)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
if (flags & GPIO_SINGLE_ENDED) {
|
||||
|
@ -153,7 +148,7 @@ static int gpio_sam_config(const struct device *dev, gpio_pin_t pin,
|
|||
|
||||
static int gpio_sam_port_get_raw(const struct device *dev, uint32_t *value)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
*value = pio->PIO_PDSR;
|
||||
|
@ -165,7 +160,7 @@ static int gpio_sam_port_set_masked_raw(const struct device *dev,
|
|||
uint32_t mask,
|
||||
uint32_t value)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
pio->PIO_ODSR = (pio->PIO_ODSR & ~mask) | (mask & value);
|
||||
|
@ -175,7 +170,7 @@ static int gpio_sam_port_set_masked_raw(const struct device *dev,
|
|||
|
||||
static int gpio_sam_port_set_bits_raw(const struct device *dev, uint32_t mask)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
/* Set pins. */
|
||||
|
@ -187,7 +182,7 @@ static int gpio_sam_port_set_bits_raw(const struct device *dev, uint32_t mask)
|
|||
static int gpio_sam_port_clear_bits_raw(const struct device *dev,
|
||||
uint32_t mask)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
/* Clear pins. */
|
||||
|
@ -198,7 +193,7 @@ static int gpio_sam_port_clear_bits_raw(const struct device *dev,
|
|||
|
||||
static int gpio_sam_port_toggle_bits(const struct device *dev, uint32_t mask)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
/* Toggle pins. */
|
||||
|
@ -212,7 +207,7 @@ static int gpio_sam_port_interrupt_configure(const struct device *dev,
|
|||
enum gpio_int_mode mode,
|
||||
enum gpio_int_trig trig)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
|
||||
/* Disable the interrupt. */
|
||||
|
@ -266,7 +261,7 @@ static int gpio_sam_pin_interrupt_configure(const struct device *dev,
|
|||
|
||||
static void gpio_sam_isr(const struct device *dev)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
Pio * const pio = cfg->regs;
|
||||
struct gpio_sam_runtime *context = dev->data;
|
||||
uint32_t int_stat;
|
||||
|
@ -298,7 +293,7 @@ static const struct gpio_driver_api gpio_sam_api = {
|
|||
|
||||
int gpio_sam_init(const struct device *dev)
|
||||
{
|
||||
const struct gpio_sam_config * const cfg = DEV_CFG(dev);
|
||||
const struct gpio_sam_config * const cfg = dev->config;
|
||||
|
||||
/* The peripheral clock must be enabled for the interrupts to work. */
|
||||
soc_pmc_peripheral_enable(cfg->periph_id);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue