summaryrefslogtreecommitdiff
path: root/include/linux/range.h
blob: 6ad0b73cb7adc0ee53451b8fed0a70772adc98fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_RANGE_H
#define _LINUX_RANGE_H
#include <linux/types.h>

struct range {
	u64   start;
	u64   end;
};

static inline u64 range_len(const struct range *range)
{
	return range->end - range->start + 1;
}

static inline bool range_contains(struct range *r1, struct range *r2)
{
	return r1->start <= r2->start && r1->end >= r2->end;
}

int add_range(struct range *range, int az, int nr_range,
		u64 start, u64 end);


int add_range_with_merge(struct range *range, int az, int nr_range,
				u64 start, u64 end);

void subtract_range(struct range *range, int az, u64 start, u64 end);

int clean_sort_range(struct range *range, int az);

void sort_range(struct range *range, int nr_range);

#endif
td>Hui.Liu 2022-08-19dt-bindings: pinctrl: samsung: deprecate header with register constantsKrzysztof Kozlowski 2022-08-10Merge tag 'pinctrl-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/l...Linus Torvalds 2022-07-01dt-bindings: pinctrl: Add DT bindings for Renesas RZ/V2M pinctrlPhil Edworthy 2022-06-29dt-bindings: pinctrl: renesas: Remove spaces before #defineGeert Uytterhoeven 2022-06-10treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULEThomas Gleixner 2022-05-19dt-bindings: pinctrl: Add MediaTek MT6795 pinctrl bindingsAngeloGioacchino Del Regno 2022-03-28Merge tag 'pinctrl-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds 2022-03-15dt-bindings: pinctrl: mt8186: add pinctrl file and binding documentGuodong Liu 2022-02-28dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62Suman Anna 2022-01-30dt-bindings: pinctrl: Add dt-bindings for Sunplus SP7021Wells Lu 2022-01-10Merge tag 'newsoc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds 2021-12-20Merge tag 'samsung-dt64-5.17' of git://git.kernel.org/pub/scm/linux/kernel/gi...Arnd Bergmann 2021-12-20dt-bindings: pinctrl: samsung: Add pin drive definitions for Exynos850Sam Protsenko 2021-12-16dt-bindings: pinctrl: Add StarFive pinctrl definitionsEmil Renner Berthing 2021-12-13dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721S2Aswath Govindraju 2021-10-03dt-bindings: pinctrl: mt8195: add rsel defineZhiyong Tao 2021-08-14Merge tag 'renesas-pinctrl-for-v5.15-tag2' of git://git.kernel.org/pub/scm/li...Linus Walleij 2021-08-11Merge branch 'ib-mt8135' into develLinus Walleij 2021-08-11arm: dts: mt8183: Move pinfunc to include/dt-bindings/pinctrlHsin-Yi Wang 2021-08-11arm: dts: mt8135: Move pinfunc to include/dt-bindings/pinctrlHsin-Yi Wang 2021-08-10dt-bindings: pinctrl: renesas: Add DT bindings for RZ/G2L pinctrlLad Prabhakar 2021-07-30dt-bindings: pinctrl-zynq: Replace 'io-standard' with 'power-source'Sai Krishna Potthuri 2021-07-10Merge tag 'arm-dt-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds 2021-06-17arm64: dts: hisilicon: use the correct HiSilicon copyrightHao Fang 2021-05-27dt-bindings: pinctrl: mt65xx: add mt8365 SoC bindingFabien Parent 2021-05-25dt-bindings: pinctrl: Add DT bindings for apple, pinctrlMark Kettenis 2021-04-30Merge tag 'pinctrl-v5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds 2021-04-22dt-bindings: pinctrl: Add binding for ZynqMP pinctrl driverSai Krishna Potthuri 2021-04-22dt-bindings: pinctrl: mt8195: add pinctrl file and binding documentZhiyong Tao 2021-03-09dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM64Dave Gerlach 2021-01-14dt-bindings: pinctrl: Document canaan,k210-fpioa bindingsDamien Le Moal 2020-10-24Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc...Linus Torvalds 2020-09-23ARM: dts: am33xx: modify AM33XX_IOPAD for #pinctrl-cells = 2Drew Fustini 2020-08-27dt-bindings: pinctrl: mt8192: add pinctrl fileZhiyong Tao 2020-08-09Merge tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/l...Linus Torvalds 2020-07-23pinctrl: mediatek: update pinmux definitions for mt6779Hanks Chen 2020-07-17arm64: dts: ti: k3-*: Replace HTTP links with HTTPS onesAlexander A. Klimov 2020-07-07ARM: dts: am33xx-l4: change #pinctrl-cells from 1 to 2Drew Fustini 2020-06-07Merge tag 'pinctrl-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/l...Linus Torvalds 2020-05-18include: dt-bindings: rockchip: remove unused definesJohan Jonker 2020-04-16pinctrl: imx: Add imx8dxl driverAnson Huang 2019-12-05Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds 2019-11-03pinctrl: at91: Enable slewrate by default on SAM9X60Codrin Ciubotariu 2019-10-16include: dt-bindings: rockchip: mark RK_FUNC defines as deprecatedJohan Jonker