Home
last modified time | relevance | path

Searched defs:pctrl (Results 1 – 25 of 42) sorted by relevance

12

/kernel/linux/linux-5.10/drivers/pinctrl/qcom/
Dpinctrl-msm.c61 struct pinctrl_dev *pctrl; member
111 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_groups_count() local
119 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_group_name() local
129 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_group_pins() local
146 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_pinmux_request() local
154 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_functions_count() local
162 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_function_name() local
172 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_function_groups() local
183 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_pinmux_set_mux() local
248 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_pinmux_request_gpio() local
[all …]
Dpinctrl-ssbi-gpio.c89 struct pinctrl_dev *pctrl; member
125 static int pm8xxx_read_bank(struct pm8xxx_gpio *pctrl, in pm8xxx_read_bank()
146 static int pm8xxx_write_bank(struct pm8xxx_gpio *pctrl, in pm8xxx_write_bank()
165 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_groups_count() local
182 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_group_pins() local
214 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_function_groups() local
225 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pinmux_set_mux() local
248 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_get() local
318 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_set() local
453 struct pm8xxx_gpio *pctrl = gpiochip_get_data(chip); in pm8xxx_gpio_direction_input() local
[all …]
Dpinctrl-ssbi-mpp.c127 struct pinctrl_dev *pctrl; member
164 static int pm8xxx_mpp_update(struct pm8xxx_mpp *pctrl, in pm8xxx_mpp_update()
242 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_groups_count() local
259 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_group_pins() local
291 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_function_groups() local
302 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pinmux_set_mux() local
322 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_get() local
372 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_set() local
444 struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); in pm8xxx_mpp_direction_input() local
468 struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); in pm8xxx_mpp_direction_output() local
[all …]
/kernel/linux/linux-4.19/drivers/pinctrl/qcom/
Dpinctrl-msm.c59 struct pinctrl_dev *pctrl; member
78 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_groups_count() local
86 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_group_name() local
96 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_group_pins() local
113 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_pinmux_request() local
121 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_functions_count() local
129 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_function_name() local
139 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_get_function_groups() local
150 struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in msm_pinmux_set_mux() local
187 static int msm_config_reg(struct msm_pinctrl *pctrl, in msm_config_reg()
[all …]
Dpinctrl-ssbi-gpio.c97 struct pinctrl_dev *pctrl; member
133 static int pm8xxx_read_bank(struct pm8xxx_gpio *pctrl, in pm8xxx_read_bank()
154 static int pm8xxx_write_bank(struct pm8xxx_gpio *pctrl, in pm8xxx_write_bank()
173 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_groups_count() local
190 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_group_pins() local
222 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_function_groups() local
233 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pinmux_set_mux() local
256 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_get() local
326 struct pm8xxx_gpio *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_set() local
461 struct pm8xxx_gpio *pctrl = gpiochip_get_data(chip); in pm8xxx_gpio_direction_input() local
[all …]
Dpinctrl-ssbi-mpp.c135 struct pinctrl_dev *pctrl; member
172 static int pm8xxx_mpp_update(struct pm8xxx_mpp *pctrl, in pm8xxx_mpp_update()
250 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_groups_count() local
267 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_group_pins() local
299 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_get_function_groups() local
310 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pinmux_set_mux() local
330 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_get() local
380 struct pm8xxx_mpp *pctrl = pinctrl_dev_get_drvdata(pctldev); in pm8xxx_pin_config_set() local
452 struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); in pm8xxx_mpp_direction_input() local
476 struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); in pm8xxx_mpp_direction_output() local
[all …]
/kernel/linux/linux-5.10/drivers/pinctrl/intel/
Dpinctrl-intel.c91 static struct intel_community *intel_get_community(struct intel_pinctrl *pctrl, in intel_get_community()
124 static void __iomem *intel_get_padcfg(struct intel_pinctrl *pctrl, in intel_get_padcfg()
144 static bool intel_pad_owned_by_host(struct intel_pinctrl *pctrl, unsigned int pin) in intel_pad_owned_by_host()
169 static bool intel_pad_acpi_mode(struct intel_pinctrl *pctrl, unsigned int pin) in intel_pad_acpi_mode()
212 static int intel_pad_locked(struct intel_pinctrl *pctrl, unsigned int pin) in intel_pad_locked()
250 static bool intel_pad_is_unlocked(struct intel_pinctrl *pctrl, unsigned int pin) in intel_pad_is_unlocked()
255 static bool intel_pad_usable(struct intel_pinctrl *pctrl, unsigned int pin) in intel_pad_usable()
262 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_get_groups_count() local
270 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_get_group_name() local
278 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_get_group_pins() local
[all …]
Dpinctrl-cherryview.c567 static u32 chv_pctrl_readl(struct intel_pinctrl *pctrl, unsigned int offset) in chv_pctrl_readl()
574 static void chv_pctrl_writel(struct intel_pinctrl *pctrl, unsigned int offset, u32 value) in chv_pctrl_writel()
584 static void __iomem *chv_padreg(struct intel_pinctrl *pctrl, unsigned int offset, in chv_padreg()
596 static u32 chv_readl(struct intel_pinctrl *pctrl, unsigned int pin, unsigned int offset) in chv_readl()
601 static void chv_writel(struct intel_pinctrl *pctrl, unsigned int pin, unsigned int offset, u32 valu… in chv_writel()
611 static bool chv_pad_locked(struct intel_pinctrl *pctrl, unsigned int offset) in chv_pad_locked()
618 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_groups_count() local
626 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_group_name() local
634 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_group_pins() local
644 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_pin_dbg_show() local
[all …]
/kernel/linux/linux-5.10/drivers/pinctrl/actions/
Dpinctrl-owl.c69 static u32 owl_read_field(struct owl_pinctrl *pctrl, u32 reg, in owl_read_field()
80 static void owl_write_field(struct owl_pinctrl *pctrl, u32 reg, u32 arg, in owl_write_field()
93 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_groups_count() local
101 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_group_name() local
111 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_group_pins() local
123 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_pin_dbg_show() local
139 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_funcs_count() local
147 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_func_name() local
157 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_func_groups() local
196 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_set_mux() local
[all …]
/kernel/linux/linux-4.19/drivers/pinctrl/actions/
Dpinctrl-owl.c65 static u32 owl_read_field(struct owl_pinctrl *pctrl, u32 reg, in owl_read_field()
76 static void owl_write_field(struct owl_pinctrl *pctrl, u32 reg, u32 arg, in owl_write_field()
89 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_groups_count() local
97 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_group_name() local
107 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_group_pins() local
119 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_pin_dbg_show() local
135 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_funcs_count() local
143 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_func_name() local
153 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_get_func_groups() local
192 struct owl_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrldev); in owl_set_mux() local
[all …]
/kernel/linux/linux-4.19/drivers/pinctrl/intel/
Dpinctrl-intel.c118 static struct intel_community *intel_get_community(struct intel_pinctrl *pctrl, in intel_get_community()
151 static void __iomem *intel_get_padcfg(struct intel_pinctrl *pctrl, unsigned pin, in intel_get_padcfg()
171 static bool intel_pad_owned_by_host(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_owned_by_host()
196 static bool intel_pad_acpi_mode(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_acpi_mode()
220 static bool intel_pad_locked(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_locked()
257 static bool intel_pad_usable(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_usable()
265 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_get_groups_count() local
273 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_get_group_name() local
281 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_get_group_pins() local
291 struct intel_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in intel_pin_dbg_show() local
[all …]
Dpinctrl-cherryview.c683 static void __iomem *chv_padreg(struct chv_pinctrl *pctrl, unsigned offset, in chv_padreg()
703 static bool chv_pad_locked(struct chv_pinctrl *pctrl, unsigned offset) in chv_pad_locked()
713 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_groups_count() local
721 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_group_name() local
729 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_group_pins() local
739 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_pin_dbg_show() local
778 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_functions_count() local
786 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_function_name() local
796 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_get_function_groups() local
806 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in chv_pinmux_set_mux() local
[all …]
/kernel/linux/linux-4.19/drivers/pinctrl/berlin/
Dberlin.c37 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinctrl_get_group_count() local
45 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinctrl_get_group_name() local
55 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinctrl_dt_node_to_map() local
109 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_get_functions_count() local
117 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_get_function_name() local
127 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_get_function_groups() local
136 berlin_pinctrl_find_function_by_name(struct berlin_pinctrl *pctrl, in berlin_pinctrl_find_function_by_name()
156 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_set() local
182 static int berlin_pinctrl_add_function(struct berlin_pinctrl *pctrl, in berlin_pinctrl_add_function()
205 struct berlin_pinctrl *pctrl = platform_get_drvdata(pdev); in berlin_pinctrl_build_state() local
[all …]
/kernel/linux/linux-5.10/drivers/pinctrl/berlin/
Dberlin.c37 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinctrl_get_group_count() local
45 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinctrl_get_group_name() local
55 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinctrl_dt_node_to_map() local
107 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_get_functions_count() local
115 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_get_function_name() local
125 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_get_function_groups() local
134 berlin_pinctrl_find_function_by_name(struct berlin_pinctrl *pctrl, in berlin_pinctrl_find_function_by_name()
154 struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); in berlin_pinmux_set() local
180 static int berlin_pinctrl_add_function(struct berlin_pinctrl *pctrl, in berlin_pinctrl_add_function()
203 struct berlin_pinctrl *pctrl = platform_get_drvdata(pdev); in berlin_pinctrl_build_state() local
[all …]
/kernel/linux/linux-4.19/drivers/pinctrl/
Dpinctrl-zynq.c53 struct pinctrl_dev *pctrl; member
838 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pctrl_get_groups_count() local
846 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pctrl_get_group_name() local
856 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pctrl_get_group_pins() local
875 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pmux_get_functions_count() local
883 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pmux_get_function_name() local
893 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pmux_get_function_groups() local
905 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pinmux_set_mux() local
1004 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pinconf_cfg_get() local
1062 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pinconf_cfg_set() local
[all …]
Dpinctrl-amd.h99 struct pinctrl_dev *pctrl; member
/kernel/linux/linux-5.10/drivers/pinctrl/
Dpinctrl-zynq.c41 struct pinctrl_dev *pctrl; member
826 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pctrl_get_groups_count() local
834 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pctrl_get_group_name() local
844 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pctrl_get_group_pins() local
863 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pmux_get_functions_count() local
871 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pmux_get_function_name() local
881 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pmux_get_function_groups() local
893 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pinmux_set_mux() local
992 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pinconf_cfg_get() local
1050 struct zynq_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in zynq_pinconf_cfg_set() local
[all …]
Dpinctrl-bm1880.c919 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pctrl_get_groups_count() local
927 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pctrl_get_group_name() local
937 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pctrl_get_group_pins() local
956 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pmux_get_functions_count() local
964 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pmux_get_function_name() local
974 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pmux_get_function_groups() local
985 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pinmux_set_mux() local
1153 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pinconf_cfg_get() local
1206 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pinconf_cfg_set() local
1272 struct bm1880_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); in bm1880_pinconf_group_set() local
[all …]
Dpinctrl-amd.h95 struct pinctrl_dev *pctrl; member
/kernel/linux/linux-5.10/arch/arm64/boot/dts/hisilicon/
Dhi3670.dtsi161 pctrl: pctrl@e8a09000 { label
Dhi3660.dtsi352 pctrl: pctrl@e8a09000 { label
/kernel/linux/linux-5.10/drivers/phy/hisilicon/
Dphy-hi3660-usb3.c60 struct regmap *pctrl; member
/kernel/linux/linux-5.10/drivers/nvme/target/
Dpassthru.c26 struct nvme_ctrl *pctrl = ctrl->subsys->passthru_ctrl; in nvmet_passthru_override_id_ctrl() local
/kernel/linux/linux-4.19/arch/arm64/boot/dts/hisilicon/
Dhi3660.dtsi346 pctrl: pctrl@e8a09000 { label
/kernel/linux/linux-5.10/drivers/pinctrl/nuvoton/
Dpinctrl-npcm7xx.c1862 static int npcm7xx_gpio_of(struct npcm7xx_pinctrl *pctrl) in npcm7xx_gpio_of()
1952 static int npcm7xx_gpio_register(struct npcm7xx_pinctrl *pctrl) in npcm7xx_gpio_register()
2004 struct npcm7xx_pinctrl *pctrl; in npcm7xx_pinctrl_probe() local

12