Lines Matching defs:ranges
95 * @count: the number of ranges in the list
96 * @range: the list of register ranges
104 * Permissible register ranges for reading and writing per device and bank.
106 * The ranges must be listed in increasing address order, and no overlaps are
533 static bool page_write_allowed(const struct ab3550_reg_ranges *ranges,
541 for (i = 0; i < ranges->count; i++) {
542 if (first_reg < ranges->range[i].first)
544 if ((last_reg <= ranges->range[i].last) &&
545 (ranges->range[i].perm & AB3550_PERM_WR))
551 static bool reg_write_allowed(const struct ab3550_reg_ranges *ranges, u8 reg)
553 return page_write_allowed(ranges, reg, reg);
556 static bool page_read_allowed(const struct ab3550_reg_ranges *ranges,
564 for (i = 0; i < ranges->count; i++) {
565 if (first_reg < ranges->range[i].first)
567 if (first_reg <= ranges->range[i].last)
571 * readable. This may span several of the ranges in the list.
573 while ((i < ranges->count) &&
574 (ranges->range[i].perm & AB3550_PERM_RD)) {
575 if (last_reg <= ranges->range[i].last)
577 if ((++i >= ranges->count) ||
578 (ranges->range[i].first !=
579 (ranges->range[i - 1].last + 1))) {
586 static bool reg_read_allowed(const struct ab3550_reg_ranges *ranges, u8 reg)
588 return page_read_allowed(ranges, reg, reg);