Lines Matching refs:new_range
36 int logic_pio_register_range(struct logic_pio_hwaddr *new_range) in logic_pio_register_range() argument
45 if (!new_range || !new_range->fwnode || !new_range->size || in logic_pio_register_range()
46 (new_range->flags == LOGIC_PIO_INDIRECT && !new_range->ops)) in logic_pio_register_range()
49 start = new_range->hw_start; in logic_pio_register_range()
50 end = new_range->hw_start + new_range->size; in logic_pio_register_range()
54 if (range->fwnode == new_range->fwnode) { in logic_pio_register_range()
60 new_range->flags == LOGIC_PIO_CPU_MMIO) { in logic_pio_register_range()
70 new_range->flags == LOGIC_PIO_INDIRECT) { in logic_pio_register_range()
76 if (new_range->flags == LOGIC_PIO_CPU_MMIO) { in logic_pio_register_range()
77 if (mmio_end + new_range->size - 1 > MMIO_UPPER_LIMIT) { in logic_pio_register_range()
83 new_range->size = SZ_64K; in logic_pio_register_range()
86 new_range->io_start = mmio_end; in logic_pio_register_range()
87 } else if (new_range->flags == LOGIC_PIO_INDIRECT) { in logic_pio_register_range()
88 if (iio_sz + new_range->size - 1 > IO_SPACE_LIMIT) { in logic_pio_register_range()
92 new_range->io_start = iio_sz; in logic_pio_register_range()
99 list_add_tail_rcu(&new_range->list, &io_range_list); in logic_pio_register_range()