Home
last modified time | relevance | path

Searched refs:pinfo (Results 1 – 25 of 86) sorted by relevance

1234

/Linux-v6.6/drivers/tty/serial/
Dcpm_uart.c51 static void cpm_uart_initbd(struct uart_cpm_port *pinfo);
67 struct uart_cpm_port *pinfo = in cpm_uart_tx_empty() local
69 cbd_t __iomem *bdp = pinfo->tx_bd_base; in cpm_uart_tx_empty()
90 struct uart_cpm_port *pinfo = in cpm_uart_set_mctrl() local
93 if (pinfo->gpios[GPIO_RTS]) in cpm_uart_set_mctrl()
94 gpiod_set_value(pinfo->gpios[GPIO_RTS], !(mctrl & TIOCM_RTS)); in cpm_uart_set_mctrl()
96 if (pinfo->gpios[GPIO_DTR]) in cpm_uart_set_mctrl()
97 gpiod_set_value(pinfo->gpios[GPIO_DTR], !(mctrl & TIOCM_DTR)); in cpm_uart_set_mctrl()
102 struct uart_cpm_port *pinfo = in cpm_uart_get_mctrl() local
106 if (pinfo->gpios[GPIO_CTS]) { in cpm_uart_get_mctrl()
[all …]
Dcpm_uart.h28 #define IS_SMC(pinfo) (pinfo->flags & FLAG_SMC) argument
82 struct uart_cpm_port *pinfo) in cpu2cpm_addr() argument
86 u32 mem = (u32)pinfo->mem_addr; in cpu2cpm_addr()
88 if (likely(val >= mem && val < mem + pinfo->mem_size)) { in cpu2cpm_addr()
90 return pinfo->dma_addr + offset; in cpu2cpm_addr()
98 struct uart_cpm_port *pinfo) in cpm2cpu_addr() argument
102 u32 dma = (u32)pinfo->dma_addr; in cpm2cpu_addr()
104 if (likely(val >= dma && val < dma + pinfo->mem_size)) { in cpm2cpu_addr()
106 return pinfo->mem_addr + offset; in cpm2cpu_addr()
/Linux-v6.6/drivers/gpu/drm/panel/
Dpanel-boe-himax8279d.c60 static void disable_gpios(struct panel_info *pinfo) in disable_gpios() argument
62 gpiod_set_value(pinfo->enable_gpio, 0); in disable_gpios()
63 gpiod_set_value(pinfo->pp33_gpio, 0); in disable_gpios()
64 gpiod_set_value(pinfo->pp18_gpio, 0); in disable_gpios()
69 struct panel_info *pinfo = to_panel_info(panel); in send_mipi_cmds() local
73 for (i = 0; i < pinfo->desc->on_cmds_num; i++) { in send_mipi_cmds()
74 err = mipi_dsi_dcs_write_buffer(pinfo->link, &cmds[i], in send_mipi_cmds()
86 struct panel_info *pinfo = to_panel_info(panel); in boe_panel_disable() local
89 if (!pinfo->enabled) in boe_panel_disable()
92 err = mipi_dsi_dcs_set_display_off(pinfo->link); in boe_panel_disable()
[all …]
Dpanel-novatek-nt36672a.c87 struct nt36672a_panel *pinfo = to_nt36672a_panel(panel); in nt36672a_send_cmds() local
94 err = mipi_dsi_dcs_write(pinfo->link, cmd->data[0], cmd->data + 1, 1); in nt36672a_send_cmds()
105 struct nt36672a_panel *pinfo = to_nt36672a_panel(panel); in nt36672a_panel_power_off() local
108 gpiod_set_value(pinfo->reset_gpio, 1); in nt36672a_panel_power_off()
110 ret = regulator_bulk_disable(ARRAY_SIZE(pinfo->supplies), pinfo->supplies); in nt36672a_panel_power_off()
119 struct nt36672a_panel *pinfo = to_nt36672a_panel(panel); in nt36672a_panel_unprepare() local
122 if (!pinfo->prepared) in nt36672a_panel_unprepare()
126 ret = nt36672a_send_cmds(panel, pinfo->desc->off_cmds, in nt36672a_panel_unprepare()
127 pinfo->desc->num_off_cmds); in nt36672a_panel_unprepare()
132 ret = mipi_dsi_dcs_set_display_off(pinfo->link); in nt36672a_panel_unprepare()
[all …]
Dpanel-novatek-nt36523.c57 int (*init_sequence)(struct panel_info *pinfo);
68 static int elish_boe_init_sequence(struct panel_info *pinfo) in elish_boe_init_sequence() argument
70 struct mipi_dsi_device *dsi0 = pinfo->dsi[0]; in elish_boe_init_sequence()
71 struct mipi_dsi_device *dsi1 = pinfo->dsi[1]; in elish_boe_init_sequence()
288 static int elish_csot_init_sequence(struct panel_info *pinfo) in elish_csot_init_sequence() argument
290 struct mipi_dsi_device *dsi0 = pinfo->dsi[0]; in elish_csot_init_sequence()
291 struct mipi_dsi_device *dsi1 = pinfo->dsi[1]; in elish_csot_init_sequence()
486 static int j606f_boe_init_sequence(struct panel_info *pinfo) in j606f_boe_init_sequence() argument
488 struct mipi_dsi_device *dsi = pinfo->dsi[0]; in j606f_boe_init_sequence()
1032 static void nt36523_reset(struct panel_info *pinfo) in nt36523_reset() argument
[all …]
/Linux-v6.6/drivers/video/fbdev/
Dplatinumfb.c88 static int read_platinum_sense(struct fb_info_platinum *pinfo);
89 static void set_platinum_clock(struct fb_info_platinum *pinfo);
90 static void platinum_set_hardware(struct fb_info_platinum *pinfo);
92 struct fb_info_platinum *pinfo,
121 struct fb_info_platinum *pinfo = info->par; in platinumfb_set_par() local
125 if((err = platinum_var_to_par(&info->var, pinfo, 0))) { in platinumfb_set_par()
131 platinum_set_hardware(pinfo); in platinumfb_set_par()
133 init = platinum_reg_init[pinfo->vmode-1]; in platinumfb_set_par()
135 if ((pinfo->vmode == VMODE_832_624_75) && (pinfo->cmode > CMODE_8)) in platinumfb_set_par()
138 info->screen_base = pinfo->frame_buffer + init->fb_offset + offset; in platinumfb_set_par()
[all …]
/Linux-v6.6/drivers/net/ethernet/intel/i40e/
Di40e_ddp.c35 struct i40e_profile_info *pinfo) in i40e_ddp_does_profile_exist() argument
49 if (i40e_ddp_profiles_eq(pinfo, &profile_list->p_info[i])) in i40e_ddp_does_profile_exist()
90 struct i40e_profile_info *pinfo) in i40e_ddp_does_profile_overlap() argument
104 if (i40e_ddp_profiles_overlap(pinfo, in i40e_ddp_does_profile_overlap()
125 struct i40e_profile_info *pinfo; in i40e_add_pinfo() local
136 pinfo = (struct i40e_profile_info *)(profile_info_sec + in i40e_add_pinfo()
138 pinfo->track_id = track_id; in i40e_add_pinfo()
139 pinfo->version = profile->version; in i40e_add_pinfo()
140 pinfo->op = I40E_DDP_ADD_TRACKID; in i40e_add_pinfo()
143 memset(pinfo->reserved, 0, sizeof(pinfo->reserved)); in i40e_add_pinfo()
[all …]
/Linux-v6.6/sound/core/seq/
Dseq_dummy.c108 struct snd_seq_port_info pinfo; in create_port() local
119 memset(&pinfo, 0, sizeof(pinfo)); in create_port()
120 pinfo.addr.client = my_client; in create_port()
122 sprintf(pinfo.name, "Midi Through Port-%d:%c", idx, in create_port()
125 sprintf(pinfo.name, "Midi Through Port-%d", idx); in create_port()
126 pinfo.capability = SNDRV_SEQ_PORT_CAP_READ | SNDRV_SEQ_PORT_CAP_SUBS_READ; in create_port()
127 pinfo.capability |= SNDRV_SEQ_PORT_CAP_WRITE | SNDRV_SEQ_PORT_CAP_SUBS_WRITE; in create_port()
129 pinfo.capability |= SNDRV_SEQ_PORT_CAP_DUPLEX; in create_port()
130 pinfo.direction = SNDRV_SEQ_PORT_DIR_BIDIRECTION; in create_port()
131 pinfo.type = SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC in create_port()
[all …]
Dseq_virmidi.c359 struct snd_seq_port_info *pinfo; in snd_virmidi_dev_attach_seq() local
365 pinfo = kzalloc(sizeof(*pinfo), GFP_KERNEL); in snd_virmidi_dev_attach_seq()
366 if (!pinfo) { in snd_virmidi_dev_attach_seq()
382 pinfo->addr.client = client; in snd_virmidi_dev_attach_seq()
383 sprintf(pinfo->name, "VirMIDI %d-%d", rdev->card->number, rdev->device); in snd_virmidi_dev_attach_seq()
385pinfo->capability |= SNDRV_SEQ_PORT_CAP_WRITE | SNDRV_SEQ_PORT_CAP_SYNC_WRITE | SNDRV_SEQ_PORT_CAP… in snd_virmidi_dev_attach_seq()
386pinfo->capability |= SNDRV_SEQ_PORT_CAP_READ | SNDRV_SEQ_PORT_CAP_SYNC_READ | SNDRV_SEQ_PORT_CAP_S… in snd_virmidi_dev_attach_seq()
387 pinfo->capability |= SNDRV_SEQ_PORT_CAP_DUPLEX; in snd_virmidi_dev_attach_seq()
388 pinfo->direction = SNDRV_SEQ_PORT_DIR_BIDIRECTION; in snd_virmidi_dev_attach_seq()
389 pinfo->type = SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC in snd_virmidi_dev_attach_seq()
[all …]
/Linux-v6.6/drivers/firmware/arm_scmi/
Dsystem.c80 struct scmi_system_info *pinfo = ph->get_priv(ph); in scmi_system_fill_custom_report() local
82 expected_sz = pinfo->graceful_timeout_supported ? in scmi_system_fill_custom_report()
92 if (pinfo->graceful_timeout_supported && in scmi_system_fill_custom_report()
130 struct scmi_system_info *pinfo; in scmi_system_protocol_init() local
139 pinfo = devm_kzalloc(ph->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_system_protocol_init()
140 if (!pinfo) in scmi_system_protocol_init()
143 pinfo->version = version; in scmi_system_protocol_init()
144 if (PROTOCOL_REV_MAJOR(pinfo->version) >= 0x2) in scmi_system_protocol_init()
145 pinfo->graceful_timeout_supported = true; in scmi_system_protocol_init()
147 return ph->set_priv(ph, pinfo); in scmi_system_protocol_init()
Dpower.c267 struct scmi_power_info *pinfo = ph->get_priv(ph); in scmi_power_get_num_sources() local
269 if (!pinfo) in scmi_power_get_num_sources()
272 return pinfo->num_domains; in scmi_power_get_num_sources()
301 struct scmi_power_info *pinfo; in scmi_power_protocol_init() local
310 pinfo = devm_kzalloc(ph->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_power_protocol_init()
311 if (!pinfo) in scmi_power_protocol_init()
314 ret = scmi_power_attributes_get(ph, pinfo); in scmi_power_protocol_init()
318 pinfo->dom_info = devm_kcalloc(ph->dev, pinfo->num_domains, in scmi_power_protocol_init()
319 sizeof(*pinfo->dom_info), GFP_KERNEL); in scmi_power_protocol_init()
320 if (!pinfo->dom_info) in scmi_power_protocol_init()
[all …]
Dreset.c283 struct scmi_reset_info *pinfo = ph->get_priv(ph); in scmi_reset_get_num_sources() local
285 if (!pinfo) in scmi_reset_get_num_sources()
288 return pinfo->num_domains; in scmi_reset_get_num_sources()
316 struct scmi_reset_info *pinfo; in scmi_reset_protocol_init() local
325 pinfo = devm_kzalloc(ph->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_reset_protocol_init()
326 if (!pinfo) in scmi_reset_protocol_init()
329 ret = scmi_reset_attributes_get(ph, pinfo); in scmi_reset_protocol_init()
333 pinfo->dom_info = devm_kcalloc(ph->dev, pinfo->num_domains, in scmi_reset_protocol_init()
334 sizeof(*pinfo->dom_info), GFP_KERNEL); in scmi_reset_protocol_init()
335 if (!pinfo->dom_info) in scmi_reset_protocol_init()
[all …]
Dpowercap.c179 struct powercap_info *pinfo, u32 domain) in scmi_powercap_domain_attributes_get() argument
184 struct scmi_powercap_info *dom_info = pinfo->powercaps + domain; in scmi_powercap_domain_attributes_get()
255 (dom_info->parent_id >= pinfo->num_domains || in scmi_powercap_domain_attributes_get()
921 struct powercap_info *pinfo; in scmi_powercap_protocol_init() local
930 pinfo = devm_kzalloc(ph->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_powercap_protocol_init()
931 if (!pinfo) in scmi_powercap_protocol_init()
934 ret = scmi_powercap_attributes_get(ph, pinfo); in scmi_powercap_protocol_init()
938 pinfo->powercaps = devm_kcalloc(ph->dev, pinfo->num_domains, in scmi_powercap_protocol_init()
939 sizeof(*pinfo->powercaps), in scmi_powercap_protocol_init()
941 if (!pinfo->powercaps) in scmi_powercap_protocol_init()
[all …]
/Linux-v6.6/tools/perf/util/
Dpfm.c175 const pfm_pmu_info_t *pinfo, const pfm_event_info_t *info, in print_libpfm_event() argument
184 snprintf(topic, sizeof(topic), "pfm %s", pinfo->name); in print_libpfm_event()
186 snprintf(name, sizeof(name), "%s::%s", pinfo->name, info->name); in print_libpfm_event()
223 print_cb->print_event(print_state, pinfo->name, topic, in print_libpfm_event()
251 pinfo->name, info->name, ainfo.name); in print_libpfm_event()
257 pinfo->name, in print_libpfm_event()
274 pfm_pmu_info_t pinfo; in print_libpfm_events() local
282 pinfo.size = sizeof(pinfo); in print_libpfm_events()
287 ret = pfm_get_pmu_info(p, &pinfo); in print_libpfm_events()
292 if (!pinfo.is_present) in print_libpfm_events()
[all …]
/Linux-v6.6/net/packet/
Ddiag.c15 struct packet_diag_info pinfo; in pdiag_put_info() local
17 pinfo.pdi_index = po->ifindex; in pdiag_put_info()
18 pinfo.pdi_version = po->tp_version; in pdiag_put_info()
19 pinfo.pdi_reserve = po->tp_reserve; in pdiag_put_info()
20 pinfo.pdi_copy_thresh = po->copy_thresh; in pdiag_put_info()
21 pinfo.pdi_tstamp = READ_ONCE(po->tp_tstamp); in pdiag_put_info()
23 pinfo.pdi_flags = 0; in pdiag_put_info()
25 pinfo.pdi_flags |= PDI_RUNNING; in pdiag_put_info()
27 pinfo.pdi_flags |= PDI_AUXDATA; in pdiag_put_info()
29 pinfo.pdi_flags |= PDI_ORIGDEV; in pdiag_put_info()
[all …]
/Linux-v6.6/tools/testing/selftests/bpf/prog_tests/
Dctx_rewrite.c739 struct prog_info *pinfo, in match_program() argument
761 opts.expected_attach_type = pinfo->expected_attach_type; in match_program()
763 prog_fd = bpf_prog_load(pinfo->prog_type, NULL, "GPL", in match_program()
764 pinfo->prog, pinfo->prog_len, &opts); in match_program()
792 pinfo->prog_kind); in match_program()
803 struct prog_info pinfo = {}; in run_one_testcase() local
827 pinfo.prog_type = test->prog_type; in run_one_testcase()
828 pinfo.expected_attach_type = test->expected_attach_type; in run_one_testcase()
842 pinfo.prog_kind = "LDX"; in run_one_testcase()
843 pinfo.prog = ldx_prog; in run_one_testcase()
[all …]
/Linux-v6.6/drivers/nvmem/layouts/
Dsl28vpd.c86 const struct nvmem_cell_info *pinfo; in sl28vpd_add_cells() local
118 pinfo = &sl28vpd_v1_entries[i]; in sl28vpd_add_cells()
120 info.name = pinfo->name; in sl28vpd_add_cells()
121 info.offset = pinfo->offset; in sl28vpd_add_cells()
122 info.bytes = pinfo->bytes; in sl28vpd_add_cells()
123 info.read_post_process = pinfo->read_post_process; in sl28vpd_add_cells()
124 info.np = of_get_child_by_name(layout_np, pinfo->name); in sl28vpd_add_cells()
/Linux-v6.6/sound/core/seq/oss/
Dseq_oss_midi.c68 struct snd_seq_port_info *pinfo; in snd_seq_oss_midi_lookup_ports() local
71 pinfo = kzalloc(sizeof(*pinfo), GFP_KERNEL); in snd_seq_oss_midi_lookup_ports()
72 if (! clinfo || ! pinfo) { in snd_seq_oss_midi_lookup_ports()
74 kfree(pinfo); in snd_seq_oss_midi_lookup_ports()
81 pinfo->addr.client = clinfo->client; in snd_seq_oss_midi_lookup_ports()
82 pinfo->addr.port = -1; in snd_seq_oss_midi_lookup_ports()
83 while (snd_seq_kernel_client_ctl(client, SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT, pinfo) == 0) in snd_seq_oss_midi_lookup_ports()
84 snd_seq_oss_midi_check_new_port(pinfo); in snd_seq_oss_midi_lookup_ports()
87 kfree(pinfo); in snd_seq_oss_midi_lookup_ports()
139 snd_seq_oss_midi_check_new_port(struct snd_seq_port_info *pinfo) in snd_seq_oss_midi_check_new_port() argument
[all …]
/Linux-v6.6/drivers/gpu/drm/amd/pm/powerplay/hwmgr/
Dsmu10_hwmgr.c500 struct smu10_clock_voltage_information *pinfo = &(smu10_data->clock_vol_info); in smu10_populate_clock_table() local
509 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_dcefclk, in smu10_populate_clock_table()
512 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_socclk, in smu10_populate_clock_table()
515 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_fclk, in smu10_populate_clock_table()
518 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_mclk, in smu10_populate_clock_table()
522 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_dcefclk, in smu10_populate_clock_table()
525 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_socclk, in smu10_populate_clock_table()
528 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_fclk, in smu10_populate_clock_table()
532 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_dispclk, in smu10_populate_clock_table()
535 smu10_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_dppclk, in smu10_populate_clock_table()
[all …]
/Linux-v6.6/drivers/gpu/drm/i915/display/
Dintel_lpe_audio.c86 struct platform_device_info pinfo = {}; in lpe_audio_platdev_create() local
112 pinfo.parent = dev_priv->drm.dev; in lpe_audio_platdev_create()
113 pinfo.name = "hdmi-lpe-audio"; in lpe_audio_platdev_create()
114 pinfo.id = -1; in lpe_audio_platdev_create()
115 pinfo.res = rsc; in lpe_audio_platdev_create()
116 pinfo.num_res = 2; in lpe_audio_platdev_create()
117 pinfo.data = pdata; in lpe_audio_platdev_create()
118 pinfo.size_data = sizeof(*pdata); in lpe_audio_platdev_create()
119 pinfo.dma_mask = DMA_BIT_MASK(32); in lpe_audio_platdev_create()
128 platdev = platform_device_register_full(&pinfo); in lpe_audio_platdev_create()
/Linux-v6.6/drivers/infiniband/hw/irdma/
Dpble.c19 struct irdma_pble_prm *pinfo = &pble_rsrc->pinfo; in irdma_destroy_pble_prm() local
21 while (!list_empty(&pinfo->clist)) { in irdma_destroy_pble_prm()
22 chunk = (struct irdma_chunk *) pinfo->clist.next; in irdma_destroy_pble_prm()
52 pble_rsrc->pinfo.pble_shift = PBLE_SHIFT; in irdma_hmc_init_pble()
56 spin_lock_init(&pble_rsrc->pinfo.prm_lock); in irdma_hmc_init_pble()
57 INIT_LIST_HEAD(&pble_rsrc->pinfo.clist); in irdma_hmc_init_pble()
270 ret_code = irdma_prm_add_pble_mem(&pble_rsrc->pinfo, chunk); in add_pble_prm()
290 list_add(&chunk->list, &pble_rsrc->pinfo.clist); in add_pble_prm()
316 irdma_prm_return_pbles(&pble_rsrc->pinfo, in free_lvl2()
323 irdma_prm_return_pbles(&pble_rsrc->pinfo, &root->chunkinfo); in free_lvl2()
[all …]
/Linux-v6.6/net/core/
Dgro.c98 struct skb_shared_info *pinfo, *skbinfo = skb_shinfo(skb); in skb_gro_receive() local
135 pinfo = skb_shinfo(lp); in skb_gro_receive()
141 int nr_frags = pinfo->nr_frags + i; in skb_gro_receive()
147 pinfo->nr_frags = nr_frags; in skb_gro_receive()
150 frag = pinfo->frags + nr_frags; in skb_gro_receive()
170 int nr_frags = pinfo->nr_frags; in skb_gro_receive()
171 skb_frag_t *frag = pinfo->frags + nr_frags; in skb_gro_receive()
183 pinfo->nr_frags = nr_frags + 1 + skbinfo->nr_frags; in skb_gro_receive()
372 const struct skb_shared_info *pinfo = skb_shinfo(skb); in skb_gro_reset_offset() local
373 const skb_frag_t *frag0 = &pinfo->frags[0]; in skb_gro_reset_offset()
[all …]
/Linux-v6.6/arch/powerpc/perf/
Dcallchain_64.c34 struct siginfo *pinfo; member
57 unsigned long pinfo, puc; in sane_signal_64_frame() local
60 if (read_user_stack_64((unsigned long __user *) &sf->pinfo, &pinfo) || in sane_signal_64_frame()
63 return pinfo == (unsigned long) &sf->info && in sane_signal_64_frame()
/Linux-v6.6/drivers/usb/host/
Dpci-quirks.c151 static int amd_chipset_sb_type_init(struct amd_chipset_info *pinfo) in amd_chipset_sb_type_init() argument
154 pinfo->sb_type.gen = AMD_CHIPSET_UNKNOWN; in amd_chipset_sb_type_init()
156 pinfo->smbus_dev = pci_get_device(PCI_VENDOR_ID_ATI, in amd_chipset_sb_type_init()
158 if (pinfo->smbus_dev) { in amd_chipset_sb_type_init()
159 rev = pinfo->smbus_dev->revision; in amd_chipset_sb_type_init()
161 pinfo->sb_type.gen = AMD_CHIPSET_SB600; in amd_chipset_sb_type_init()
163 pinfo->sb_type.gen = AMD_CHIPSET_SB700; in amd_chipset_sb_type_init()
165 pinfo->sb_type.gen = AMD_CHIPSET_SB800; in amd_chipset_sb_type_init()
167 pinfo->smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD, in amd_chipset_sb_type_init()
170 if (pinfo->smbus_dev) { in amd_chipset_sb_type_init()
[all …]
/Linux-v6.6/net/sctp/
Doffload.c56 struct skb_shared_info *pinfo = skb_shinfo(skb); in sctp_gso_segment() local
59 pinfo->gso_segs = 0; in sctp_gso_segment()
62 pinfo->gso_segs++; in sctp_gso_segment()
66 pinfo->gso_segs++; in sctp_gso_segment()

1234