/Linux-v5.10/drivers/net/phy/ |
D | mdio_bus.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* MDIO Bus interface 41 #include "mdio-boardinfo.h" 46 mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev, in mdiobus_register_gpiod() 48 if (IS_ERR(mdiodev->reset_gpio)) in mdiobus_register_gpiod() 49 return PTR_ERR(mdiodev->reset_gpio); in mdiobus_register_gpiod() 51 if (mdiodev->reset_gpio) in mdiobus_register_gpiod() 52 gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset"); in mdiobus_register_gpiod() 61 reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy"); in mdiobus_register_reset() 65 mdiodev->reset_ctrl = reset; in mdiobus_register_reset() [all …]
|
/Linux-v5.10/sound/hda/ |
D | hdac_bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio core bus driver 23 * snd_hdac_bus_init - initialize a HD-audio bas bus 24 * @bus: the pointer to bus object 26 * @ops: bus verb operators 30 int snd_hdac_bus_init(struct hdac_bus *bus, struct device *dev, in snd_hdac_bus_init() argument 33 memset(bus, 0, sizeof(*bus)); in snd_hdac_bus_init() 34 bus->dev = dev; in snd_hdac_bus_init() 36 bus->ops = ops; in snd_hdac_bus_init() 38 bus->ops = &default_ops; in snd_hdac_bus_init() [all …]
|
D | hdac_controller.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio controller helpers 15 static void azx_clear_corbrp(struct hdac_bus *bus) in azx_clear_corbrp() argument 19 for (timeout = 1000; timeout > 0; timeout--) { in azx_clear_corbrp() 20 if (snd_hdac_chip_readw(bus, CORBRP) & AZX_CORBRP_RST) in azx_clear_corbrp() 25 dev_err(bus->dev, "CORB reset timeout#1, CORBRP = %d\n", in azx_clear_corbrp() 26 snd_hdac_chip_readw(bus, CORBRP)); in azx_clear_corbrp() 28 snd_hdac_chip_writew(bus, CORBRP, 0); in azx_clear_corbrp() 29 for (timeout = 1000; timeout > 0; timeout--) { in azx_clear_corbrp() 30 if (snd_hdac_chip_readw(bus, CORBRP) == 0) in azx_clear_corbrp() [all …]
|
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/ |
D | anx9805.c | 28 #include "bus.h" 32 struct nvkm_i2c_bus *bus; member 33 u8 addr; member 39 u8 addr; member 45 struct anx9805_bus *bus = anx9805_bus(base); in anx9805_bus_xfer() local 46 struct anx9805_pad *pad = bus->pad; in anx9805_bus_xfer() 47 struct i2c_adapter *adap = &pad->bus->i2c; in anx9805_bus_xfer() 49 int ret = -ETIMEDOUT; in anx9805_bus_xfer() 53 tmp = nvkm_rdi2cr(adap, pad->addr, 0x07) & ~0x10; in anx9805_bus_xfer() 54 nvkm_wri2cr(adap, pad->addr, 0x07, tmp | 0x10); in anx9805_bus_xfer() [all …]
|
D | busnv50.c | 25 #include "bus.h" 31 u32 addr; member 38 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_scl() local 39 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_scl() 40 if (state) bus->data |= 0x01; in nv50_i2c_bus_drive_scl() 41 else bus->data &= 0xfe; in nv50_i2c_bus_drive_scl() 42 nvkm_wr32(device, bus->addr, bus->data); in nv50_i2c_bus_drive_scl() 48 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_sda() local 49 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_sda() 50 if (state) bus->data |= 0x02; in nv50_i2c_bus_drive_sda() [all …]
|
D | busgf119.c | 25 #include "bus.h" 29 u32 addr; member 35 struct gf119_i2c_bus *bus = gf119_i2c_bus(base); in gf119_i2c_bus_drive_scl() local 36 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in gf119_i2c_bus_drive_scl() 37 nvkm_mask(device, bus->addr, 0x00000001, state ? 0x00000001 : 0); in gf119_i2c_bus_drive_scl() 43 struct gf119_i2c_bus *bus = gf119_i2c_bus(base); in gf119_i2c_bus_drive_sda() local 44 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in gf119_i2c_bus_drive_sda() 45 nvkm_mask(device, bus->addr, 0x00000002, state ? 0x00000002 : 0); in gf119_i2c_bus_drive_sda() 51 struct gf119_i2c_bus *bus = gf119_i2c_bus(base); in gf119_i2c_bus_sense_scl() local 52 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in gf119_i2c_bus_sense_scl() [all …]
|
/Linux-v5.10/drivers/media/pci/cx25821/ |
D | cx25821-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time"); 27 printk(KERN_DEBUG "%s/0: " fmt, dev->name, ##arg); \ 38 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_slave_did_ack() local 39 struct cx25821_dev *dev = bus->dev; in i2c_slave_did_ack() 40 return cx_read(bus->reg_stat) & 0x01; in i2c_slave_did_ack() 45 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_is_busy() local 46 struct cx25821_dev *dev = bus->dev; in i2c_is_busy() 47 return cx_read(bus->reg_stat) & 0x02 ? 1 : 0; in i2c_is_busy() 69 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_sendbytes() local [all …]
|
/Linux-v5.10/arch/powerpc/platforms/maple/ |
D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include <asm/pci-bridge.h> 22 #include <asm/ppc-pci.h> 23 #include <asm/isa-bridge.h> 37 for (; node != 0;node = node->sibling) { in fixup_one_level_bus_range() 42 /* For PCI<->PCI bridges or CardBus bridges, we go down */ in fixup_one_level_bus_range() 43 class_code = of_get_property(node, "class-code", NULL); in fixup_one_level_bus_range() 47 bus_range = of_get_property(node, "bus-range", &len); in fixup_one_level_bus_range() 52 higher = fixup_one_level_bus_range(node->child, higher); in fixup_one_level_bus_range() 57 /* This routine fixes the "bus-range" property of all bridges in the [all …]
|
/Linux-v5.10/drivers/pci/controller/ |
D | pci-thunder-ecam.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/pci-ecam.h> 29 static int handle_ea_bar(u32 e0, int bar, struct pci_bus *bus, in handle_ea_bar() argument 32 void __iomem *addr; in handle_ea_bar() local 35 /* Entries are 16-byte aligned; bits[2,3] select word in entry */ in handle_ea_bar() 43 addr = bus->ops->map_bus(bus, devfn, bar); /* BAR 0 */ in handle_ea_bar() 44 if (!addr) { in handle_ea_bar() 48 v = readl(addr); in handle_ea_bar() 50 v |= 2; /* EA entry-1. Base-L */ in handle_ea_bar() 58 addr = bus->ops->map_bus(bus, devfn, bar); /* BAR 0 */ in handle_ea_bar() [all …]
|
/Linux-v5.10/drivers/soundwire/ |
D | bus.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 // Copyright(c) 2015-17 Intel Corporation. 10 #include "bus.h" 15 static int sdw_get_id(struct sdw_bus *bus) in sdw_get_id() argument 22 bus->id = rc; in sdw_get_id() 27 * sdw_bus_master_add() - add a bus Master instance 28 * @bus: bus instance 32 * Initializes the bus instance, read properties and create child 35 int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent, in sdw_bus_master_add() argument 43 return -ENODEV; in sdw_bus_master_add() [all …]
|
/Linux-v5.10/drivers/of/ |
D | fdt_address.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * FDT Address translation based on u-boot fdt_support.c which in turn was 9 * Copyright 2010-2011 Freescale Semiconductor, Inc. 27 static void __init of_dump_addr(const char *s, const __be32 *addr, int na) in of_dump_addr() argument 30 while(na--) in of_dump_addr() 31 pr_cont(" %08x", *(addr++)); in of_dump_addr() 35 static void __init of_dump_addr(const char *s, const __be32 *addr, int na) { } in of_dump_addr() argument 38 /* Callbacks for bus specific translators */ 42 u64 (*map)(__be32 *addr, const __be32 *range, 44 int (*translate)(__be32 *addr, u64 offset, int na); [all …]
|
/Linux-v5.10/drivers/net/pcs/ |
D | pcs-lynx.c | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 8 #include <linux/pcs-lynx.h> 36 struct mii_bus *bus = pcs->bus; in lynx_pcs_get_state_usxgmii() local 37 int addr = pcs->addr; in lynx_pcs_get_state_usxgmii() local 40 status = mdiobus_c45_read(bus, addr, MDIO_MMD_VEND2, MII_BMSR); in lynx_pcs_get_state_usxgmii() 44 state->link = !!(status & MDIO_STAT1_LSTATUS); in lynx_pcs_get_state_usxgmii() 45 state->an_complete = !!(status & MDIO_AN_STAT1_COMPLETE); in lynx_pcs_get_state_usxgmii() 46 if (!state->link || !state->an_complete) in lynx_pcs_get_state_usxgmii() 49 lpa = mdiobus_c45_read(bus, addr, MDIO_MMD_VEND2, MII_LPA); in lynx_pcs_get_state_usxgmii() 59 struct mii_bus *bus = pcs->bus; in lynx_pcs_get_state_2500basex() local [all …]
|
/Linux-v5.10/sound/i2c/ |
D | i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * (c) 1998 Gerd Knorr <kraxel@cs.tu-berlin.de> 25 static int snd_i2c_bit_probeaddr(struct snd_i2c_bus *bus, 26 unsigned short addr); 34 static int snd_i2c_bus_free(struct snd_i2c_bus *bus) in snd_i2c_bus_free() argument 39 if (snd_BUG_ON(!bus)) in snd_i2c_bus_free() 40 return -EINVAL; in snd_i2c_bus_free() 41 while (!list_empty(&bus->devices)) { in snd_i2c_bus_free() 42 device = snd_i2c_device(bus->devices.next); in snd_i2c_bus_free() 45 if (bus->master) in snd_i2c_bus_free() [all …]
|
/Linux-v5.10/arch/sparc/kernel/ |
D | pci_common.c | 1 // SPDX-License-Identifier: GPL-2.0 20 unsigned long bus, in config_out_of_range() argument 24 if (bus < pbm->pci_first_busno || in config_out_of_range() 25 bus > pbm->pci_last_busno) in config_out_of_range() 31 unsigned long bus, in sun4u_config_mkaddr() argument 35 unsigned long rbits = pbm->config_space_reg_bits; in sun4u_config_mkaddr() 37 if (config_out_of_range(pbm, bus, devfn, reg)) in sun4u_config_mkaddr() 40 reg = (reg & ((1 << rbits) - 1)); in sun4u_config_mkaddr() 42 bus <<= rbits + 8; in sun4u_config_mkaddr() 44 return (void *) (pbm->config_space | bus | devfn | reg); in sun4u_config_mkaddr() [all …]
|
/Linux-v5.10/drivers/media/usb/cx231xx/ |
D | cx231xx-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 cx231xx-i2c.c - driver for Conexant Cx23100/101/102 USB video capture devices 15 #include <linux/i2c-mux.h> 16 #include <media/v4l2-common.h> 20 /* ----------------------------------------------------------- */ 24 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time"); 41 dev->name, __func__ , ##args); \ 48 return dev->port_3_switch_enabled ? I2C_1_MUX_3 : I2C_1_MUX_1; in get_real_i2c_port() 52 static inline bool is_tuner(struct cx231xx *dev, struct cx231xx_i2c *bus, in is_tuner() argument 55 int i2c_port = get_real_i2c_port(dev, bus->nr); in is_tuner() [all …]
|
/Linux-v5.10/drivers/infiniband/hw/hfi1/ |
D | qsfp.c | 24 * - Redistributions of source code must retain the above copyright 26 * - Redistributions in binary form must reproduce the above copyright 30 * - Neither the name of Intel Corporation nor the names of its 54 /* for the given bus number, return the CSR for reading an i2c line */ 60 /* for the given bus number, return the CSR for writing an i2c line */ 68 struct hfi1_i2c_bus *bus = (struct hfi1_i2c_bus *)data; in hfi1_setsda() local 69 struct hfi1_devdata *dd = bus->controlling_dd; in hfi1_setsda() 73 target_oe = i2c_oe_csr(bus->num); in hfi1_setsda() 92 struct hfi1_i2c_bus *bus = (struct hfi1_i2c_bus *)data; in hfi1_setscl() local 93 struct hfi1_devdata *dd = bus->controlling_dd; in hfi1_setscl() [all …]
|
/Linux-v5.10/drivers/media/pci/cx23885/ |
D | cx23885-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 #include <media/v4l2-common.h> 23 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time"); 39 struct cx23885_i2c *bus = i2c_adap->algo_data; in i2c_slave_did_ack() local 40 struct cx23885_dev *dev = bus->dev; in i2c_slave_did_ack() 41 return cx_read(bus->reg_stat) & 0x01; in i2c_slave_did_ack() 46 struct cx23885_i2c *bus = i2c_adap->algo_data; in i2c_is_busy() local 47 struct cx23885_dev *dev = bus->dev; in i2c_is_busy() 48 return cx_read(bus->reg_stat) & 0x02 ? 1 : 0; in i2c_is_busy() 70 struct cx23885_i2c *bus = i2c_adap->algo_data; in i2c_sendbytes() local [all …]
|
/Linux-v5.10/arch/powerpc/platforms/pasemi/ |
D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <asm/pci-bridge.h> 18 #include <asm/isa-bridge.h> 21 #include <asm/ppc-pci.h> 25 #define PA_PXP_CFA(bus, devfn, off) (((bus) << 20) | ((devfn) << 12) | (off)) argument 27 static inline int pa_pxp_offset_valid(u8 bus, u8 devfn, int offset) in pa_pxp_offset_valid() argument 30 * well, so allow larger offset. It's really a two-function device but the in pa_pxp_offset_valid() 33 if (bus == 0 && devfn == 0) in pa_pxp_offset_valid() 40 u8 bus, u8 devfn, int offset) in pa_pxp_cfg_addr() argument 42 return hose->cfg_data + PA_PXP_CFA(bus, devfn, offset); in pa_pxp_cfg_addr() [all …]
|
/Linux-v5.10/drivers/ssb/ |
D | host_soc.c | 18 struct ssb_bus *bus = dev->bus; in ssb_host_soc_read8() local 20 offset += dev->core_index * SSB_CORE_SIZE; in ssb_host_soc_read8() 21 return readb(bus->mmio + offset); in ssb_host_soc_read8() 26 struct ssb_bus *bus = dev->bus; in ssb_host_soc_read16() local 28 offset += dev->core_index * SSB_CORE_SIZE; in ssb_host_soc_read16() 29 return readw(bus->mmio + offset); in ssb_host_soc_read16() 34 struct ssb_bus *bus = dev->bus; in ssb_host_soc_read32() local 36 offset += dev->core_index * SSB_CORE_SIZE; in ssb_host_soc_read32() 37 return readl(bus->mmio + offset); in ssb_host_soc_read32() 44 struct ssb_bus *bus = dev->bus; in ssb_host_soc_block_read() local [all …]
|
/Linux-v5.10/include/sound/ |
D | hdaudio.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * HD-audio core stuff 31 * exported bus type 47 * HD-audio codec base device 52 struct hdac_bus *bus; member 53 unsigned int addr; /* codec address */ member 54 struct list_head list; /* list point for bus codec_list */ 117 int snd_hdac_device_init(struct hdac_device *dev, struct hdac_bus *bus, 118 const char *name, unsigned int addr); 158 * snd_hdac_read_parm - read a codec parameter [all …]
|
/Linux-v5.10/arch/m68k/coldfire/ |
D | pci.c | 2 * pci.c -- PCI bus support for ColdFire processors 26 * PCI bus memory (no reason not to really). IO space is mapped in its own 34 * We need to be carefull probing on bus 0 (directly connected to host 53 static unsigned long mcf_mk_pcicar(int bus, unsigned int devfn, int where) in mcf_mk_pcicar() argument 55 return (bus << PCICAR_BUSN) | (devfn << PCICAR_DEVFNN) | (where & 0xfc); in mcf_mk_pcicar() 58 static int mcf_pci_readconfig(struct pci_bus *bus, unsigned int devfn, in mcf_pci_readconfig() argument 61 unsigned long addr; in mcf_pci_readconfig() local 65 if (bus->number == 0) { in mcf_pci_readconfig() 70 addr = mcf_mk_pcicar(bus->number, devfn, where); in mcf_pci_readconfig() 71 __raw_writel(PCICAR_E | addr, PCICAR); in mcf_pci_readconfig() [all …]
|
/Linux-v5.10/arch/x86/pci/ |
D | numachip.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Numascale NumaConnect-specific PCI code 18 static inline char __iomem *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn) in pci_dev_base() argument 20 struct pci_mmcfg_region *cfg = pci_mmconfig_lookup(seg, bus); in pci_dev_base() 22 if (cfg && cfg->virt) in pci_dev_base() 23 return cfg->virt + (PCI_MMCFG_BUS_OFFSET(bus) | (devfn << 12)); in pci_dev_base() 27 static int pci_mmcfg_read_numachip(unsigned int seg, unsigned int bus, in pci_mmcfg_read_numachip() argument 30 char __iomem *addr; in pci_mmcfg_read_numachip() local 32 /* Why do we have this when nobody checks it. How about a BUG()!? -AK */ in pci_mmcfg_read_numachip() 33 if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095))) { in pci_mmcfg_read_numachip() [all …]
|
D | mmconfig_64.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mmconfig.c - Low-level direct PCI config space access via MMCONFIG 19 static char __iomem *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn) in pci_dev_base() argument 21 struct pci_mmcfg_region *cfg = pci_mmconfig_lookup(seg, bus); in pci_dev_base() 23 if (cfg && cfg->virt) in pci_dev_base() 24 return cfg->virt + (PCI_MMCFG_BUS_OFFSET(bus) | (devfn << 12)); in pci_dev_base() 28 static int pci_mmcfg_read(unsigned int seg, unsigned int bus, in pci_mmcfg_read() argument 31 char __iomem *addr; in pci_mmcfg_read() local 33 /* Why do we have this when nobody checks it. How about a BUG()!? -AK */ in pci_mmcfg_read() 34 if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095))) { in pci_mmcfg_read() [all …]
|
/Linux-v5.10/drivers/media/usb/em28xx/ |
D | em28xx-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // em28xx-i2c.c - driver for Empia EM2800/EM2820/2840 USB video capture devices 29 #include "tuner-xc2028.h" 30 #include <media/v4l2-common.h> 33 /* ----------------------------------------------------------- */ 37 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time"); 45 dev_printk(KERN_DEBUG, &dev->intf->dev, \ 64 switch (dev->i2c_speed & 0x03) { in em28xx_i2c_timeout() 83 static int em2800_i2c_send_bytes(struct em28xx *dev, u8 addr, u8 *buf, u16 len) in em2800_i2c_send_bytes() argument 90 return -EOPNOTSUPP; in em2800_i2c_send_bytes() [all …]
|
/Linux-v5.10/drivers/pci/ |
D | access.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * This interrupt-safe spinlock protects all accesses to PCI 19 * alignment, do locking and call the low-level functions pointed to 20 * by pci_dev->ops. 37 (struct pci_bus *bus, unsigned int devfn, int pos, type *value) \ 44 res = bus->ops->read(bus, devfn, pos, len, &data); \ 52 (struct pci_bus *bus, unsigned int devfn, int pos, type value) \ 58 res = bus->ops->write(bus, devfn, pos, len, value); \ 77 int pci_generic_config_read(struct pci_bus *bus, unsigned int devfn, in pci_generic_config_read() argument 80 void __iomem *addr; in pci_generic_config_read() local [all …]
|