linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
@ 2019-12-31 19:26 Miquel Raynal
  2019-12-31 19:26 ` [RFC PATCH 1/3] mtd: rawnand: Add the nand_chip->erase hook Miquel Raynal
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Miquel Raynal @ 2019-12-31 19:26 UTC (permalink / raw)
  To: Richard Weinberger, Vignesh Raghavendra, Tudor Ambarus, linux-mtd
  Cc: Miquel Raynal, Zoltan Szubbocsev, Thomas Petazzoni,
	Boris Brezillon, tglx, Piotr Wojtaszczyk, Bean Huo

Hello,

After a first proposal by Thomas Gleixner and then another proposal by
Bean Huo (Micron), this is an attempt to mainline the fix for Micron's
"shallow erase" issue. IMHO this is a "pretty way", not so invasive,
with a limited performance penalty.

It has only be *compile-tested* and this is just to know if the
approach is fine or not, then I will optimize, maybe rewrite a bit and
forcibly (ask to) test it.

Happy new year!
Miquèl


Miquel Raynal (3):
  mtd: rawnand: Add the nand_chip->erase hook
  mtd: rawnand: Add the nand_chip->write_oob hook
  mtd: rawnand: micron: Address the shallow erase issue

 data_buf                           | 29099 +++++++++++++++++++++++++++
 databuf                            | 29099 +++++++++++++++++++++++++++
 drivers/mtd/nand/raw/internals.h   |     2 +
 drivers/mtd/nand/raw/nand_base.c   |    14 +-
 drivers/mtd/nand/raw/nand_micron.c |   121 +
 include/linux/mtd/rawnand.h        |     6 +
 6 files changed, 58340 insertions(+), 1 deletion(-)
 create mode 100644 data_buf
 create mode 100644 databuf

-- 
2.20.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [RFC PATCH 1/3] mtd: rawnand: Add the nand_chip->erase hook
  2019-12-31 19:26 [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue Miquel Raynal
@ 2019-12-31 19:26 ` Miquel Raynal
  2019-12-31 19:26 ` [RFC PATCH 2/3] mtd: rawnand: Add the nand_chip->write_oob hook Miquel Raynal
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Miquel Raynal @ 2019-12-31 19:26 UTC (permalink / raw)
  To: Richard Weinberger, Vignesh Raghavendra, Tudor Ambarus, linux-mtd
  Cc: Miquel Raynal, Zoltan Szubbocsev, Thomas Petazzoni,
	Boris Brezillon, tglx, Piotr Wojtaszczyk, Bean Huo

In order to solve an issue with Micron NANDs, we must be able to
overload the erase operation. With this in mind, we create a ->erase
hook in the nand_chip structure which points by default to the
currently in use nand_erase_nand() helper.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/mtd/nand/raw/nand_base.c | 6 +++++-
 include/linux/mtd/rawnand.h      | 3 +++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index f64e3b6605c6..1b1d86391e9d 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -4153,7 +4153,9 @@ static int nand_write_oob(struct mtd_info *mtd, loff_t to,
  */
 static int nand_erase(struct mtd_info *mtd, struct erase_info *instr)
 {
-	return nand_erase_nand(mtd_to_nand(mtd), instr, 0);
+	struct nand_chip *chip = mtd_to_nand(mtd);
+
+	return chip->erase(chip, instr, 0);
 }
 
 /**
@@ -4373,6 +4375,8 @@ static void nand_set_defaults(struct nand_chip *chip)
 
 	if (!chip->buf_align)
 		chip->buf_align = 1;
+
+	chip->erase = nand_erase_nand;
 }
 
 /* Sanitize ONFI strings so we can safely print them */
diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
index 4ab9bccfcde0..aa956949b226 100644
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -1020,6 +1020,7 @@ struct nand_legacy {
  *			avoid using them.
  * @setup_read_retry:	[FLASHSPECIFIC] flash (vendor) specific function for
  *			setting the read-retry mode. Mostly needed for MLC NAND.
+ * @erase:		Raw NAND erase operation.
  * @ecc:		[BOARDSPECIFIC] ECC control structure
  * @buf_align:		minimum buffer alignment required by a platform
  * @oob_poi:		"poison value buffer," used for laying out OOB data
@@ -1085,6 +1086,8 @@ struct nand_chip {
 	struct nand_legacy legacy;
 
 	int (*setup_read_retry)(struct nand_chip *chip, int retry_mode);
+	int (*erase)(struct nand_chip *chip, struct erase_info *instr,
+		     int allowbbt);
 
 	unsigned int options;
 	unsigned int bbt_options;
-- 
2.20.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [RFC PATCH 2/3] mtd: rawnand: Add the nand_chip->write_oob hook
  2019-12-31 19:26 [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue Miquel Raynal
  2019-12-31 19:26 ` [RFC PATCH 1/3] mtd: rawnand: Add the nand_chip->erase hook Miquel Raynal
@ 2019-12-31 19:26 ` Miquel Raynal
  2019-12-31 19:26 ` [RFC PATCH 3/3] mtd: rawnand: micron: Address the shallow erase issue Miquel Raynal
  2020-01-02 18:41 ` [RFC PATCH 0/3] Fix proposal for the Micron " Florian Fainelli
  3 siblings, 0 replies; 14+ messages in thread
From: Miquel Raynal @ 2019-12-31 19:26 UTC (permalink / raw)
  To: Richard Weinberger, Vignesh Raghavendra, Tudor Ambarus, linux-mtd
  Cc: Miquel Raynal, Zoltan Szubbocsev, Thomas Petazzoni,
	Boris Brezillon, tglx, Piotr Wojtaszczyk, Bean Huo

With the same approach as for the ->erase hook, in order to solve an
issue with Micron NANDs, we must be able to overload the write
operation. With this in mind, we create a ->write_oob hook in the
nand_chip structure which points by default to the
currently in use nand_write_oob() helper, renamed
nand_write_oob_nand() for the parallel with the nand_erase_nand()
one.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/mtd/nand/raw/internals.h | 2 ++
 drivers/mtd/nand/raw/nand_base.c | 8 ++++++++
 include/linux/mtd/rawnand.h      | 3 +++
 3 files changed, 13 insertions(+)

diff --git a/drivers/mtd/nand/raw/internals.h b/drivers/mtd/nand/raw/internals.h
index cba6fe7dd8c4..55cf26e691ee 100644
--- a/drivers/mtd/nand/raw/internals.h
+++ b/drivers/mtd/nand/raw/internals.h
@@ -80,6 +80,8 @@ int nand_bbm_get_next_page(struct nand_chip *chip, int page);
 int nand_markbad_bbm(struct nand_chip *chip, loff_t ofs);
 int nand_erase_nand(struct nand_chip *chip, struct erase_info *instr,
 		    int allowbbt);
+int nand_write_oob_nand(struct nand_chip *chip, loff_t to,
+			struct mtd_oob_ops *ops);
 int onfi_fill_data_interface(struct nand_chip *chip,
 			     enum nand_data_interface_type type,
 			     int timing_mode);
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 1b1d86391e9d..b0ed556d4d12 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -4116,6 +4116,13 @@ static int nand_write_oob(struct mtd_info *mtd, loff_t to,
 			  struct mtd_oob_ops *ops)
 {
 	struct nand_chip *chip = mtd_to_nand(mtd);
+
+	return chip->write_oob(chip, to, ops);
+}
+
+int nand_write_oob_nand(struct nand_chip *chip, loff_t to,
+			struct mtd_oob_ops *ops)
+{
 	int ret;
 
 	ops->retlen = 0;
@@ -4377,6 +4384,7 @@ static void nand_set_defaults(struct nand_chip *chip)
 		chip->buf_align = 1;
 
 	chip->erase = nand_erase_nand;
+	chip->write_oob = nand_write_oob_nand;
 }
 
 /* Sanitize ONFI strings so we can safely print them */
diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
index aa956949b226..c6ca1e71341d 100644
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -1021,6 +1021,7 @@ struct nand_legacy {
  * @setup_read_retry:	[FLASHSPECIFIC] flash (vendor) specific function for
  *			setting the read-retry mode. Mostly needed for MLC NAND.
  * @erase:		Raw NAND erase operation.
+ * @write_oob:		Raw NAND write operation.
  * @ecc:		[BOARDSPECIFIC] ECC control structure
  * @buf_align:		minimum buffer alignment required by a platform
  * @oob_poi:		"poison value buffer," used for laying out OOB data
@@ -1088,6 +1089,8 @@ struct nand_chip {
 	int (*setup_read_retry)(struct nand_chip *chip, int retry_mode);
 	int (*erase)(struct nand_chip *chip, struct erase_info *instr,
 		     int allowbbt);
+	int (*write_oob)(struct nand_chip *chip, loff_t to,
+			 struct mtd_oob_ops *ops);
 
 	unsigned int options;
 	unsigned int bbt_options;
-- 
2.20.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [RFC PATCH 3/3] mtd: rawnand: micron: Address the shallow erase issue
  2019-12-31 19:26 [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue Miquel Raynal
  2019-12-31 19:26 ` [RFC PATCH 1/3] mtd: rawnand: Add the nand_chip->erase hook Miquel Raynal
  2019-12-31 19:26 ` [RFC PATCH 2/3] mtd: rawnand: Add the nand_chip->write_oob hook Miquel Raynal
@ 2019-12-31 19:26 ` Miquel Raynal
  2020-01-02 18:41 ` [RFC PATCH 0/3] Fix proposal for the Micron " Florian Fainelli
  3 siblings, 0 replies; 14+ messages in thread
From: Miquel Raynal @ 2019-12-31 19:26 UTC (permalink / raw)
  To: Richard Weinberger, Vignesh Raghavendra, Tudor Ambarus, linux-mtd
  Cc: Miquel Raynal, Zoltan Szubbocsev, Thomas Petazzoni,
	Boris Brezillon, tglx, Piotr Wojtaszczyk, Bean Huo

With recent SLC NANDs, Micron admits that a "shallow erase" issue may
be observable. It is actually the chip itself not doing a correct
erase operation because of its internal machinery stating that the
pages have not been programmed. Micron told us that there is a way to
workaround this issue: ensure that all the odd pages in the 16 first
ones of each block to erase have been fully written.

To avoid a very big performance drawback by re-writting all the pages
for each erase operation, the fix proposed here overloads the ->erase
and ->write_oob hooks to count the pages actually written at runtime
and avoid re-writting them if not needed.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 data_buf                           | 29099 +++++++++++++++++++++++++++
 databuf                            | 29099 +++++++++++++++++++++++++++
 drivers/mtd/nand/raw/nand_micron.c |   121 +
 3 files changed, 58319 insertions(+)
 create mode 100644 data_buf
 create mode 100644 databuf

diff --git a/data_buf b/data_buf
new file mode 100644
index 000000000000..778fac847dd4
--- /dev/null
+++ b/data_buf
@@ -0,0 +1,29099 @@
+Documentation/ABI/testing/sysfs-firmware-opal-psr:		with chip-id X. This file gives the ratio (0-100)
+Documentation/PCI/pci.rst:Since each CPU architecture implements different chip-sets and PCI devices
+Documentation/PCI/pci.rst:or chip-sets may support Memory-Write-Invalidate.  Alternatively,
+Documentation/PCI/pci.rst:address by the arch/chip-set specific kernel support.
+Documentation/PCI/pci.rst:capability registers. Many architectures, chip-sets, or BIOSes do NOT
+Documentation/PCI/pci.rst:corruption, hangs, and on some chip-sets a hard crash.
+Documentation/core-api/genericirq.rst:and only need to add the chip-level specific code. The separation is
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_unmask(data);
+Documentation/core-api/genericirq.rst:            desc->irq_data.chip->irq_mask(data);
+Documentation/core-api/genericirq.rst:        chip->irq_ack(data);
+Documentation/core-api/genericirq.rst:        if (chip->irq_mask_ack) {
+Documentation/core-api/genericirq.rst:            chip->irq_mask_ack(data);
+Documentation/core-api/genericirq.rst:            chip->irq_mask(data);
+Documentation/core-api/genericirq.rst:            chip->irq_ack(data);
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_mask_ack();
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_unmask();
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_eoi();
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_mask_ack();
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_ack();
+Documentation/core-api/genericirq.rst:            desc->irq_data.chip->irq_unmask();
+Documentation/core-api/genericirq.rst:    if (desc->irq_data.chip->irq_ack)
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_ack();
+Documentation/core-api/genericirq.rst:    if (desc->irq_data.chip->irq_eoi)
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_eoi();
+Documentation/core-api/genericirq.rst:The chip-level hardware descriptor structure :c:type:`irq_chip` contains all
+Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.yaml:  amlogic,has-chip-id:
+Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.yaml:          amlogic,has-chip-id;
+Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-dcfg.txt:  - compatible: Should contain a chip-specific compatible string,
+Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt:  - compatible: Should contain a chip-specific compatible string,
+Documentation/devicetree/bindings/arm/sunxi.yaml:          - const: nextthing,chip-pro
+Documentation/devicetree/bindings/arm/syna.txt:chip: chip-control@ea0000 {
+Documentation/devicetree/bindings/bus/imx-weim.txt:			integer values for each chip-select line in use:
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:   for each chip-select line in use (only one entry is supported, see below
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:Note that the GMI controller does not have any internal chip-select address
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:decoding, because of that chip-selects either need to be managed via software
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:or by employing external chip-select decoding logic.
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:If external chip-select logic is used to support multiple devices it is assumed
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:child device is supported which represents the active chip-select line, see
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:The chip-select number is decoded from the child nodes second address cell of
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:'ranges' property, if 'ranges' property is not present or empty chip-select will
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:chip-select (CS4), in this example external address decoding is provided:
+Documentation/devicetree/bindings/c6x/emifa.txt:- #address-cells: must be 2 (chip-select + offset)
+Documentation/devicetree/bindings/clock/qoriq-clock.txt:- compatible: Should contain a chip-specific clock block compatible
+Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt:			 rockchip-dfi.txt
+Documentation/devicetree/bindings/display/msm/gpu.txt:  with the chip-id.
+Documentation/devicetree/bindings/display/rockchip/rockchip-drm.txt:  Documentation/devicetree/bindings/display/rockchip/rockchip-vop.txt
+Documentation/devicetree/bindings/fpga/fpga-region.txt:			onchip-memory {
+Documentation/devicetree/bindings/fsi/fsi.txt:    chip-id = <0>;
+Documentation/devicetree/bindings/fsi/fsi.txt:	    chip-id = <0>;
+Documentation/devicetree/bindings/iio/potentiometer/max5481.txt:	reg = <0>; /* chip-select */
+Documentation/devicetree/bindings/interrupt-controller/arm,gic.yaml:          - const: arm,arm1176jzf-devchip-gic
+Documentation/devicetree/bindings/media/i2c/tda1997x.txt:pairs which map a chip-specific VP output register to a 4-bit pin group. If
+Documentation/devicetree/bindings/memory-controllers/arm,pl172.txt:Child chip-select (cs) nodes contain the memory devices nodes connected to
+Documentation/devicetree/bindings/memory-controllers/atmel,ebi.txt:- reg:			Contains the chip-select id, the offset and the length
+Documentation/devicetree/bindings/memory-controllers/fsl/ddr.txt:- compatible	: Should include "fsl,chip-memory-controller" where
+Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt:                        integer values for each chip-select line in use:
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt: - gpmc,num-cs:		The maximum number of chip-select lines that controller
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt:			integer values for each chip-select line in use:
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt: - gpmc,cycle2cycle-delay-ns:	Delay between chip-select pulses
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt:GPMC chip-select settings properties for child nodes. All are optional.
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt:			chip-select in bytes. The GPMC supports 8-bit
+Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt:Child chip-select (cs) nodes contain the memory devices nodes connected to
+Documentation/devicetree/bindings/memory-controllers/ti/emif.txt:  calibration resistor per chip-select.
+Documentation/devicetree/bindings/mfd/arizona.txt:  - compatible : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mfd/hi6421.txt:- compatible    : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mfd/madera.txt:  - compatible : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mfd/wm831x.txt:  - compatible : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mips/mscc.txt:- compatible: Should be "mscc,ocelot-chip-regs", "simple-mfd", "syscon"
+Documentation/devicetree/bindings/mips/mscc.txt:		compatible = "mscc,ocelot-chip-regs", "simple-mfd", "syscon";
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:- #address-cells   : <1> - subnodes give the chip-select number
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:* NAND chip-select
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:to represent enabled chip-selects which (may) contain NAND flash chips. Their
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:- reg                       : a single integer representing the chip-select
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:                              chip-select. See nand-controller.yaml
+Documentation/devicetree/bindings/mtd/diskonchip.txt: - compatible: should be "m-systems,diskonchip-g3"
+Documentation/devicetree/bindings/mtd/diskonchip.txt:		compatible = "m-systems,diskonchip-g3";
+Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt:- fsl,upm-wait-flags : add chip-dependent short delays after running the
+Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt:- chip-delay : chip dependent delay for transferring data from array to
+Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt:	chip-delay = <25>; // in micro-seconds
+Documentation/devicetree/bindings/mtd/gpio-control-nand.txt:- chip-delay : chip dependent delay for transferring data from array to
+Documentation/devicetree/bindings/mtd/gpmc-nor.txt:- reg:			Chip-select, base address (relative to chip-select)
+Documentation/devicetree/bindings/mtd/gpmc-nor.txt:			typically 0 as this is the start of the chip-select.
+Documentation/devicetree/bindings/mtd/marvell-nand.txt:- num-cs: Number of chip-select lines to use, all boards blindly set 1
+Documentation/devicetree/bindings/mtd/orion-nand.txt:- chip-delay : Chip dependent delay for transferring data from array to read
+Documentation/devicetree/bindings/mtd/orion-nand.txt:	chip-delay = <25>;
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:- #address-cells:	<1> - subnodes give the chip-select number
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:* NAND chip-select
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:chip-selects which (may) contain NAND flash chips. Their properties are as
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:- reg:			a single integer representing the chip-select
+Documentation/devicetree/bindings/mtd/spi-nand.txt:- reg: should encode the chip-select line used to access the NAND chip
+Documentation/devicetree/bindings/mux/mux-controller.txt:mux-ctrl-specifier typically encodes the chip-relative mux controller number.
+Documentation/devicetree/bindings/net/gpmc-eth.txt:- reg:			Chip-select, base address (relative to chip-select)
+Documentation/devicetree/bindings/net/gpmc-eth.txt:			is the start of the chip-select.
+Documentation/devicetree/bindings/net/microchip,lan78xx.txt:  are defined in "include/dt-bindings/net/microchip-lan78xx.h".
+Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt:- compatible: "rockchip,rockchip-efuse"
+Documentation/devicetree/bindings/pci/layerscape-pci.txt:which is used to describe the PLL settings at the time of chip-reset.
+Documentation/devicetree/bindings/pci/rockchip-pcie-ep.txt:  (see example below and you MUST also refer to ../phy/rockchip-pcie-phy.txt
+Documentation/devicetree/bindings/pci/rockchip-pcie-host.txt:  (see example below and you MUST also refer to ../phy/rockchip-pcie-phy.txt
+Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt:   - utmi-pads: The reset of the PHY containing the chip-wide UTMI pad control
+Documentation/devicetree/bindings/power/reset/ocelot-reset.txt: - compatible: "mscc,ocelot-chip-reset"
+Documentation/devicetree/bindings/power/reset/ocelot-reset.txt:		compatible = "mscc,ocelot-chip-reset";
+Documentation/devicetree/bindings/powerpc/4xx/reboot.txt:			reset-type = <2>;	/* Use chip-reset */
+Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt:The Interlaken is a narrow, high speed channelized chip-to-chip interface. To
+Documentation/devicetree/bindings/powerpc/opal/sensor-groups.txt:- ibm,chip-id : Chip ID
+Documentation/devicetree/bindings/pwm/pwm.txt:pwm-specifier typically encodes the chip-relative PWM number and the PWM
+Documentation/devicetree/bindings/soc/fsl/rcpm.txt:  - compatible : Must contain a chip-specific RCPM block compatible string
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:- compatible: "rockchip,rockchip-audio-max98090"
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:	compatible = "rockchip,rockchip-audio-max98090";
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:	compatible = "rockchip,rockchip-audio-max98090";
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:	compatible = "rockchip,rockchip-audio-max98090";
+Documentation/devicetree/bindings/sound/rockchip-rt5645.txt:- compatible: "rockchip,rockchip-audio-rt5645"
+Documentation/devicetree/bindings/sound/rockchip-rt5645.txt:	compatible = "rockchip,rockchip-audio-rt5645";
+Documentation/devicetree/bindings/spi/spi-orion.txt:	chip-select lines 0 through 7 respectively.
+Documentation/devicetree/bindings/spi/spi-orion.txt:and its chip-selects that are used in the direct mode instead of PIO
+Documentation/devicetree/bindings/usb/cdns-usb3.txt: - cdns,on-chip-buff-size : size of memory intended as internal memory for endpoints
+Documentation/devicetree/bindings/usb/rockchip,dwc3.txt:Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt - USB2.0 PHY
+Documentation/devicetree/bindings/usb/rockchip,dwc3.txt:Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt     - Type-C PHY
+Documentation/driver-api/edac.rst:*sockets, *socket sets*, *banks*, *rows*, *chip-select rows*, *channels*,
+Documentation/driver-api/edac.rst:accessed. Common chip-select rows for single channel are 64 bits, for
+Documentation/driver-api/edac.rst:A Single-ranked stick has 1 chip-select row of memory. Motherboards
+Documentation/driver-api/edac.rst:commonly drive two chip-select pins to a memory stick. A single-ranked
+Documentation/driver-api/edac.rst:A double-ranked stick has two chip-select rows which access different
+Documentation/driver-api/edac.rst:A double-sided stick has two chip-select rows which access different sets
+Documentation/driver-api/edac.rst:all of the memory sticks spanned by a chip-select row.  A single socket
+Documentation/driver-api/edac.rst:set has two chip-select rows and if double-sided sticks are used these
+Documentation/driver-api/edac.rst:will occupy those chip-select rows.
+Documentation/driver-api/edac.rst:between chip-select rows and socket sets.
+Documentation/driver-api/gpio/legacy.rst:this is highly chip-specific and nonportable.  One platform might not need
+Documentation/driver-api/pwm.rst:number of PWM devices provided by the chip and the chip-specific
+Documentation/hwmon/sysfs-interface.rst:completely chip-independent. It assumes that all the kernel drivers
+Documentation/hwmon/sysfs-interface.rst:For this reason, even if we aim at a chip-independent libsensors, it will
+Documentation/hwmon/sysfs-interface.rst:to cause an alarm) is chip-dependent.
+Documentation/hwmon/sysfs-interface.rst:		Number of trip points is chip-dependent. Use this for chips
+Documentation/hwmon/sysfs-interface.rst:		Number of trip points is chip-dependent. Use this for chips
+Documentation/hwmon/tmp103.rst:wafer chip-scale package (WCSP). The TMP103 is capable of reading
+Documentation/hwmon/tmp401.rst:* Minimum and Maximum temperature measured since power-on, chip-reset
+Documentation/hwmon/w83791d.rst:chip-specific options are documented here.
+Documentation/i2c/fault-codes.rst:	or SMBus (or chip-specific) protocol specifications.  One
+Documentation/media/uapi/v4l/user-func.rst:    vidioc-dbg-g-chip-info
+Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst:      - See :ref:`name-chip-match-types` for a list of possible types.
+Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst:.. _name-chip-match-types:
+Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst:      - See :ref:`chip-match-types` for a list of possible types.
+Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst:.. _chip-match-types:
+Documentation/networking/z8530drv.txt:	  specified within one chip-definition only.
+Documentation/sh/new-machine.txt:                    `-- cchip-specific files
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* definition of the chip-specific record */
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* chip-specific destructor
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* chip-specific constructor
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              /* allocate a chip-specific data with zero filled */
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->card = card;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      card->shortname, chip->port, chip->irq);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          card->shortname, chip->port, chip->irq);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:card->private_data for the chip-specific data. Note that these data are
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:example will show an implementation of chip-specific data.
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:pointer, or the irq number, is stored in the chip-specific record.
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->card = card;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:In this section, we'll complete the chip-specific constructor,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              if (chip->irq >= 0)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      free_irq(chip->irq, chip);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              pci_release_regions(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              pci_disable_device(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* chip-specific constructor */
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->card = card;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->pci = pci;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->irq = -1;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->port = pci_resource_start(pci, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->irq = pci->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              card->sync_irq = chip->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->port = pci_resource_start(pci, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:The returned value, ``chip->res_port``, is allocated via
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->irq = pci->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:``chip->irq`` should be defined only when :c:func:`request_irq()`
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:passed to the interrupt handler. Usually, the chip-specific record is
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          card->irq = chip->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  if (chip->irq >= 0)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          free_irq(chip->irq, chip);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:``chip->irq`` with a negative value (e.g. -1), so that you can check
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  pci_release_regions(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:chip->res_port, the release procedure looks like:
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  release_and_free_resource(chip->res_port);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:And finally, release the chip-specific record.
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:When the chip-data is assigned to the card using
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->iobase_phys = pci_resource_start(pci, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->iobase_virt = ioremap_nocache(chip->iobase_phys,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          if (chip->iobase_virt)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                  iounmap(chip->iobase_virt);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          pci_release_regions(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->iobase_virt = pci_iomap(pci, 0, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                   chip->buffer_size,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                   chip->period_size);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              err = snd_pcm_new(chip->card, "My Chip", 0, 1, 1, &pcm);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->pcm = pcm;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                             &chip->pci->dev,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          err = snd_pcm_new(chip->card, "My Chip", 0, 1, 1, &pcm);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          chip->pcm = pcm;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                 &chip->pci->dev,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              kfree(chip->my_private_pcm_data);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->my_private_pcm_data = kmalloc(...);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          if (chip->model == VERY_OLD_ONE)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      snd_pcm_period_elapsed(chip->substream);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      if (last_ptr < chip->last_ptr)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                       - chip->last_ptr;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              size = last_ptr - chip->last_ptr;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      chip->last_ptr = last_ptr;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      chip->size += size;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      if (chip->size >= runtime->period_size) {
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              chip->size %= runtime->period_size;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              if (chip->current_value !=
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              return snd_ac97_mixer(bus, &ac97, &chip->ac97);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  snd_ac97_mixer(bus, &ac97, &chip->ac97);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:where chip->ac97 is a pointer to a newly created ``ac97_t``
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  err = snd_rawmidi_new(chip->card, "MyMIDI", 0, outs, ins, &rmidi);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          snd_iprintf(buffer, "Port = %ld\n", chip->port);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          snd_ac97_suspend(chip->ac97);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          snd_ac97_resume(chip->ac97);
+Documentation/spi/spi-summary.rst:is wired, plus chip-specific constraints like an important delay that's
+MAINTAINERS:F:	include/linux/platform_data/microchip-ksz.h
+MAINTAINERS:F:	Documentation/devicetree/bindings/pci/rockchip-pcie*
+MAINTAINERS:F:	Documentation/devicetree/bindings/media/rockchip-rga.txt
+MAINTAINERS:F:	Documentation/devicetree/bindings/media/rockchip-vpu.txt
+MAINTAINERS:F:	include/dt-bindings/net/microchip-lan78xx.h
+arch/alpha/kernel/core_polaris.c: * POLARIS chip-specific code
+arch/alpha/kernel/core_titan.c:	port = &pachip->g_port;
+arch/alpha/kernel/core_titan.c:		port = &pachip->a_port;
+arch/alpha/kernel/core_titan.c:	titan_pchip1_present = TITAN_cchip->csc.csr & 1L<<14;
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_CSC 0x%lx\n", __func__, TITAN_cchip->csc.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_MTR 0x%lx\n", __func__, TITAN_cchip->mtr.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_MISC 0x%lx\n", __func__, TITAN_cchip->misc.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIM0 0x%lx\n", __func__, TITAN_cchip->dim0.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIM1 0x%lx\n", __func__, TITAN_cchip->dim1.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIR0 0x%lx\n", __func__, TITAN_cchip->dir0.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIR1 0x%lx\n", __func__, TITAN_cchip->dir1.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DRIR 0x%lx\n", __func__, TITAN_cchip->drir.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DSC 0x%lx\n", __func__, TITAN_dchip->dsc.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_STR 0x%lx\n", __func__, TITAN_dchip->str.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DREV 0x%lx\n", __func__, TITAN_dchip->drev.csr);
+arch/alpha/kernel/core_tsunami.c:	csr = &pchip->tlbia.csr;
+arch/alpha/kernel/core_tsunami.c:		csr = &pchip->tlbiv.csr;
+arch/alpha/kernel/core_tsunami.c:	TSUNAMI_cchip->misc.csr |= (1L << 28); /* clear NXM... */
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->misc.csr & (1L << 28)) {
+arch/alpha/kernel/core_tsunami.c:		int source = (TSUNAMI_cchip->misc.csr >> 29) & 7;
+arch/alpha/kernel/core_tsunami.c:		TSUNAMI_cchip->misc.csr |= (1L << 28); /* ...and unlock NXS. */
+arch/alpha/kernel/core_tsunami.c:	if (tsunami_probe_read(&pchip->pctl.csr) == 0)
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[0] = pchip->wsba[0].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[0] = pchip->wsm[0].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[0] = pchip->tba[0].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[1] = pchip->wsba[1].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[1] = pchip->wsm[1].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[1] = pchip->tba[1].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[2] = pchip->wsba[2].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[2] = pchip->wsm[2].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[2] = pchip->tba[2].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[3] = pchip->wsba[3].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[3] = pchip->wsm[3].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[3] = pchip->tba[3].csr;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[0].csr = hose->sg_isa->dma_base | 3;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[0].csr  = (hose->sg_isa->size - 1) & 0xfff00000;
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[0].csr  = virt_to_phys(hose->sg_isa->ptes);
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[1].csr = hose->sg_pci->dma_base | 3;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[1].csr  = (hose->sg_pci->size - 1) & 0xfff00000;
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[1].csr  = virt_to_phys(hose->sg_pci->ptes);
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[2].csr = 0x80000000 | 1;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[2].csr  = (0x80000000 - 1) & 0xfff00000;
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[2].csr  = 0;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[3].csr = 0;
+arch/alpha/kernel/core_tsunami.c:	pchip->pctl.csr |= pctl_m_mwin;
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_CSC 0x%lx\n", __func__, TSUNAMI_cchip->csc.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_MISC 0x%lx\n", __func__, TSUNAMI_cchip->misc.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIM0 0x%lx\n", __func__, TSUNAMI_cchip->dim0.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIM1 0x%lx\n", __func__, TSUNAMI_cchip->dim1.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIR0 0x%lx\n", __func__, TSUNAMI_cchip->dir0.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIR1 0x%lx\n", __func__, TSUNAMI_cchip->dir1.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DRIR 0x%lx\n", __func__, TSUNAMI_cchip->drir.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DSC 0x%lx\n", __func__, TSUNAMI_dchip->dsc.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_STR 0x%lx\n", __func__, TSUNAMI_dchip->str.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DREV 0x%lx\n", __func__, TSUNAMI_dchip->drev.csr);
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->csc.csr & 1L<<14)
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[0].csr = saved_config[index].wsba[0];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[0].csr = saved_config[index].wsm[0];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[0].csr = saved_config[index].tba[0];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[1].csr = saved_config[index].wsba[1];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[1].csr = saved_config[index].wsm[1];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[1].csr = saved_config[index].tba[1];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[2].csr = saved_config[index].wsba[2];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[2].csr = saved_config[index].wsm[2];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[2].csr = saved_config[index].tba[2];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[3].csr = saved_config[index].wsba[3];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[3].csr = saved_config[index].wsm[3];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[3].csr = saved_config[index].tba[3];
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->csc.csr & 1L<<14)
+arch/alpha/kernel/core_tsunami.c:	pchip->perror.csr;
+arch/alpha/kernel/core_tsunami.c:	pchip->perror.csr = 0x040;
+arch/alpha/kernel/core_tsunami.c:	pchip->perror.csr;
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->csc.csr & 1L<<14)
+arch/alpha/kernel/irq.c:	if (!chip->irq_set_affinity || irq_user_affinity[irq])
+arch/alpha/kernel/irq.c:	chip->irq_set_affinity(data, cpumask_of(cpu), false);
+arch/alpha/kernel/sys_dp264.c:	dim0 = &cchip->dim0.csr;
+arch/alpha/kernel/sys_dp264.c:	dim1 = &cchip->dim1.csr;
+arch/alpha/kernel/sys_dp264.c:	dim2 = &cchip->dim2.csr;
+arch/alpha/kernel/sys_dp264.c:	dim3 = &cchip->dim3.csr;
+arch/alpha/kernel/sys_dp264.c:	if (bcpu == 0) dimB = &cchip->dim0.csr;
+arch/alpha/kernel/sys_dp264.c:	else if (bcpu == 1) dimB = &cchip->dim1.csr;
+arch/alpha/kernel/sys_dp264.c:	else if (bcpu == 2) dimB = &cchip->dim2.csr;
+arch/alpha/kernel/sys_dp264.c:	else dimB = &cchip->dim3.csr;
+arch/alpha/kernel/sys_dp264.c:	pld = TSUNAMI_cchip->dir0.csr;
+arch/alpha/kernel/sys_titan.c:	dim0 = &cchip->dim0.csr;
+arch/alpha/kernel/sys_titan.c:	dim1 = &cchip->dim1.csr;
+arch/alpha/kernel/sys_titan.c:	dim2 = &cchip->dim2.csr;
+arch/alpha/kernel/sys_titan.c:	dim3 = &cchip->dim3.csr;
+arch/alpha/kernel/sys_titan.c:	dimB = &cchip->dim0.csr;
+arch/alpha/kernel/sys_titan.c:	if (bcpu == 1) dimB = &cchip->dim1.csr;
+arch/alpha/kernel/sys_titan.c:	else if (bcpu == 2) dimB = &cchip->dim2.csr;
+arch/alpha/kernel/sys_titan.c:	else if (bcpu == 3) dimB = &cchip->dim3.csr;
+arch/arm/boot/dts/Makefile:	sun5i-gr8-chip-pro.dtb \
+arch/arm/boot/dts/arm-realview-pb1176.dts:			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
+arch/arm/boot/dts/arm-realview-pb1176.dts:			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
+arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts:		chip-id = <0>;
+arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts:		chip-id = <0>;
+arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts:		chip-id = <1>;
+arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi:#include <dt-bindings/net/microchip-lan78xx.h>
+arch/arm/boot/dts/berlin2.dtsi:		chip: chip-control@ea0000 {
+arch/arm/boot/dts/berlin2cd.dtsi:		chip: chip-control@ea0000 {
+arch/arm/boot/dts/berlin2q.dtsi:		chip: chip-control@ea0000 {
+arch/arm/boot/dts/da850.dtsi:		cfgchip: chip-controller@1417c {
+arch/arm/boot/dts/ibm-power9-dual.dtsi:		chip-id = <0>;
+arch/arm/boot/dts/ibm-power9-dual.dtsi:		chip-id = <1>;
+arch/arm/boot/dts/imx6q-kontron-samx6i.dtsi:/* Quad/Dual SoMs have 3 chip-select signals */
+arch/arm/boot/dts/kirkwood-db.dtsi:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-dnskw.dtsi:	chip-delay = <35>;
+arch/arm/boot/dts/kirkwood-goflexnet.dts:	chip-delay = <40>;
+arch/arm/boot/dts/kirkwood-km_common.dtsi:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-nas2big.dts:	chip-delay = <50>;
+arch/arm/boot/dts/kirkwood-nsa3x0-common.dtsi:	chip-delay = <35>;
+arch/arm/boot/dts/kirkwood-openblocks_a6.dts:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-openblocks_a7.dts:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-pogo_e02.dts:	chip-delay = <40>;
+arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts:	chip-delay = <40>;
+arch/arm/boot/dts/kirkwood.dtsi:			chip-delay = <25>;
+arch/arm/boot/dts/kirkwood.dtsi:			/* set partition map and/or chip-delay in board dts */
+arch/arm/boot/dts/rk3036.dtsi:		compatible = "rockchip,rockchip-spi";
+arch/arm/boot/dts/rk3288-veyron-analog-audio.dtsi:		compatible = "rockchip,rockchip-audio-max98090";
+arch/arm/boot/dts/rk3288-veyron-mickey.dts:		compatible = "rockchip,rockchip-audio-max98090";
+arch/arm/boot/dts/sun5i-gr8-chip-pro.dts:	compatible = "nextthing,chip-pro", "nextthing,gr8";
+arch/arm/boot/dts/sun5i-gr8-chip-pro.dts:			label = "chip-pro:white:status";
+arch/arm/boot/dts/uniphier-ld4.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pro4.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pro4.dtsi:		/* chip-internal connection for HDMI */
+arch/arm/boot/dts/uniphier-pro5.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pro5.dtsi:		/* chip-internal connection for HDMI */
+arch/arm/boot/dts/uniphier-pxs2.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pxs2.dtsi:		/* chip-internal connection for STM */
+arch/arm/boot/dts/uniphier-pxs2.dtsi:		/* chip-internal connection for HDMI */
+arch/arm/boot/dts/uniphier-sld8.dtsi:		/* chip-internal connection for DMD */
+arch/arm/common/locomo.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/common/locomo.c:	req = locomo_readl(lchip->base + LOCOMO_ICR) & 0x0f00;
+arch/arm/common/locomo.c:		irq = lchip->irq_base;
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	r &= ~(0x0010 << (d->irq - lchip->irq_base));
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	r |= (0x0010 << (d->irq - lchip->irq_base));
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	int irq = lchip->irq_base;
+arch/arm/common/locomo.c:	irq_set_irq_type(lchip->irq, IRQ_TYPE_EDGE_FALLING);
+arch/arm/common/locomo.c:	irq_set_chained_handler_and_data(lchip->irq, locomo_handler, lchip);
+arch/arm/common/locomo.c:	for ( ; irq <= lchip->irq_base + 3; irq++) {
+arch/arm/common/locomo.c:	if (lchip->dev->dma_mask) {
+arch/arm/common/locomo.c:		dev->dma_mask = *lchip->dev->dma_mask;
+arch/arm/common/locomo.c:	dev->dev.parent  = lchip->dev;
+arch/arm/common/locomo.c:	dev->dev.coherent_dma_mask = lchip->dev->coherent_dma_mask;
+arch/arm/common/locomo.c:		dev->mapbase = lchip->base + info->offset;
+arch/arm/common/locomo.c:	dev->irq[0] = (lchip->irq_base == NO_IRQ) ?
+arch/arm/common/locomo.c:			NO_IRQ : lchip->irq_base + info->irq[0];
+arch/arm/common/locomo.c:	lchip->saved_state = save;
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	save->LCM_GPO     = locomo_readl(lchip->base + LOCOMO_GPO);	/* GPIO */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	save->LCM_SPICT   = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPICT);	/* SPI */
+arch/arm/common/locomo.c:	locomo_writel(0x40, lchip->base + LOCOMO_SPI + LOCOMO_SPICT);
+arch/arm/common/locomo.c:	save->LCM_GPE     = locomo_readl(lchip->base + LOCOMO_GPE);	/* GPIO */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	save->LCM_ASD     = locomo_readl(lchip->base + LOCOMO_ASD);	/* ADSTART */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	save->LCM_SPIMD   = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);	/* SPI */
+arch/arm/common/locomo.c:	locomo_writel(0x3C14, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_PAIF);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_DAC);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_BACKLIGHT + LOCOMO_TC);
+arch/arm/common/locomo.c:	if ((locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT0) & 0x88) && (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT1) & 0x88))
+arch/arm/common/locomo.c:		locomo_writel(0x00, lchip->base + LOCOMO_C32K); 	/* CLK32 off */
+arch/arm/common/locomo.c:		locomo_writel(0xc1, lchip->base + LOCOMO_C32K); 	/* CLK32 on */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_TADC);		/* 18MHz clock off*/
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_AUDIO + LOCOMO_ACC);			/* 22MHz/24MHz clock off */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);			/* FL */
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	save = lchip->saved_state;
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_GPO, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_SPICT, lchip->base + LOCOMO_SPI + LOCOMO_SPICT);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_GPE, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_ASD, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_SPIMD, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_C32K);
+arch/arm/common/locomo.c:	locomo_writel(0x90, lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KSC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_KEYBOARD + LOCOMO_KIC);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KIC);
+arch/arm/common/locomo.c:	locomo_writel(0x1, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KCMD);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	lchip->saved_state = NULL;
+arch/arm/common/locomo.c:	spin_lock_init(&lchip->lock);
+arch/arm/common/locomo.c:	lchip->dev = me;
+arch/arm/common/locomo.c:	dev_set_drvdata(lchip->dev, lchip);
+arch/arm/common/locomo.c:	lchip->phys = mem->start;
+arch/arm/common/locomo.c:	lchip->irq = irq;
+arch/arm/common/locomo.c:	lchip->irq_base = (pdata) ? pdata->irq_base : NO_IRQ;
+arch/arm/common/locomo.c:	lchip->base = ioremap(mem->start, PAGE_SIZE);
+arch/arm/common/locomo.c:	if (!lchip->base) {
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KIC);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:			, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:			, lchip->base + LOCOMO_GPD);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_GIE);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_LTINT);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_SPI + LOCOMO_SPIIE);
+arch/arm/common/locomo.c:	locomo_writel(6 + 8 + 320 + 30 - 10, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	locomo_writel(6 + 8 + 320 + 30 - 10 - 128 + 4, lchip->base + LOCOMO_HSD);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_HSD);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_HSD);
+arch/arm/common/locomo.c:	locomo_writel(128 / 8, lchip->base + LOCOMO_HSC);
+arch/arm/common/locomo.c:	locomo_writel(0x80, lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_DAC);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_DAC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_VER);
+arch/arm/common/locomo.c:	if (lchip->irq != NO_IRQ && lchip->irq_base != NO_IRQ)
+arch/arm/common/locomo.c:	device_for_each_child(lchip->dev, NULL, locomo_remove_child);
+arch/arm/common/locomo.c:	if (lchip->irq != NO_IRQ) {
+arch/arm/common/locomo.c:		irq_set_chained_handler_and_data(lchip->irq, NULL, NULL);
+arch/arm/common/locomo.c:	iounmap(lchip->base);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_GPD);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_GPD);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	ret = locomo_readl(lchip->base + LOCOMO_GPL);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	ret = locomo_readl(lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	void *mapbase = lchip->base;
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	locomo_writel(bpwf, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
+arch/arm/common/locomo.c:	locomo_writel(duty, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD);
+arch/arm/common/locomo.c:	locomo_writel(bpwf | LOCOMO_ALC_EN, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/sa1111.c:	return irq_create_mapping(sachip->irqdomain, hwirq);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/common/sa1111.c:	irqdomain = sachip->irqdomain;
+arch/arm/common/sa1111.c:	desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *irqbase = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	request_mem_region(sachip->phys + SA1111_INTC, 512, "irq");
+arch/arm/common/sa1111.c:		dev_err(sachip->dev, "unable to allocate %u irqs: %d\n",
+arch/arm/common/sa1111.c:	sachip->irq_base = ret;
+arch/arm/common/sa1111.c:	sachip->irqdomain = irq_domain_add_linear(NULL, SA1111_IRQ_NR,
+arch/arm/common/sa1111.c:	if (!sachip->irqdomain) {
+arch/arm/common/sa1111.c:		irq_free_descs(sachip->irq_base, SA1111_IRQ_NR);
+arch/arm/common/sa1111.c:	irq_domain_associate_many(sachip->irqdomain,
+arch/arm/common/sa1111.c:				  sachip->irq_base + IRQ_GPAIN0,
+arch/arm/common/sa1111.c:	irq_domain_associate_many(sachip->irqdomain,
+arch/arm/common/sa1111.c:				  sachip->irq_base + AUDXMTDMADONEA,
+arch/arm/common/sa1111.c:	irq_set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING);
+arch/arm/common/sa1111.c:	irq_set_chained_handler_and_data(sachip->irq, sa1111_irq_handler,
+arch/arm/common/sa1111.c:	dev_info(sachip->dev, "Providing IRQ%u-%u\n",
+arch/arm/common/sa1111.c:		sachip->irq_base, sachip->irq_base + SA1111_IRQ_NR - 1);
+arch/arm/common/sa1111.c:	struct irq_domain *domain = sachip->irqdomain;
+arch/arm/common/sa1111.c:	void __iomem *irqbase = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	irq_set_chained_handler_and_data(sachip->irq, NULL, NULL);
+arch/arm/common/sa1111.c:	release_mem_region(sachip->phys + SA1111_INTC, 512);
+arch/arm/common/sa1111.c:	void __iomem *reg = sachip->base + SA1111_GPIO;
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	void __iomem *reg = sachip->base + SA1111_GPIO;
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	sachip->gc.label = "sa1111";
+arch/arm/common/sa1111.c:	sachip->gc.parent = sachip->dev;
+arch/arm/common/sa1111.c:	sachip->gc.owner = THIS_MODULE;
+arch/arm/common/sa1111.c:	sachip->gc.get_direction = sa1111_gpio_get_direction;
+arch/arm/common/sa1111.c:	sachip->gc.direction_input = sa1111_gpio_direction_input;
+arch/arm/common/sa1111.c:	sachip->gc.direction_output = sa1111_gpio_direction_output;
+arch/arm/common/sa1111.c:	sachip->gc.get = sa1111_gpio_get;
+arch/arm/common/sa1111.c:	sachip->gc.set = sa1111_gpio_set;
+arch/arm/common/sa1111.c:	sachip->gc.set_multiple = sa1111_gpio_set_multiple;
+arch/arm/common/sa1111.c:	sachip->gc.to_irq = sa1111_gpio_to_irq;
+arch/arm/common/sa1111.c:	sachip->gc.base = -1;
+arch/arm/common/sa1111.c:	sachip->gc.ngpio = 18;
+arch/arm/common/sa1111.c:	return devm_gpiochip_add_data(sachip->dev, &sachip->gc, sachip);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	clk_enable(sachip->clk);
+arch/arm/common/sa1111.c:	r = readl_relaxed(sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(r, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(r, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(r, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	writel_relaxed(smcr, sachip->base + SA1111_SMCR);
+arch/arm/common/sa1111.c:	if (sachip->dev->dma_mask)
+arch/arm/common/sa1111.c:		*sachip->dev->dma_mask &= sa1111_dma_mask[drac >> 2];
+arch/arm/common/sa1111.c:	sachip->dev->coherent_dma_mask &= sa1111_dma_mask[drac >> 2];
+arch/arm/common/sa1111.c:	dev->dev.parent  = sachip->dev;
+arch/arm/common/sa1111.c:	dev->res.start   = sachip->phys + info->offset;
+arch/arm/common/sa1111.c:	dev->mapbase     = sachip->base + info->offset;
+arch/arm/common/sa1111.c:	if (info->dma && sachip->dev->dma_mask) {
+arch/arm/common/sa1111.c:		dev->dma_mask = *sachip->dev->dma_mask;
+arch/arm/common/sa1111.c:		dev->dev.coherent_dma_mask = sachip->dev->coherent_dma_mask;
+arch/arm/common/sa1111.c:		dev_err(sachip->dev, "failed to allocate resource for %s\n",
+arch/arm/common/sa1111.c:	sachip->clk = devm_clk_get(me, "SA1111_CLK");
+arch/arm/common/sa1111.c:	if (IS_ERR(sachip->clk))
+arch/arm/common/sa1111.c:		return PTR_ERR(sachip->clk);
+arch/arm/common/sa1111.c:	ret = clk_prepare(sachip->clk);
+arch/arm/common/sa1111.c:	spin_lock_init(&sachip->lock);
+arch/arm/common/sa1111.c:	sachip->dev = me;
+arch/arm/common/sa1111.c:	dev_set_drvdata(sachip->dev, sachip);
+arch/arm/common/sa1111.c:	sachip->pdata = pd;
+arch/arm/common/sa1111.c:	sachip->phys = mem->start;
+arch/arm/common/sa1111.c:	sachip->irq = irq;
+arch/arm/common/sa1111.c:	sachip->base = ioremap(mem->start, PAGE_SIZE * 2);
+arch/arm/common/sa1111.c:	if (!sachip->base) {
+arch/arm/common/sa1111.c:	id = readl_relaxed(sachip->base + SA1111_SKID);
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val | SKPCR_DCLKEN, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	clk_disable(sachip->clk);
+arch/arm/common/sa1111.c:	iounmap(sachip->base);
+arch/arm/common/sa1111.c:	clk_unprepare(sachip->clk);
+arch/arm/common/sa1111.c:	device_for_each_child(sachip->dev, NULL, sa1111_remove_one);
+arch/arm/common/sa1111.c:	clk_disable(sachip->clk);
+arch/arm/common/sa1111.c:	clk_unprepare(sachip->clk);
+arch/arm/common/sa1111.c:	iounmap(sachip->base);
+arch/arm/common/sa1111.c:	sachip->saved_state = save;
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	base = sachip->base;
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_SKPWM0);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_SKPWM1);
+arch/arm/common/sa1111.c:	base = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val | SKCR_SLEEP, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	clk_disable(sachip->clk);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	save = sachip->saved_state;
+arch/arm/common/sa1111.c:	id = readl_relaxed(sachip->base + SA1111_SKID);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_INTC + SA1111_INTEN0);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_INTC + SA1111_INTEN1);
+arch/arm/common/sa1111.c:	base = sachip->base;
+arch/arm/common/sa1111.c:	base = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	sachip->saved_state = NULL;
+arch/arm/common/sa1111.c:		kfree(sachip->saved_state);
+arch/arm/common/sa1111.c:		sachip->saved_state = NULL;
+arch/arm/common/sa1111.c:	skcdr = readl_relaxed(sachip->base + SA1111_SKCDR);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	writel_relaxed(div - 1, sachip->base + SA1111_SKAUD);
+arch/arm/common/sa1111.c:	div = readl_relaxed(sachip->base + SA1111_SKAUD) + 1;
+arch/arm/common/sa1111.c:	if (sachip->pdata && sachip->pdata->enable)
+arch/arm/common/sa1111.c:		ret = sachip->pdata->enable(sachip->pdata->data, sadev->devid);
+arch/arm/common/sa1111.c:		spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:		val = readl_relaxed(sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:		writel_relaxed(val | sadev->skpcr_mask, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:		spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val & ~sadev->skpcr_mask, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	if (sachip->pdata && sachip->pdata->disable)
+arch/arm/common/sa1111.c:		sachip->pdata->disable(sachip->pdata->data, sadev->devid);
+arch/arm/kernel/machine_kexec.c:		if (chip->irq_eoi && irqd_irq_inprogress(&desc->irq_data))
+arch/arm/kernel/machine_kexec.c:			chip->irq_eoi(&desc->irq_data);
+arch/arm/kernel/machine_kexec.c:		if (chip->irq_mask)
+arch/arm/kernel/machine_kexec.c:			chip->irq_mask(&desc->irq_data);
+arch/arm/kernel/machine_kexec.c:		if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data))
+arch/arm/kernel/machine_kexec.c:			chip->irq_disable(&desc->irq_data);
+arch/arm/mach-ep93xx/snappercl15.c:#define NAND_CTRL_ADDR(chip) 	(chip->legacy.IO_ADDR_W + 0x40)
+arch/arm/mach-ep93xx/snappercl15.c:			     chip->legacy.IO_ADDR_W);
+arch/arm/mach-ep93xx/ts72xx.c:		void __iomem *addr = chip->legacy.IO_ADDR_R;
+arch/arm/mach-ep93xx/ts72xx.c:		__raw_writeb(cmd, chip->legacy.IO_ADDR_W);
+arch/arm/mach-ep93xx/ts72xx.c:	void __iomem *addr = chip->legacy.IO_ADDR_R;
+arch/arm/mach-imx/3ds_debugboard.c:	desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-imx/3ds_debugboard.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-imx/3ds_debugboard.c:	desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->owner		= THIS_MODULE;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->label		= "LCD";
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->base		= MX27ADS_LCD_GPIO;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->ngpio		= 1;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->direction_output	= vgpio_dir_out;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->set		= vgpio_set;
+arch/arm/mach-imx/mach-mx35_3ds.c:	return !strcmp(chip->label, data);
+arch/arm/mach-imx/mach-mx35_3ds.c:				chip->base + GPIO_MC9S08DZ60_LCD_ENABLE;
+arch/arm/mach-imx/mach-qong.c:		writeb(cmd, nand_chip->legacy.IO_ADDR_W + (1 << 24));
+arch/arm/mach-imx/mach-qong.c:		writeb(cmd, nand_chip->legacy.IO_ADDR_W + (1 << 23));
+arch/arm/mach-omap1/ams-delta-fiq.c:			if (!WARN_ON_ONCE(!irq_chip->irq_unmask))
+arch/arm/mach-omap1/ams-delta-fiq.c:				irq_chip->irq_unmask(d);
+arch/arm/mach-omap1/ams-delta-fiq.c:	irq_chip = chip->irq.chip;
+arch/arm/mach-omap1/ams-delta-fiq.c:		       chip->label);
+arch/arm/mach-omap1/board-ams-delta.c:	return !strcmp(label, chip->label);
+arch/arm/mach-omap1/usb.c:/* These routines should handle the standard chip-specific modes
+arch/arm/mach-omap2/prm_common.c:	if (chip->irq_ack)
+arch/arm/mach-omap2/prm_common.c:		chip->irq_ack(&desc->irq_data);
+arch/arm/mach-omap2/prm_common.c:	if (chip->irq_eoi)
+arch/arm/mach-omap2/prm_common.c:		chip->irq_eoi(&desc->irq_data);
+arch/arm/mach-omap2/prm_common.c:	chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-orion5x/ts78xx-setup.c:	void __iomem *io_base = chip->legacy.IO_ADDR_W;
+arch/arm/mach-orion5x/ts78xx-setup.c:	void __iomem *io_base = chip->legacy.IO_ADDR_R;
+arch/arm/mach-pxa/balloon3.c:		if (chip->irq_ack)
+arch/arm/mach-pxa/balloon3.c:			chip->irq_ack(d);
+arch/arm/mach-pxa/cm-x2xx-pci.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/littleton.c:	GPIO17_GPIO,	/* SFRM as chip-select */
+arch/arm/mach-pxa/lpd270.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/pcm990-baseboard.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/viper.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/zeus.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-rockchip/platsmp.c:	.name = "rockchip-pmu",
+arch/arm/mach-rpc/ecard.c:			desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-rpc/ecard.c:	desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-rpc/ecard.c:	desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-s3c24xx/bast-irq.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-s3c24xx/bast-irq.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-s3c24xx/include/mach/map.h:/* physical addresses of all the chip-select areas */
+arch/arm/mach-s3c24xx/iotiming-s3c2410.c: * is actually being handled as a chip-select.
+arch/arm/mach-sa1100/neponset.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-sa1100/neponset.c:			desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-sa1100/neponset.c:			desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-sa1100/neponset.c:			desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-u300/core.c:	for ( ; chip->chipid; chip++) {
+arch/arm/mach-u300/core.c:		if (chip->chipid == (val & 0xFF00U)) {
+arch/arm/mach-u300/core.c:			chipname = chip->name;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_OUT_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_IO_CONF_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_BLINK_EN_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_IN_POL_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_DATA_IN_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_EDGE_CAUSE_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + ochip->mask_offset + GPIO_EDGE_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + ochip->mask_offset + GPIO_LEVEL_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	if (pin >= ochip->chip.ngpio)
+arch/arm/plat-orion/gpio.c:	if ((mode & GPIO_INPUT_OK) && !test_bit(pin, &ochip->valid_input))
+arch/arm/plat-orion/gpio.c:	if ((mode & GPIO_OUTPUT_OK) && !test_bit(pin, &ochip->valid_output))
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	return irq_create_mapping(ochip->domain,
+arch/arm/plat-orion/gpio.c:				  ochip->secondary_irq_base + pin);
+arch/arm/plat-orion/gpio.c:		struct gpio_chip *chip = &ochip->chip;
+arch/arm/plat-orion/gpio.c:		if (pin >= chip->base && pin < chip->base + chip->ngpio)
+arch/arm/plat-orion/gpio.c:	pin -= ochip->chip.base;
+arch/arm/plat-orion/gpio.c:	pin -= ochip->chip.base;
+arch/arm/plat-orion/gpio.c:		__set_bit(pin, &ochip->valid_input);
+arch/arm/plat-orion/gpio.c:		__clear_bit(pin, &ochip->valid_input);
+arch/arm/plat-orion/gpio.c:		__set_bit(pin, &ochip->valid_output);
+arch/arm/plat-orion/gpio.c:		__clear_bit(pin, &ochip->valid_output);
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	pin = d->hwirq - ochip->secondary_irq_base;
+arch/arm/plat-orion/gpio.c:	for (i = 0; i < ochip->chip.ngpio; i++) {
+arch/arm/plat-orion/gpio.c:		irq = ochip->secondary_irq_base + i;
+arch/arm/plat-orion/gpio.c:	for (i = 0; i < chip->ngpio; i++) {
+arch/arm/plat-orion/gpio.c:		seq_printf(s, " gpio-%-3d (%-20.20s)", chip->base + i, label);
+arch/arm/plat-orion/gpio.c:	ochip->chip.label = kstrdup(gc_label, GFP_KERNEL);
+arch/arm/plat-orion/gpio.c:	ochip->chip.request = orion_gpio_request;
+arch/arm/plat-orion/gpio.c:	ochip->chip.direction_input = orion_gpio_direction_input;
+arch/arm/plat-orion/gpio.c:	ochip->chip.get = orion_gpio_get;
+arch/arm/plat-orion/gpio.c:	ochip->chip.direction_output = orion_gpio_direction_output;
+arch/arm/plat-orion/gpio.c:	ochip->chip.set = orion_gpio_set;
+arch/arm/plat-orion/gpio.c:	ochip->chip.to_irq = orion_gpio_to_irq;
+arch/arm/plat-orion/gpio.c:	ochip->chip.base = gpio_base;
+arch/arm/plat-orion/gpio.c:	ochip->chip.ngpio = ngpio;
+arch/arm/plat-orion/gpio.c:	ochip->chip.can_sleep = 0;
+arch/arm/plat-orion/gpio.c:	ochip->chip.of_node = np;
+arch/arm/plat-orion/gpio.c:	ochip->chip.dbg_show = orion_gpio_dbg_show;
+arch/arm/plat-orion/gpio.c:	spin_lock_init(&ochip->lock);
+arch/arm/plat-orion/gpio.c:	ochip->base = (void __iomem *)base;
+arch/arm/plat-orion/gpio.c:	ochip->valid_input = 0;
+arch/arm/plat-orion/gpio.c:	ochip->valid_output = 0;
+arch/arm/plat-orion/gpio.c:	ochip->mask_offset = mask_offset;
+arch/arm/plat-orion/gpio.c:	ochip->secondary_irq_base = secondary_irq_base;
+arch/arm/plat-orion/gpio.c:	gpiochip_add_data(&ochip->chip, ochip);
+arch/arm/plat-orion/gpio.c:				    ochip->base, handle_level_irq);
+arch/arm/plat-orion/gpio.c:	ct->regs.mask = ochip->mask_offset + GPIO_LEVEL_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	ct->chip.name = ochip->chip.label;
+arch/arm/plat-orion/gpio.c:	ct->regs.mask = ochip->mask_offset + GPIO_EDGE_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	ct->chip.name = ochip->chip.label;
+arch/arm/plat-orion/gpio.c:	ochip->domain = irq_domain_add_legacy(np,
+arch/arm/plat-orion/gpio.c:					      ochip->chip.ngpio,
+arch/arm/plat-orion/gpio.c:					      ochip->secondary_irq_base,
+arch/arm/plat-orion/gpio.c:					      ochip->secondary_irq_base,
+arch/arm/plat-orion/gpio.c:	if (!ochip->domain)
+arch/arm/plat-orion/gpio.c:		      ochip->chip.label);
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	con = __raw_readl(chip->base);
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	if (off < 8 && chip->chip.ngpio > 8)
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	if (off < 8 && chip->chip.ngpio > 8)
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	con = __raw_readl(chip->base);
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	if (ourchip->bitmap_gpio_int & BIT(offset))
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c: * the data register at ourchip->base + 0x04.
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	val = __raw_readl(ourchip->base + 0x04);
+arch/arm/plat-samsung/gpio-samsung.c:	gpn = chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:	for (i = 0; i < chip->chip.ngpio; i++, gpn++) {
+arch/arm/plat-samsung/gpio-samsung.c:	struct gpio_chip *gc = &chip->chip;
+arch/arm/plat-samsung/gpio-samsung.c:	BUG_ON(!chip->base);
+arch/arm/plat-samsung/gpio-samsung.c:	spin_lock_init(&chip->lock);
+arch/arm/plat-samsung/gpio-samsung.c:	if (chip->pm != NULL) {
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm->save || !chip->pm->resume)
+arch/arm/plat-samsung/gpio-samsung.c:	struct gpio_chip *gc = &chip->chip;
+arch/arm/plat-samsung/gpio-samsung.c:		if (chip->chip.base >= S3C_GPIO_END)
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &s3c24xx_gpiocfg_default;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_2bit);
+arch/arm/plat-samsung/gpio-samsung.c:		if ((base != NULL) && (chip->base == NULL))
+arch/arm/plat-samsung/gpio-samsung.c:			chip->base = base + ((i) * 0x10);
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_input = samsung_gpiolib_2bit_input;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_output = samsung_gpiolib_2bit_output;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &samsung_gpio_cfgs[7];
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_2bit);
+arch/arm/plat-samsung/gpio-samsung.c:		if ((base != NULL) && (chip->base == NULL))
+arch/arm/plat-samsung/gpio-samsung.c:			chip->base = base + ((i) * offset);
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_input = samsung_gpiolib_4bit_input;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_output = samsung_gpiolib_4bit_output;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &samsung_gpio_cfgs[2];
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_4bit);
+arch/arm/plat-samsung/gpio-samsung.c:		if ((base != NULL) && (chip->base == NULL))
+arch/arm/plat-samsung/gpio-samsung.c:			chip->base = base + ((i) * 0x20);
+arch/arm/plat-samsung/gpio-samsung.c:		chip->bitmap_gpio_int = 0;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_input = samsung_gpiolib_4bit2_input;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_output = samsung_gpiolib_4bit2_output;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &samsung_gpio_cfgs[2];
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_4bit);
+arch/arm/plat-samsung/gpio-samsung.c:	return samsung_chip->irq_base + offset;
+arch/arm/plat-samsung/gpio-samsung.c:	offset = pin - chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:		offset = pin - chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:	offset = pin - chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:		offset = pin - chip->chip.base;
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return (chip->config->set_config)(chip, off, config);
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return (chip->config->get_config)(chip, off);
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return (chip->config->set_pull)(chip, off, pull);
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return chip->config->get_pull(chip, off);
+arch/arm/plat-samsung/include/plat/gpio-core.h: * This helper returns the irq number calculated from the chip->irq_base and
+arch/arm/plat-samsung/include/plat/gpio-core.h:	return ((pin - chip->chip.base) < chip->chip.ngpio) ? chip : NULL;
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[0] = __raw_readl(chip->base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[1] = __raw_readl(chip->base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *base = chip->base;
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpcon = chip->pm_save[0];
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpdat = chip->pm_save[1];
+arch/arm/plat-samsung/pm-gpio.c:		  chip->chip.label, old_gpcon, gps_gpcon, old_gpdat, gps_gpdat);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[0] = __raw_readl(chip->base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[1] = __raw_readl(chip->base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[2] = __raw_readl(chip->base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *base = chip->base;
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpcon = chip->pm_save[0];
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpdat = chip->pm_save[1];
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[2], base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:		  chip->chip.label, old_gpcon, gps_gpcon, old_gpdat, gps_gpdat);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[1] = __raw_readl(chip->base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[2] = __raw_readl(chip->base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[3] = __raw_readl(chip->base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8)
+arch/arm/plat-samsung/pm-gpio.c:		chip->pm_save[0] = __raw_readl(chip->base - 4);
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *con = chip->base + (index * 4);
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpcon = chip->pm_save[index + 1];
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *base = chip->base;
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpdat = chip->pm_save[2];
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8) {
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[2], base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[1], base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8)
+arch/arm/plat-samsung/pm-gpio.c:		__raw_writel(chip->pm_save[0], base - 4);
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[2], base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[3], base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8) {
+arch/arm/plat-samsung/pm-gpio.c:			  chip->chip.label, old_gpcon[0], old_gpcon[1],
+arch/arm/plat-samsung/pm-gpio.c:			  chip->chip.label, old_gpcon[1],
+arch/arm/plat-samsung/pm-gpio.c:	struct samsung_gpio_pm *pm = ourchip->pm;
+arch/arm/plat-samsung/pm-gpio.c:		S3C_PMDBG("%s: no pm for %s\n", __func__, ourchip->chip.label);
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->chip.label,
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[0],
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[1],
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[2],
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[3]);
+arch/arm/plat-samsung/pm-gpio.c:		gpio_nr += ourchip->chip.ngpio;
+arch/arm/plat-samsung/pm-gpio.c:	struct samsung_gpio_pm *pm = ourchip->pm;
+arch/arm/plat-samsung/pm-gpio.c:		S3C_PMDBG("%s: no pm for %s\n", __func__, ourchip->chip.label);
+arch/arm/plat-samsung/pm-gpio.c:		gpio_nr += ourchip->chip.ngpio;
+arch/arm64/boot/dts/amlogic/meson-axg.dtsi:				amlogic,has-chip-id;
+arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi:				amlogic,has-chip-id;
+arch/arm64/boot/dts/amlogic/meson-gx.dtsi:				amlogic,has-chip-id;
+arch/arm64/boot/dts/rockchip/rk3328-a1.dts:		chip_en: chip-en {
+arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi:	rockchip-key {
+arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi:		/* chip-internal connection for HDMI */
+arch/arm64/kernel/machine_kexec.c:		    chip->irq_eoi)
+arch/arm64/kernel/machine_kexec.c:			chip->irq_eoi(&desc->irq_data);
+arch/arm64/kernel/machine_kexec.c:		if (chip->irq_mask)
+arch/arm64/kernel/machine_kexec.c:			chip->irq_mask(&desc->irq_data);
+arch/arm64/kernel/machine_kexec.c:		if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data))
+arch/arm64/kernel/machine_kexec.c:			chip->irq_disable(&desc->irq_data);
+arch/ia64/kernel/iosapic.c:			       chip->name, irq_type->name);
+arch/ia64/kernel/irq.c:			if (chip && chip->irq_disable &&
+arch/ia64/kernel/irq.c:				chip->irq_enable && chip->irq_set_affinity) {
+arch/ia64/kernel/irq.c:				chip->irq_disable(data);
+arch/ia64/kernel/irq.c:				chip->irq_set_affinity(data,
+arch/ia64/kernel/irq.c:				chip->irq_enable(data);
+arch/ia64/kernel/irq.c:				WARN_ON((!chip || !chip->irq_disable ||
+arch/ia64/kernel/irq.c:					 !chip->irq_enable ||
+arch/ia64/kernel/irq.c:					 !chip->irq_set_affinity));
+arch/ia64/kernel/smpboot.c:				data->chip->irq_disable(data);
+arch/ia64/kernel/smpboot.c:				data->chip->irq_set_affinity(data, mask, false);
+arch/ia64/kernel/smpboot.c:				data->chip->irq_enable(data);
+arch/microblaze/mm/init.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/mips/bcm63xx/gpio.c:	if (gpio >= chip->ngpio)
+arch/mips/bcm63xx/gpio.c:	if (gpio >= chip->ngpio)
+arch/mips/bcm63xx/gpio.c:	if (gpio >= chip->ngpio)
+arch/mips/boot/dts/mscc/ocelot.dtsi:			compatible = "mscc,ocelot-chip-reset";
+arch/mips/cavium-octeon/octeon-irq.c:	data->chip->irq_ack(data);
+arch/mips/cavium-octeon/octeon-irq.c:	data->chip->irq_enable(data);
+arch/mips/loongson64/irq.c:	chip->irq_set_affinity = plat_set_irq_affinity;
+arch/mips/pmcs-msp71xx/msp_setup.c:	/* No chip-specific reset code, just jump to the ROM reset vector */
+arch/mips/rb532/devices.c:		writeb(cmd, chip->legacy.IO_ADDR_W);
+arch/mips/rb532/gpio.c:	rb532_set_bit(bit, gpio, rb532_gpio_chip->regbase + GPIOILEVEL);
+arch/mips/rb532/gpio.c:	rb532_set_bit(bit, gpio, rb532_gpio_chip->regbase + GPIOISTAT);
+arch/mips/rb532/gpio.c:       rb532_set_bit(1, gpio, rb532_gpio_chip->regbase + GPIOFUNC);
+arch/mips/rb532/gpio.c:	rb532_gpio_chip->regbase = ioremap_nocache(r->start, resource_size(r));
+arch/mips/rb532/gpio.c:	if (!rb532_gpio_chip->regbase) {
+arch/mips/rb532/gpio.c:	gpiochip_add_data(&rb532_gpio_chip->chip, rb532_gpio_chip);
+arch/mips/vr41xx/common/irq.c:		if (chip->irq_mask_ack)
+arch/mips/vr41xx/common/irq.c:			chip->irq_mask_ack(idata);
+arch/mips/vr41xx/common/irq.c:			chip->irq_mask(idata);
+arch/mips/vr41xx/common/irq.c:			chip->irq_ack(idata);
+arch/mips/vr41xx/common/irq.c:		if (!irqd_irq_disabled(idata) && chip->irq_unmask)
+arch/mips/vr41xx/common/irq.c:			chip->irq_unmask(idata);
+arch/powerpc/boot/dts/icon.dts:			reset-type = <2>;	/* Use chip-reset */
+arch/powerpc/boot/dts/katmai.dts:			reset-type = <2>;	/* Use chip-reset */
+arch/powerpc/boot/dts/tqm8548-bigflash.dts:			chip-delay = <25>; // in micro-seconds
+arch/powerpc/boot/dts/tqm8548.dts:			chip-delay = <25>; // in micro-seconds
+arch/powerpc/kernel/prom.c: * of_get_ibm_chip_id - Returns the IBM "chip-id" of a device
+arch/powerpc/kernel/prom.c: * This looks for a property "ibm,chip-id" in the node or any
+arch/powerpc/kernel/prom.c:		 * cell in chip-id, we only read the first one here.
+arch/powerpc/kernel/prom.c:		if (!of_property_read_u32(np, "ibm,chip-id", &chip_id)) {
+arch/powerpc/kernel/prom.c: * cpu_to_chip_id - Return the cpus chip-id
+arch/powerpc/kernel/prom.c: * Return the value of the ibm,chip-id property corresponding to the given
+arch/powerpc/kernel/prom.c: * logical cpu number. If the chip-id can not be found, returns -1.
+arch/powerpc/kexec/core.c:		if (chip->irq_eoi && irqd_irq_inprogress(&desc->irq_data))
+arch/powerpc/kexec/core.c:			chip->irq_eoi(&desc->irq_data);
+arch/powerpc/kexec/core.c:		if (chip->irq_mask)
+arch/powerpc/kexec/core.c:			chip->irq_mask(&desc->irq_data);
+arch/powerpc/kexec/core.c:		if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data))
+arch/powerpc/kexec/core.c:			chip->irq_disable(&desc->irq_data);
+arch/powerpc/mm/nohash/40x.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/powerpc/mm/nohash/8xx.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/powerpc/mm/nohash/fsl_booke.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/powerpc/platforms/4xx/gpio.c:	spin_lock_irqsave(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_unlock_irqrestore(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_lock_irqsave(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_unlock_irqrestore(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_lock_irqsave(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_unlock_irqrestore(&chip->lock, flags);
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_mask(idata);
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_mask_ack(idata);
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_ack(idata);
+arch/powerpc/platforms/4xx/uic.c:	if (!irqd_irq_disabled(idata) && chip->irq_unmask)
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_unmask(idata);
+arch/powerpc/platforms/52xx/media5200.c:	chip->irq_mask(&desc->irq_data);
+arch/powerpc/platforms/52xx/media5200.c:	chip->irq_ack(&desc->irq_data);
+arch/powerpc/platforms/52xx/media5200.c:		chip->irq_unmask(&desc->irq_data);
+arch/powerpc/platforms/85xx/common.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/85xx/mpc85xx_ds.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/85xx/socrates_fpga_pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/86xx/pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/cell/axon_msi.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/cell/interrupt.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/cell/spider-pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/chrp/setup.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:	chip->irq_mask(&desc->irq_data); /* IRQ_LEVEL */
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:	chip->irq_ack(&desc->irq_data); /* IRQ_LEVEL */
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:	if (!irqd_irq_disabled(&desc->irq_data) && chip->irq_unmask)
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:		chip->irq_unmask(&desc->irq_data);
+arch/powerpc/platforms/embedded6xx/mvme5100.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/pasemi/setup.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/powernv/opal-imc.c:	nr_chips = of_property_count_u32_elems(node, "chip-id");
+arch/powerpc/platforms/powernv/opal-imc.c:	if (of_property_read_u32_array(node, "chip-id", chipid_arr, nr_chips))
+arch/powerpc/platforms/powernv/opal-sensor-groups.c:		if (!of_property_read_u32(node, "ibm,chip-id", &chipid))
+arch/powerpc/platforms/powernv/pci-ioda.c:	return chip->irq_eoi == pnv_ioda2_msi_eoi;
+arch/powerpc/platforms/powernv/rng.c:		pr_warn("No ibm,chip-id found for %pOF.\n", dn);
+arch/powerpc/platforms/pseries/setup.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/ge/ge_pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/mpic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/tsi108_pci.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/xics/xics-common.c:		if (!chip || !chip->irq_set_affinity)
+arch/powerpc/sysdev/xilinx_intc.c:	chip->irq_unmask(&desc->irq_data);
+arch/powerpc/sysdev/xive/spapr.c:	 * No chip-id for the sPAPR backend. This has an impact how we
+arch/s390/kernel/irq.c:		seq_printf(p, " %8s", desc->irq_data.chip->name);
+arch/sh/boards/mach-migor/setup.c:		writeb(cmd, chip->legacy.IO_ADDR_W + 0x00400000);
+arch/sh/boards/mach-migor/setup.c:		writeb(cmd, chip->legacy.IO_ADDR_W + 0x00800000);
+arch/sh/boards/mach-migor/setup.c:		writeb(cmd, chip->legacy.IO_ADDR_W);
+arch/sh/boards/mach-se/7343/irq.c:	chip->irq_mask_ack(data);
+arch/sh/boards/mach-se/7343/irq.c:	chip->irq_unmask(data);
+arch/sh/boards/mach-se/7722/irq.c:	chip->irq_mask_ack(data);
+arch/sh/boards/mach-se/7722/irq.c:	chip->irq_unmask(data);
+arch/sh/boards/mach-x3proto/gpio.c:	if (gpio < chip->ngpio)
+arch/sh/boards/mach-x3proto/gpio.c:	chip->irq_mask_ack(data);
+arch/sh/boards/mach-x3proto/gpio.c:	chip->irq_unmask(data);
+arch/sparc/kernel/irq_32.c: * up via the irq_chip->startup() method which gets invoked by
+arch/sparc/kernel/irq_64.c:			if (data->chip->irq_set_affinity)
+arch/sparc/kernel/irq_64.c:				data->chip->irq_set_affinity(data,
+arch/sparc/kernel/leon_pci_grpci1.c:		desc->irq_data.chip->irq_eoi(&desc->irq_data);
+arch/sparc/kernel/leon_pci_grpci2.c:		desc->irq_data.chip->irq_eoi(&desc->irq_data);
+arch/x86/Kconfig.cpu:	  - "Winchip-C6" for original IDT Winchip.
+arch/x86/Kconfig.cpu:	  - "Winchip-2" for IDT Winchips with 3dNow! capabilities.
+arch/x86/Kconfig.cpu:	bool "Winchip-C6"
+arch/x86/Kconfig.cpu:	bool "Winchip-2/Winchip-2A/Winchip-3"
+arch/x86/Kconfig.cpu:	  Select this for an IDT Winchip-2, 2A or 3.  Linux and GCC
+arch/x86/Makefile_32.cpu:cflags-$(CONFIG_MWINCHIPC6)	+= $(call cc-option,-march=winchip-c6,-march=i586)
+arch/x86/kernel/apic/io_apic.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+arch/x86/kernel/irq.c:			if (chip->irq_retrigger) {
+arch/x86/kernel/irq.c:				chip->irq_retrigger(data);
+arch/x86/kvm/x86.c:	switch (chip->chip_id) {
+arch/x86/kvm/x86.c:		memcpy(&chip->chip.pic, &pic->pics[0],
+arch/x86/kvm/x86.c:		memcpy(&chip->chip.pic, &pic->pics[1],
+arch/x86/kvm/x86.c:		kvm_get_ioapic(kvm, &chip->chip.ioapic);
+arch/x86/kvm/x86.c:	switch (chip->chip_id) {
+arch/x86/kvm/x86.c:		memcpy(&pic->pics[0], &chip->chip.pic,
+arch/x86/kvm/x86.c:		memcpy(&pic->pics[1], &chip->chip.pic,
+arch/x86/kvm/x86.c:		kvm_set_ioapic(kvm, &chip->chip.ioapic);
+arch/x86/platform/uv/uv_irq.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/acpi/arm64/iort.c:	its_msi_chip->fw_node = fw_node;
+drivers/acpi/arm64/iort.c:	its_msi_chip->translation_id = trans_id;
+drivers/acpi/arm64/iort.c:	its_msi_chip->base_addr = base;
+drivers/acpi/arm64/iort.c:	list_add(&its_msi_chip->list, &iort_msi_chip_list);
+drivers/acpi/arm64/iort.c:		if (its_msi_chip->translation_id == trans_id) {
+drivers/acpi/arm64/iort.c:			list_del(&its_msi_chip->list);
+drivers/acpi/arm64/iort.c:		if (its_msi_chip->translation_id == trans_id) {
+drivers/acpi/arm64/iort.c:			fw_node = its_msi_chip->fw_node;
+drivers/acpi/arm64/iort.c:		if (its_msi_chip->translation_id == its_id) {
+drivers/acpi/arm64/iort.c:			*base = its_msi_chip->base_addr;
+drivers/ata/sata_mv.c:	 * Handle chip-reported errors, or continue on to handle PIO.
+drivers/base/platform-msi.c:	if (!chip->irq_mask)
+drivers/base/platform-msi.c:		chip->irq_mask = irq_chip_mask_parent;
+drivers/base/platform-msi.c:	if (!chip->irq_unmask)
+drivers/base/platform-msi.c:		chip->irq_unmask = irq_chip_unmask_parent;
+drivers/base/platform-msi.c:	if (!chip->irq_eoi)
+drivers/base/platform-msi.c:		chip->irq_eoi = irq_chip_eoi_parent;
+drivers/base/platform-msi.c:	if (!chip->irq_set_affinity)
+drivers/base/platform-msi.c:		chip->irq_set_affinity = msi_domain_set_affinity;
+drivers/base/platform-msi.c:	if (!chip->irq_write_msi_msg)
+drivers/base/platform-msi.c:		chip->irq_write_msi_msg = platform_msi_write_msg;
+drivers/base/platform-msi.c:		    !(chip->flags & IRQCHIP_SUPPORTS_LEVEL_MSI)))
+drivers/base/regmap/regmap-irq.c:	return &data->chip->irqs[irq];
+drivers/base/regmap/regmap-irq.c:	if (d->chip->mask_writeonly)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->runtime_pm) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < d->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			reg = d->chip->status_base +
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < d->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (!d->chip->mask_base)
+drivers/base/regmap/regmap-irq.c:		reg = d->chip->mask_base +
+drivers/base/regmap/regmap-irq.c:		if (d->chip->mask_invert) {
+drivers/base/regmap/regmap-irq.c:		} else if (d->chip->unmask_base) {
+drivers/base/regmap/regmap-irq.c:			unmask_offset = d->chip->unmask_base -
+drivers/base/regmap/regmap-irq.c:							d->chip->mask_base;
+drivers/base/regmap/regmap-irq.c:		reg = d->chip->wake_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->wake_invert)
+drivers/base/regmap/regmap-irq.c:		if (!d->chip->init_ack_masked)
+drivers/base/regmap/regmap-irq.c:		if (d->mask_buf[i] && (d->chip->ack_base || d->chip->use_ack)) {
+drivers/base/regmap/regmap-irq.c:			reg = d->chip->ack_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->ack_invert)
+drivers/base/regmap/regmap-irq.c:	if (!d->chip->type_in_mask) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < d->chip->num_type_reg; i++) {
+drivers/base/regmap/regmap-irq.c:			reg = d->chip->type_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->type_invert)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->runtime_pm)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->type_in_mask && type)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->clear_on_unmask)
+drivers/base/regmap/regmap-irq.c:	if (!chip->sub_reg_offsets) {
+drivers/base/regmap/regmap-irq.c:		ret = regmap_read(map, chip->status_base +
+drivers/base/regmap/regmap-irq.c:		subreg = &chip->sub_reg_offsets[b];
+drivers/base/regmap/regmap-irq.c:			ret = regmap_read(map, chip->status_base + offset,
+drivers/base/regmap/regmap-irq.c:	if (chip->handle_pre_irq)
+drivers/base/regmap/regmap-irq.c:		chip->handle_pre_irq(chip->irq_drv_data);
+drivers/base/regmap/regmap-irq.c:	if (chip->runtime_pm) {
+drivers/base/regmap/regmap-irq.c:	if (chip->num_main_regs) {
+drivers/base/regmap/regmap-irq.c:		size = chip->num_regs * sizeof(unsigned int);
+drivers/base/regmap/regmap-irq.c:		max_main_bits = (chip->num_main_status_bits) ?
+drivers/base/regmap/regmap-irq.c:				 chip->num_main_status_bits : chip->num_regs;
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_main_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			ret = regmap_read(map, chip->main_status +
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_main_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		ret = regmap_bulk_read(map, chip->status_base,
+drivers/base/regmap/regmap-irq.c:				       chip->num_regs);
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < data->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < data->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			ret = regmap_read(map, chip->status_base +
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < data->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (data->status_buf[i] && (chip->ack_base || chip->use_ack)) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->ack_base +
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_irqs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (data->status_buf[chip->irqs[i].reg_offset /
+drivers/base/regmap/regmap-irq.c:				     map->reg_stride] & chip->irqs[i].mask) {
+drivers/base/regmap/regmap-irq.c:	if (chip->runtime_pm)
+drivers/base/regmap/regmap-irq.c:	if (chip->handle_post_irq)
+drivers/base/regmap/regmap-irq.c:		chip->handle_post_irq(chip->irq_drv_data);
+drivers/base/regmap/regmap-irq.c:	if (chip->num_regs <= 0)
+drivers/base/regmap/regmap-irq.c:	if (chip->clear_on_unmask && (chip->ack_base || chip->use_ack))
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_irqs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (chip->irqs[i].reg_offset % map->reg_stride)
+drivers/base/regmap/regmap-irq.c:		if (chip->irqs[i].reg_offset / map->reg_stride >=
+drivers/base/regmap/regmap-irq.c:		    chip->num_regs)
+drivers/base/regmap/regmap-irq.c:		irq_base = irq_alloc_descs(irq_base, 0, chip->num_irqs, 0);
+drivers/base/regmap/regmap-irq.c:	if (chip->num_main_regs) {
+drivers/base/regmap/regmap-irq.c:		d->main_status_buf = kcalloc(chip->num_main_regs,
+drivers/base/regmap/regmap-irq.c:	d->status_buf = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	d->mask_buf = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	d->mask_buf_def = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	if (chip->wake_base) {
+drivers/base/regmap/regmap-irq.c:		d->wake_buf = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	num_type_reg = chip->type_in_mask ? chip->num_regs : chip->num_type_reg;
+drivers/base/regmap/regmap-irq.c:	d->irq_chip.name = chip->name;
+drivers/base/regmap/regmap-irq.c:	if (chip->irq_reg_stride)
+drivers/base/regmap/regmap-irq.c:		d->irq_reg_stride = chip->irq_reg_stride;
+drivers/base/regmap/regmap-irq.c:	if (chip->type_reg_stride)
+drivers/base/regmap/regmap-irq.c:		d->type_reg_stride = chip->type_reg_stride;
+drivers/base/regmap/regmap-irq.c:		d->status_reg_buf = kmalloc_array(chip->num_regs,
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_irqs; i++)
+drivers/base/regmap/regmap-irq.c:		d->mask_buf_def[chip->irqs[i].reg_offset / map->reg_stride]
+drivers/base/regmap/regmap-irq.c:			|= chip->irqs[i].mask;
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (!chip->mask_base)
+drivers/base/regmap/regmap-irq.c:		reg = chip->mask_base +
+drivers/base/regmap/regmap-irq.c:		if (chip->mask_invert)
+drivers/base/regmap/regmap-irq.c:		else if (d->chip->unmask_base) {
+drivers/base/regmap/regmap-irq.c:			unmask_offset = d->chip->unmask_base -
+drivers/base/regmap/regmap-irq.c:					d->chip->mask_base;
+drivers/base/regmap/regmap-irq.c:		if (!chip->init_ack_masked)
+drivers/base/regmap/regmap-irq.c:		reg = chip->status_base +
+drivers/base/regmap/regmap-irq.c:		if (d->status_buf[i] && (chip->ack_base || chip->use_ack)) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->ack_base +
+drivers/base/regmap/regmap-irq.c:			if (chip->ack_invert)
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->wake_base +
+drivers/base/regmap/regmap-irq.c:			if (chip->wake_invert)
+drivers/base/regmap/regmap-irq.c:	if (chip->num_type_reg && !chip->type_in_mask) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_type_reg; ++i) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->type_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->type_invert)
+drivers/base/regmap/regmap-irq.c:						  chip->num_irqs, irq_base, 0,
+drivers/base/regmap/regmap-irq.c:						  chip->num_irqs,
+drivers/base/regmap/regmap-irq.c:				   chip->name, d);
+drivers/base/regmap/regmap-irq.c:			irq, chip->name, ret);
+drivers/base/regmap/regmap-irq.c:	for (hwirq = 0; hwirq < d->chip->num_irqs; hwirq++) {
+drivers/base/regmap/regmap-irq.c:		if (!d->chip->irqs[hwirq].mask)
+drivers/base/regmap/regmap-irq.c:	if (!data->chip->irqs[irq].mask)
+drivers/bcma/driver_gpio.c:	chip->label		= "bcma_gpio";
+drivers/bcma/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/bcma/driver_gpio.c:	chip->request		= bcma_gpio_request;
+drivers/bcma/driver_gpio.c:	chip->free		= bcma_gpio_free;
+drivers/bcma/driver_gpio.c:	chip->get		= bcma_gpio_get_value;
+drivers/bcma/driver_gpio.c:	chip->set		= bcma_gpio_set_value;
+drivers/bcma/driver_gpio.c:	chip->direction_input	= bcma_gpio_direction_input;
+drivers/bcma/driver_gpio.c:	chip->direction_output	= bcma_gpio_direction_output;
+drivers/bcma/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/bcma/driver_gpio.c:	chip->parent		= bus->dev;
+drivers/bcma/driver_gpio.c:	chip->of_node		= cc->core->dev.of_node;
+drivers/bcma/driver_gpio.c:		chip->ngpio	= 32;
+drivers/bcma/driver_gpio.c:		chip->ngpio	= 16;
+drivers/bcma/driver_gpio.c:		chip->base		= bus->num * BCMA_GPIO_MAX_PINS;
+drivers/bcma/driver_gpio.c:		chip->base		= -1;
+drivers/bus/fsl-mc/fsl-mc-msi.c:	if (!chip->irq_write_msi_msg)
+drivers/bus/fsl-mc/fsl-mc-msi.c:		chip->irq_write_msi_msg = fsl_mc_msi_write_msg;
+drivers/bus/tegra-gmi.c:	 * chip-select address decoding. Which means that we only have one
+drivers/bus/tegra-gmi.c:	 * chip-select line from the GMI controller.
+drivers/char/tpm/eventlog/acpi.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/eventlog/acpi.c:	log = &chip->log;
+drivers/char/tpm/eventlog/acpi.c:	if (!chip->acpi_dev_handle)
+drivers/char/tpm/eventlog/acpi.c:		dev_warn(&chip->dev, "%s: TCPA log area empty\n", __func__);
+drivers/char/tpm/eventlog/common.c:	get_device(&chip->dev);
+drivers/char/tpm/eventlog/common.c:	put_device(&chip->dev);
+drivers/char/tpm/eventlog/common.c:	if (chip->log.bios_event_log != NULL) {
+drivers/char/tpm/eventlog/common.c:		dev_dbg(&chip->dev,
+drivers/char/tpm/eventlog/common.c:	const char *name = dev_name(&chip->dev);
+drivers/char/tpm/eventlog/common.c:	chip->bios_dir[cnt] = securityfs_create_dir(name, NULL);
+drivers/char/tpm/eventlog/common.c:	if (IS_ERR(chip->bios_dir[cnt]))
+drivers/char/tpm/eventlog/common.c:	chip->bin_log_seqops.chip = chip;
+drivers/char/tpm/eventlog/common.c:		chip->bin_log_seqops.seqops =
+drivers/char/tpm/eventlog/common.c:		chip->bin_log_seqops.seqops =
+drivers/char/tpm/eventlog/common.c:	chip->bios_dir[cnt] =
+drivers/char/tpm/eventlog/common.c:				   0440, chip->bios_dir[0],
+drivers/char/tpm/eventlog/common.c:				   (void *)&chip->bin_log_seqops,
+drivers/char/tpm/eventlog/common.c:	if (IS_ERR(chip->bios_dir[cnt]))
+drivers/char/tpm/eventlog/common.c:	if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) {
+drivers/char/tpm/eventlog/common.c:		chip->ascii_log_seqops.chip = chip;
+drivers/char/tpm/eventlog/common.c:		chip->ascii_log_seqops.seqops =
+drivers/char/tpm/eventlog/common.c:		chip->bios_dir[cnt] =
+drivers/char/tpm/eventlog/common.c:					       0440, chip->bios_dir[0],
+drivers/char/tpm/eventlog/common.c:					       (void *)&chip->ascii_log_seqops,
+drivers/char/tpm/eventlog/common.c:		if (IS_ERR(chip->bios_dir[cnt]))
+drivers/char/tpm/eventlog/common.c:	rc = PTR_ERR(chip->bios_dir[cnt]);
+drivers/char/tpm/eventlog/common.c:	chip->bios_dir[cnt] = NULL;
+drivers/char/tpm/eventlog/common.c:		if (chip->bios_dir[i]) {
+drivers/char/tpm/eventlog/common.c:			inode = d_inode(chip->bios_dir[i]);
+drivers/char/tpm/eventlog/common.c:			securityfs_remove(chip->bios_dir[i]);
+drivers/char/tpm/eventlog/efi.c:	if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
+drivers/char/tpm/eventlog/efi.c:	log = &chip->log;
+drivers/char/tpm/eventlog/of.c:	log = &chip->log;
+drivers/char/tpm/eventlog/of.c:	if (chip->dev.parent && chip->dev.parent->of_node)
+drivers/char/tpm/eventlog/of.c:		np = chip->dev.parent->of_node;
+drivers/char/tpm/eventlog/of.c:		chip->flags |= TPM_CHIP_FLAG_ALWAYS_POWERED;
+drivers/char/tpm/eventlog/of.c:		dev_warn(&chip->dev, "%s: Event log area empty\n", __func__);
+drivers/char/tpm/eventlog/of.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/eventlog/tpm1.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm1.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm2.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm2.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm2.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/st33zp24/i2c.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/i2c.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/i2c.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/spi.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/spi.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/spi.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	stop = jiffies + chip->timeout_d;
+drivers/char/tpm/st33zp24/st33zp24.c:	u8 status = chip->ops->status(chip);
+drivers/char/tpm/st33zp24/st33zp24.c:	if (check_cancel && chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/st33zp24/st33zp24.c:			status = chip->ops->status(chip);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:			     chip->timeout_c,
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:		    (chip, TPM_STS_COMMAND_READY, chip->timeout_b,
+drivers/char/tpm/st33zp24/st33zp24.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/st33zp24/st33zp24.c:		dev_err(&chip->dev, "Unable to read header\n");
+drivers/char/tpm/st33zp24/st33zp24.c:		dev_err(&chip->dev, "Unable to read remainder of result\n");
+drivers/char/tpm/st33zp24/st33zp24.c:	dev_set_drvdata(&chip->dev, tpm_dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_a = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_b = msecs_to_jiffies(TIS_LONG_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:			dev_err(&chip->dev, "TPM SERIRQ signals %d not available\n",
+drivers/char/tpm/st33zp24/st33zp24.c:		chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/st33zp24/st33zp24.c:	dev_info(&chip->dev, "TPM initialization fail\n");
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:				TPM_STS_VALID, chip->timeout_b,
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->request_locality)
+drivers/char/tpm/tpm-chip.c:	rc = chip->ops->request_locality(chip, 0);
+drivers/char/tpm/tpm-chip.c:	chip->locality = rc;
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->relinquish_locality)
+drivers/char/tpm/tpm-chip.c:	rc = chip->ops->relinquish_locality(chip, chip->locality);
+drivers/char/tpm/tpm-chip.c:		dev_err(&chip->dev, "%s: : error %d\n", __func__, rc);
+drivers/char/tpm/tpm-chip.c:	chip->locality = -1;
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->cmd_ready)
+drivers/char/tpm/tpm-chip.c:	return chip->ops->cmd_ready(chip);
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->go_idle)
+drivers/char/tpm/tpm-chip.c:	return chip->ops->go_idle(chip);
+drivers/char/tpm/tpm-chip.c:	if (chip->ops->clk_enable)
+drivers/char/tpm/tpm-chip.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm-chip.c:	if (chip->ops->clk_enable)
+drivers/char/tpm/tpm-chip.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm-chip.c:	if (chip->locality == -1) {
+drivers/char/tpm/tpm-chip.c:	get_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	down_read(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops)
+drivers/char/tpm/tpm-chip.c:	mutex_lock(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	mutex_unlock(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	up_read(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	mutex_unlock(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	up_read(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:			get_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	idr_remove(&dev_nums_idr, chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->log.bios_event_log);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->work_space.context_buf);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->work_space.session_buf);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->allocated_banks);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	down_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-chip.c:	chip->ops = NULL;
+drivers/char/tpm/tpm-chip.c:	up_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c: * device number for it. Must be paired with put_device(&chip->dev).
+drivers/char/tpm/tpm-chip.c:	mutex_init(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	init_rwsem(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	chip->ops = ops;
+drivers/char/tpm/tpm-chip.c:	chip->dev_num = rc;
+drivers/char/tpm/tpm-chip.c:	device_initialize(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	device_initialize(&chip->devs);
+drivers/char/tpm/tpm-chip.c:	chip->dev.class = tpm_class;
+drivers/char/tpm/tpm-chip.c:	chip->dev.class->shutdown_pre = tpm_class_shutdown;
+drivers/char/tpm/tpm-chip.c:	chip->dev.release = tpm_dev_release;
+drivers/char/tpm/tpm-chip.c:	chip->dev.parent = pdev;
+drivers/char/tpm/tpm-chip.c:	chip->dev.groups = chip->groups;
+drivers/char/tpm/tpm-chip.c:	chip->devs.parent = pdev;
+drivers/char/tpm/tpm-chip.c:	chip->devs.class = tpmrm_class;
+drivers/char/tpm/tpm-chip.c:	chip->devs.release = tpm_devs_release;
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-chip.c:		get_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	if (chip->dev_num == 0)
+drivers/char/tpm/tpm-chip.c:		chip->dev.devt = MKDEV(MISC_MAJOR, TPM_MINOR);
+drivers/char/tpm/tpm-chip.c:		chip->dev.devt = MKDEV(MAJOR(tpm_devt), chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	chip->devs.devt =
+drivers/char/tpm/tpm-chip.c:		MKDEV(MAJOR(tpm_devt), chip->dev_num + TPM_NUM_DEVICES);
+drivers/char/tpm/tpm-chip.c:	rc = dev_set_name(&chip->dev, "tpm%d", chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	rc = dev_set_name(&chip->devs, "tpmrm%d", chip->dev_num);
+drivers/char/tpm/tpm-chip.c:		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
+drivers/char/tpm/tpm-chip.c:	cdev_init(&chip->cdev, &tpm_fops);
+drivers/char/tpm/tpm-chip.c:	cdev_init(&chip->cdevs, &tpmrm_fops);
+drivers/char/tpm/tpm-chip.c:	chip->cdev.owner = THIS_MODULE;
+drivers/char/tpm/tpm-chip.c:	chip->cdevs.owner = THIS_MODULE;
+drivers/char/tpm/tpm-chip.c:	chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
+drivers/char/tpm/tpm-chip.c:	if (!chip->work_space.context_buf) {
+drivers/char/tpm/tpm-chip.c:	chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
+drivers/char/tpm/tpm-chip.c:	if (!chip->work_space.session_buf) {
+drivers/char/tpm/tpm-chip.c:	chip->locality = -1;
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->devs);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:				      &chip->dev);
+drivers/char/tpm/tpm-chip.c:	rc = cdev_device_add(&chip->cdev, &chip->dev);
+drivers/char/tpm/tpm-chip.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm-chip.c:			dev_name(&chip->dev), MAJOR(chip->dev.devt),
+drivers/char/tpm/tpm-chip.c:			MINOR(chip->dev.devt), rc);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-chip.c:		rc = cdev_device_add(&chip->cdevs, &chip->devs);
+drivers/char/tpm/tpm-chip.c:			dev_err(&chip->devs,
+drivers/char/tpm/tpm-chip.c:				dev_name(&chip->devs), MAJOR(chip->devs.devt),
+drivers/char/tpm/tpm-chip.c:				MINOR(chip->devs.devt), rc);
+drivers/char/tpm/tpm-chip.c:	idr_replace(&dev_nums_idr, chip, chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	cdev_device_del(&chip->cdev, &chip->dev);
+drivers/char/tpm/tpm-chip.c:	idr_replace(&dev_nums_idr, NULL, chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	down_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-chip.c:	chip->ops = NULL;
+drivers/char/tpm/tpm-chip.c:	up_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & (TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_VIRTUAL))
+drivers/char/tpm/tpm-chip.c:	sysfs_remove_link(&chip->dev.parent->kobj, "ppi");
+drivers/char/tpm/tpm-chip.c:	for (i = chip->groups[0]->attrs; *i != NULL; ++i)
+drivers/char/tpm/tpm-chip.c:		sysfs_remove_link(&chip->dev.parent->kobj, (*i)->name);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & (TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_VIRTUAL))
+drivers/char/tpm/tpm-chip.c:		    &chip->dev.parent->kobj, &chip->dev.kobj, "ppi");
+drivers/char/tpm/tpm-chip.c:	for (i = chip->groups[0]->attrs; *i != NULL; ++i) {
+drivers/char/tpm/tpm-chip.c:		    &chip->dev.parent->kobj, &chip->dev.kobj, (*i)->name);
+drivers/char/tpm/tpm-chip.c:	snprintf(chip->hwrng_name, sizeof(chip->hwrng_name),
+drivers/char/tpm/tpm-chip.c:		 "tpm-rng-%d", chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	chip->hwrng.name = chip->hwrng_name;
+drivers/char/tpm/tpm-chip.c:	chip->hwrng.read = tpm_hwrng_read;
+drivers/char/tpm/tpm-chip.c:	return hwrng_register(&chip->hwrng);
+drivers/char/tpm/tpm-chip.c:	rc = (chip->flags & TPM_CHIP_FLAG_TPM2) ?
+drivers/char/tpm/tpm-chip.c:		hwrng_unregister(&chip->hwrng);
+drivers/char/tpm/tpm-chip.c:		hwrng_unregister(&chip->hwrng);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-chip.c:		cdev_device_del(&chip->cdevs, &chip->devs);
+drivers/char/tpm/tpm-dev.c:	if (test_and_set_bit(0, &chip->is_open)) {
+drivers/char/tpm/tpm-dev.c:		dev_dbg(&chip->dev, "Another process owns this TPM\n");
+drivers/char/tpm/tpm-dev.c:	clear_bit(0, &chip->is_open);
+drivers/char/tpm/tpm-dev.c:	clear_bit(0, &priv->chip->is_open);
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm-interface.c:	rc = chip->ops->send(chip, buf, count);
+drivers/char/tpm/tpm-interface.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm-interface.c:		dev_warn(&chip->dev,
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ)
+drivers/char/tpm/tpm-interface.c:		u8 status = chip->ops->status(chip);
+drivers/char/tpm/tpm-interface.c:		if ((status & chip->ops->req_complete_mask) ==
+drivers/char/tpm/tpm-interface.c:		    chip->ops->req_complete_val)
+drivers/char/tpm/tpm-interface.c:		if (chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/tpm-interface.c:			dev_err(&chip->dev, "Operation Canceled\n");
+drivers/char/tpm/tpm-interface.c:	chip->ops->cancel(chip);
+drivers/char/tpm/tpm-interface.c:	dev_err(&chip->dev, "Operation Timed out\n");
+drivers/char/tpm/tpm-interface.c:	len = chip->ops->recv(chip, buf, bufsiz);
+drivers/char/tpm/tpm-interface.c:		dev_err(&chip->dev, "tpm_transmit: tpm_recv: error %d\n", rc);
+drivers/char/tpm/tpm-interface.c:				dev_err(&chip->dev, "in retry loop\n");
+drivers/char/tpm/tpm-interface.c:				dev_err(&chip->dev,
+drivers/char/tpm/tpm-interface.c:		dev_err(&chip->dev, "A TPM error (%d) occurred %s\n", err,
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_HAVE_TIMEOUTS)
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:	rc = (chip->flags & TPM_CHIP_FLAG_TPM2) != 0;
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c: * order of the banks in chip->allocated_banks.
+drivers/char/tpm/tpm-interface.c:	for (i = 0; i < chip->nr_allocated_banks; i++) {
+drivers/char/tpm/tpm-interface.c:		if (digests[i].alg_id != chip->allocated_banks[i].alg_id) {
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-interface.c:	if (!(chip->ops->flags & TPM_OPS_AUTO_STARTUP))
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_ALWAYS_POWERED)
+drivers/char/tpm/tpm-interface.c:	if ((chip->flags & TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED) &&
+drivers/char/tpm/tpm-interface.c:		if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-sysfs.c:	chip->ops->cancel(chip);
+drivers/char/tpm/tpm-sysfs.c:	if (chip->duration[TPM_LONG] == 0)
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->duration[TPM_SHORT]),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->duration[TPM_MEDIUM]),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->duration[TPM_LONG]),
+drivers/char/tpm/tpm-sysfs.c:		       chip->duration_adjusted
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_a),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_b),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_c),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_d),
+drivers/char/tpm/tpm-sysfs.c:		       chip->timeout_adjusted
+drivers/char/tpm/tpm-sysfs.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-sysfs.c:	WARN_ON(chip->groups_cnt != 0);
+drivers/char/tpm/tpm-sysfs.c:	chip->groups[chip->groups_cnt++] = &tpm_dev_group;
+drivers/char/tpm/tpm1-cmd.c:		duration = chip->duration[duration_idx];
+drivers/char/tpm/tpm1-cmd.c:	dev_info(&chip->dev, "starting up the TPM manually\n");
+drivers/char/tpm/tpm1-cmd.c:		dev_err(&chip->dev, "A TPM error (%zd) occurred attempting to determine the timeouts\n",
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[0] = jiffies_to_usecs(chip->timeout_a);
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[1] = jiffies_to_usecs(chip->timeout_b);
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[2] = jiffies_to_usecs(chip->timeout_c);
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[3] = jiffies_to_usecs(chip->timeout_d);
+drivers/char/tpm/tpm1-cmd.c:	if (chip->ops->update_timeouts)
+drivers/char/tpm/tpm1-cmd.c:		chip->ops->update_timeouts(chip, timeout_eff);
+drivers/char/tpm/tpm1-cmd.c:	if (!chip->timeout_adjusted) {
+drivers/char/tpm/tpm1-cmd.c:			chip->timeout_adjusted = true;
+drivers/char/tpm/tpm1-cmd.c:			chip->timeout_adjusted = true;
+drivers/char/tpm/tpm1-cmd.c:	if (chip->timeout_adjusted) {
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, HW_ERR "Adjusting reported timeouts: A %lu->%luus B %lu->%luus C %lu->%luus D %lu->%luus\n",
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_a = usecs_to_jiffies(timeout_eff[0]);
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_b = usecs_to_jiffies(timeout_eff[1]);
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_c = usecs_to_jiffies(timeout_eff[2]);
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_d = usecs_to_jiffies(timeout_eff[3]);
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_SHORT] =
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_MEDIUM] =
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_LONG] =
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_LONG_LONG] = 0; /* not used under 1.2 */
+drivers/char/tpm/tpm1-cmd.c:	if (chip->ops->update_durations)
+drivers/char/tpm/tpm1-cmd.c:		chip->ops->update_durations(chip, durations);
+drivers/char/tpm/tpm1-cmd.c:	if (chip->duration_adjusted) {
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, HW_ERR "Adjusting reported durations.");
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_SHORT] = durations[0];
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_MEDIUM] = durations[1];
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_LONG] = durations[2];
+drivers/char/tpm/tpm1-cmd.c:	if (chip->duration[TPM_SHORT] < (HZ / 100)) {
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_SHORT] = HZ;
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_MEDIUM] *= 1000;
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_LONG] *= 1000;
+drivers/char/tpm/tpm1-cmd.c:		chip->duration_adjusted = true;
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, "Adjusting TPM timeout parameters.");
+drivers/char/tpm/tpm1-cmd.c:	chip->flags |= TPM_CHIP_FLAG_HAVE_TIMEOUTS;
+drivers/char/tpm/tpm1-cmd.c:		chip->flags |= TPM_CHIP_FLAG_ALWAYS_POWERED;
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, "TPM not ready (%d)\n", rc);
+drivers/char/tpm/tpm1-cmd.c:			dev_info(&chip->dev, HW_ERR "TPM command timed out during continue self test");
+drivers/char/tpm/tpm1-cmd.c:			dev_info(&chip->dev, "TPM is disabled/deactivated (0x%X)\n",
+drivers/char/tpm/tpm1-cmd.c:		dev_err(&chip->dev, "TPM self test failed\n");
+drivers/char/tpm/tpm1-cmd.c:		dev_err(&chip->dev, "Error (%d) sending savestate before suspend\n",
+drivers/char/tpm/tpm1-cmd.c:		dev_warn(&chip->dev, "TPM savestate took %dms\n",
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks = kcalloc(1, sizeof(*chip->allocated_banks),
+drivers/char/tpm/tpm1-cmd.c:	if (!chip->allocated_banks)
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks[0].alg_id = TPM_ALG_SHA1;
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks[0].digest_size = hash_digest_size[HASH_ALGO_SHA1];
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks[0].crypto_id = HASH_ALGO_SHA1;
+drivers/char/tpm/tpm1-cmd.c:	chip->nr_allocated_banks = 1;
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_a = msecs_to_jiffies(TPM2_TIMEOUT_A);
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_b = msecs_to_jiffies(TPM2_TIMEOUT_B);
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_c = msecs_to_jiffies(TPM2_TIMEOUT_C);
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_d = msecs_to_jiffies(TPM2_TIMEOUT_D);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_SHORT] = msecs_to_jiffies(TPM2_DURATION_SHORT);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_MEDIUM] = msecs_to_jiffies(TPM2_DURATION_MEDIUM);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_LONG] = msecs_to_jiffies(TPM2_DURATION_LONG);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_LONG_LONG] =
+drivers/char/tpm/tpm2-cmd.c:	chip->flags |= TPM_CHIP_FLAG_HAVE_TIMEOUTS;
+drivers/char/tpm/tpm2-cmd.c:		return chip->duration[index];
+drivers/char/tpm/tpm2-cmd.c:		for (i = 0; i < chip->nr_allocated_banks &&
+drivers/char/tpm/tpm2-cmd.c:		     chip->allocated_banks[i].alg_id != digest->alg_id; i++)
+drivers/char/tpm/tpm2-cmd.c:		if (i == chip->nr_allocated_banks)
+drivers/char/tpm/tpm2-cmd.c:		expected_digest_size = chip->allocated_banks[i].digest_size;
+drivers/char/tpm/tpm2-cmd.c:	tpm_buf_append_u32(&buf, chip->nr_allocated_banks);
+drivers/char/tpm/tpm2-cmd.c:	for (i = 0; i < chip->nr_allocated_banks; i++) {
+drivers/char/tpm/tpm2-cmd.c:			       chip->allocated_banks[i].digest_size);
+drivers/char/tpm/tpm2-cmd.c:		dev_warn(&chip->dev, "0x%08x was not flushed, out of memory\n",
+drivers/char/tpm/tpm2-cmd.c:			chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm2-cmd.c:	struct tpm_bank_info *bank = chip->allocated_banks + bank_index;
+drivers/char/tpm/tpm2-cmd.c:	chip->allocated_banks = kcalloc(nr_possible_banks,
+drivers/char/tpm/tpm2-cmd.c:					sizeof(*chip->allocated_banks),
+drivers/char/tpm/tpm2-cmd.c:	if (!chip->allocated_banks) {
+drivers/char/tpm/tpm2-cmd.c:			chip->allocated_banks[nr_alloc_banks].alg_id = hash_alg;
+drivers/char/tpm/tpm2-cmd.c:	chip->nr_allocated_banks = nr_alloc_banks;
+drivers/char/tpm/tpm2-cmd.c:	chip->cc_attrs_tbl = devm_kcalloc(&chip->dev, 4, nr_commands,
+drivers/char/tpm/tpm2-cmd.c:	if (!chip->cc_attrs_tbl) {
+drivers/char/tpm/tpm2-cmd.c:	chip->nr_commands = nr_commands;
+drivers/char/tpm/tpm2-cmd.c:		chip->cc_attrs_tbl[i] = be32_to_cpup(attrs);
+drivers/char/tpm/tpm2-cmd.c:		cc = chip->cc_attrs_tbl[i] & 0xFFFF;
+drivers/char/tpm/tpm2-cmd.c:			chip->cc_attrs_tbl[i] &=
+drivers/char/tpm/tpm2-cmd.c:			chip->cc_attrs_tbl[i] |= 1 << TPM2_CC_ATTR_CHANDLES;
+drivers/char/tpm/tpm2-cmd.c:	dev_info(&chip->dev, "starting up the TPM manually\n");
+drivers/char/tpm/tpm2-cmd.c:	for (i = 0; i < chip->nr_commands; i++)
+drivers/char/tpm/tpm2-cmd.c:		if (cc == (chip->cc_attrs_tbl[i] & GENMASK(15, 0)))
+drivers/char/tpm/tpm2-space.c:	mutex_lock(&chip->tpm_mutex);
+drivers/char/tpm/tpm2-space.c:	mutex_unlock(&chip->tpm_mutex);
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a system error %d\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a TPM error 0x%04X\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a system error %d\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a TPM error 0x%04X\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: out of backing storage\n", __func__);
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:			dev_err(&chip->dev, "context table is inconsistent");
+drivers/char/tpm/tpm2-space.c:			dev_warn(&chip->dev, "session restored to wrong handle\n");
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	attrs = chip->cc_attrs_tbl[i];
+drivers/char/tpm/tpm2-space.c:	if (len < TPM_HEADER_SIZE || !chip->nr_commands)
+drivers/char/tpm/tpm2-space.c:		dev_dbg(&chip->dev, "0x%04X is an invalid command\n",
+drivers/char/tpm/tpm2-space.c:	attrs = chip->cc_attrs_tbl[i];
+drivers/char/tpm/tpm2-space.c:	dev_dbg(&chip->dev, "%s: insufficient command length %zu", __func__,
+drivers/char/tpm/tpm2-space.c:	memcpy(&chip->work_space.context_tbl, &space->context_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(&chip->work_space.session_tbl, &space->session_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(chip->work_space.context_buf, space->context_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	memcpy(chip->work_space.session_buf, space->session_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	chip->last_cc = cc;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	attrs = chip->cc_attrs_tbl[i];
+drivers/char/tpm/tpm2-space.c:		dev_err(&chip->dev, "%s: unknown handle 0x%08X\n",
+drivers/char/tpm/tpm2-space.c:	dev_warn(&chip->dev, "%s: out of slots for 0x%08X\n", __func__,
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	rc = tpm2_map_response_header(chip, chip->last_cc, buf, *bufsiz);
+drivers/char/tpm/tpm2-space.c:	rc = tpm2_map_response_body(chip, chip->last_cc, buf, *bufsiz);
+drivers/char/tpm/tpm2-space.c:	memcpy(&space->context_tbl, &chip->work_space.context_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(&space->session_tbl, &chip->work_space.session_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(space->context_buf, chip->work_space.context_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	memcpy(space->session_buf, chip->work_space.session_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	dev_err(&chip->dev, "%s: error %d\n", __func__, rc);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:			dev_err(&chip->dev, "error reading header\n");
+drivers/char/tpm/tpm_atmel.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_atmel.c:				dev_err(&chip->dev, "error reading data\n");
+drivers/char/tpm/tpm_atmel.c:			dev_err(&chip->dev, "error reading data\n");
+drivers/char/tpm/tpm_atmel.c:		dev_err(&chip->dev, "data available is stuck\n");
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	dev_dbg(&chip->dev, "tpm_atml_send:\n");
+drivers/char/tpm/tpm_atmel.c:		dev_dbg(&chip->dev, "%d 0x%x(%d)\n",  i, buf[i], buf[i]);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_crb.c:	struct device *dev = &chip->dev;
+drivers/char/tpm/tpm_crb.c:	struct device *dev = &chip->dev;
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	return __crb_request_locality(&chip->dev, priv, loc);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	return __crb_relinquish_locality(&chip->dev, priv, loc);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	obj = acpi_evaluate_dsm(chip->acpi_dev_handle,
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:		dev_err(&chip->dev, "invalid command count value %zd %d\n",
+drivers/char/tpm/tpm_crb.c:		rc = tpm_crb_smc_start(&chip->dev, priv->smc_func_id);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:		dev_err(&chip->dev, "ACPI Start failed\n");
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_crb.c:	chip->acpi_dev_handle = device->handle;
+drivers/char/tpm/tpm_crb.c:	chip->flags = TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_ftpm_tee.c:	struct ftpm_tee_private *pvt_data = dev_get_drvdata(chip->dev.parent);
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_ftpm_tee.c:	struct ftpm_tee_private *pvt_data = dev_get_drvdata(chip->dev.parent);
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: tee_shm_get_va failed for transmit\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: SUBMIT_COMMAND invoke error: 0x%x\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: tee_shm_get_va failed for receive\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: tpm response header too small\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_ftpm_tee.c:	pvt_data->chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_ftpm_tee.c:	put_device(&pvt_data->chip->dev);
+drivers/char/tpm/tpm_ftpm_tee.c:	put_device(&pvt_data->chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_atmel.c:		dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_err(&chip->dev, "TPM operation cancellation was requested, but is not supported");
+drivers/char/tpm/tpm_i2c_atmel.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_a = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_b = msecs_to_jiffies(TPM_I2C_LONG_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_c = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_d = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_i2c_infineon.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_i2c_infineon.c:	stop = jiffies + chip->timeout_d;
+drivers/char/tpm/tpm_i2c_infineon.c:		dev_err(&chip->dev, "Unable to read header\n");
+drivers/char/tpm/tpm_i2c_infineon.c:		dev_err(&chip->dev, "Unable to read remainder of result\n");
+drivers/char/tpm/tpm_i2c_infineon.c:	wait_for_stat(chip, TPM_STS_VALID, chip->timeout_c, &status);
+drivers/char/tpm/tpm_i2c_infineon.c:		dev_err(&chip->dev, "Error left over data\n");
+drivers/char/tpm/tpm_i2c_infineon.c:		     chip->timeout_b, &status) < 0) {
+drivers/char/tpm/tpm_i2c_infineon.c:			      chip->timeout_c, &status);
+drivers/char/tpm/tpm_i2c_infineon.c:	wait_for_stat(chip, TPM_STS_VALID, chip->timeout_c, &status);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_a = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_b = msecs_to_jiffies(TIS_LONG_TIMEOUT);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_nuvoton.c:		dev_err(&chip->dev, "%s() error return %d\n", __func__,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_nuvoton.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	unsigned long stop = jiffies + chip->timeout_d;
+drivers/char/tpm/tpm_i2c_nuvoton.c:	if ((chip->flags & TPM_CHIP_FLAG_IRQ) && queue) {
+drivers/char/tpm/tpm_i2c_nuvoton.c:		struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	dev_err(&chip->dev, "%s(%02x, %02x) -> timeout\n", __func__, mask,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:					       chip->timeout_c,
+drivers/char/tpm/tpm_i2c_nuvoton.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_i2c_nuvoton.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_i2c_nuvoton.c:		dev_dbg(&chip->dev, "%s(%d):", __func__, bytes2read);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct device *dev = chip->dev.parent;
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip, chip->timeout_c, &priv->read_queue);
+drivers/char/tpm/tpm_i2c_nuvoton.c:			    TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	dev_dbg(&chip->dev, "%s() -> %d\n", __func__, size);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct device *dev = chip->dev.parent;
+drivers/char/tpm/tpm_i2c_nuvoton.c:					      chip->timeout_b, NULL)) {
+drivers/char/tpm/tpm_i2c_nuvoton.c:						       chip->timeout_c,
+drivers/char/tpm/tpm_i2c_nuvoton.c:					       chip->timeout_c, NULL);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_a = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_b = msecs_to_jiffies(TPM_I2C_LONG_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_c = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_d = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_i2c_nuvoton.c:				      dev_name(&chip->dev),
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_i2c_nuvoton.c:						       chip->timeout_b,
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:		ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	dev_set_drvdata(&chip->dev, ibmvtpm);
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev, "Timeout in wait(STAT_XFE)\n");
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev, "Timeout in wait(STAT_RDA)\n");
+drivers/char/tpm/tpm_infineon.c:	dev_info(&chip->dev, "Granting WTX (%02d / %02d)\n",
+drivers/char/tpm/tpm_infineon.c:	dev_info(&chip->dev, "Aborting WTX\n");
+drivers/char/tpm/tpm_infineon.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev, "Error handling on vendor layer!\n");
+drivers/char/tpm/tpm_infineon.c:		dev_info(&chip->dev, "WTX-package received\n");
+drivers/char/tpm/tpm_infineon.c:		dev_info(&chip->dev, "WTX-abort acknowledged\n");
+drivers/char/tpm/tpm_infineon.c:		dev_err(&chip->dev, "ERROR-package received:\n");
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_infineon.c:		dev_err(&chip->dev, "Timeout while clearing FIFO\n");
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	dev_info(&chip->dev, "wait for ready failed\n");
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "F0 timeout\n");
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "not in normal mode (0x%x)\n",
+drivers/char/tpm/tpm_nsc.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "F0 not set\n");
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "IBF timeout\n");
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "IBR timeout\n");
+drivers/char/tpm/tpm_nsc.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "IBF timeout\n");
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_ppi.c:	return scnprintf(buf, PAGE_SIZE, "%s\n", chip->ppi_version);
+drivers/char/tpm/tpm_ppi.c:	if (strcmp(chip->ppi_version, "1.2") < 0)
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, TPM_PPI_FN_GETREQ,
+drivers/char/tpm/tpm_ppi.c:	if (acpi_check_dsm(chip->acpi_dev_handle, &tpm_ppi_guid,
+drivers/char/tpm/tpm_ppi.c:	if (strcmp(chip->ppi_version, "1.3") == 0) {
+drivers/char/tpm/tpm_ppi.c:	} else if (strcmp(chip->ppi_version, "1.2") < 0) {
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, func, ACPI_TYPE_INTEGER,
+drivers/char/tpm/tpm_ppi.c:	if (strcmp(chip->ppi_version, "1.2") < 0)
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, TPM_PPI_FN_GETACT,
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, TPM_PPI_FN_GETRSP,
+drivers/char/tpm/tpm_ppi.c:	return show_ppi_operations(chip->acpi_dev_handle, buf, 0,
+drivers/char/tpm/tpm_ppi.c:	return show_ppi_operations(chip->acpi_dev_handle, buf, PPI_VS_REQ_START,
+drivers/char/tpm/tpm_ppi.c:	if (!chip->acpi_dev_handle)
+drivers/char/tpm/tpm_ppi.c:	if (!acpi_check_dsm(chip->acpi_dev_handle, &tpm_ppi_guid,
+drivers/char/tpm/tpm_ppi.c:	obj = acpi_evaluate_dsm_typed(chip->acpi_dev_handle, &tpm_ppi_guid,
+drivers/char/tpm/tpm_ppi.c:		strlcpy(chip->ppi_version, obj->string.pointer,
+drivers/char/tpm/tpm_ppi.c:			sizeof(chip->ppi_version));
+drivers/char/tpm/tpm_ppi.c:	chip->groups[chip->groups_cnt++] = &ppi_attr_grp;
+drivers/char/tpm/tpm_tis_core.c:	u8 status = chip->ops->status(chip);
+drivers/char/tpm/tpm_tis_core.c:	if (check_cancel && chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/tpm_tis_core.c:	status = chip->ops->status(chip);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:			status = chip->ops->status(chip);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	unsigned long stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm_tis_core.c:		stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:		stop = jiffies + chip->timeout_d;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:				 chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:			dev_err(&chip->dev, "Unable to read burstcount\n");
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:		dev_err(&chip->dev, "Unable to read header\n");
+drivers/char/tpm/tpm_tis_core.c:		dev_err(&chip->dev, "Unable to read remainder of result\n");
+drivers/char/tpm/tpm_tis_core.c:	if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:		dev_err(&chip->dev, "Error left over data\n");
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:		    (chip, TPM_STS_COMMAND_READY, chip->timeout_b,
+drivers/char/tpm/tpm_tis_core.c:			dev_err(&chip->dev, "Unable to read burstcount\n");
+drivers/char/tpm/tpm_tis_core.c:		if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:	if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	devm_free_irq(chip->dev.parent, priv->irq, chip);
+drivers/char/tpm/tpm_tis_core.c:	chip->flags &= ~TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (!(chip->flags & TPM_CHIP_FLAG_IRQ) || priv->irq_tested)
+drivers/char/tpm/tpm_tis_core.c:	chip->flags &= ~TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:	chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	chip->duration_adjusted = false;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:		dev_warn(&chip->dev, "%s: failed to read did_vid. %d\n",
+drivers/char/tpm/tpm_tis_core.c:			chip->duration_adjusted = true;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_adjusted = false;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:		dev_warn(&chip->dev, "%s: failed to read did_vid: %d\n",
+drivers/char/tpm/tpm_tis_core.c:		chip->timeout_adjusted = true;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:		dev_info(&chip->dev, "Detected an iTPM.\n");
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (devm_request_irq(chip->dev.parent, irq, tis_int_handler, flags,
+drivers/char/tpm/tpm_tis_core.c:			     dev_name(&chip->dev), chip) != 0) {
+drivers/char/tpm/tpm_tis_core.c:		dev_info(&chip->dev, "Unable to request irq: %d for probe\n",
+drivers/char/tpm/tpm_tis_core.c:	if (!(chip->flags & TPM_CHIP_FLAG_IRQ)) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c: * path, since the chip->ops is set to NULL in tpm_chip_unregister().
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *data = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	chip->acpi_dev_handle = acpi_dev_handle;
+drivers/char/tpm/tpm_tis_core.c:	chip->hwrng.quality = priv->rng_quality;
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_a = msecs_to_jiffies(TIS_TIMEOUT_A_MAX);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_b = msecs_to_jiffies(TIS_TIMEOUT_B_MAX);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_c = msecs_to_jiffies(TIS_TIMEOUT_C_MAX);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_d = msecs_to_jiffies(TIS_TIMEOUT_D_MAX);
+drivers/char/tpm/tpm_tis_core.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:		 (chip->flags & TPM_CHIP_FLAG_TPM2) ? "2.0" : "1.2",
+drivers/char/tpm/tpm_tis_core.c:		chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:			if (!(chip->flags & TPM_CHIP_FLAG_IRQ))
+drivers/char/tpm/tpm_tis_core.c:				dev_err(&chip->dev, FW_BUG
+drivers/char/tpm/tpm_tis_core.c:	if ((chip->ops != NULL) && (chip->ops->clk_enable != NULL))
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ)
+drivers/char/tpm/tpm_tis_core.c:	if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
+drivers/char/tpm/tpm_tis_spi_cr50.c:	chip->flags |= TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED;
+drivers/char/tpm/tpm_tis_spi_cr50.c:	struct tpm_tis_data *data = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_vtpm_proxy.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm_vtpm_proxy.c:	dev_set_drvdata(&chip->dev, proxy_dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	put_device(&proxy_dev->chip->dev); /* frees chip */
+drivers/char/tpm/tpm_vtpm_proxy.c:		proxy_dev->chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_vtpm_proxy.c:	vtpm_new_dev->major = MAJOR(proxy_dev->chip->dev.devt);
+drivers/char/tpm/tpm_vtpm_proxy.c:	vtpm_new_dev->minor = MINOR(proxy_dev->chip->dev.devt);
+drivers/char/tpm/tpm_vtpm_proxy.c:	vtpm_new_dev->tpm_num = proxy_dev->chip->dev_num;
+drivers/char/tpm/xen-tpmfront.c:	u8 status = chip->ops->status(chip);
+drivers/char/tpm/xen-tpmfront.c:	if (check_cancel && chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/xen-tpmfront.c:	status = chip->ops->status(chip);
+drivers/char/tpm/xen-tpmfront.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/xen-tpmfront.c:			status = chip->ops->status(chip);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	if (wait_for_tpm_stat(chip, VTPM_STATUS_IDLE, chip->timeout_c,
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	if (wait_for_tpm_stat(chip, VTPM_STATUS_RESULT, chip->timeout_c,
+drivers/char/tpm/xen-tpmfront.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	dev_set_drvdata(&chip->dev, NULL);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:			regmap_write(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:	regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_write(data->chip->regmap, 0x03, pdiv & 0xFF);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x16, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x17, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x26, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x27, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x36, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x37, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x46, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x47, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x14, 0x03, 0x03);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x24, 0x03, 0x03);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x34, 0x03, 0x03);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x44, 0x03, 0x03);
+drivers/clk/davinci/da8xx-cfgchip.c:		.name		= "da8xx-cfgchip-clk",
+drivers/cpufreq/powernv-cpufreq.c:	return sprintf(buf, "%u\n", chip->member);			\
+drivers/cpufreq/powernv-cpufreq.c:		if (chip->throttled)
+drivers/cpufreq/powernv-cpufreq.c:		chip->throttled = true;
+drivers/cpufreq/powernv-cpufreq.c:				     cpu, chip->id, pmsr_pmax,
+drivers/cpufreq/powernv-cpufreq.c:			chip->throttle_sub_turbo++;
+drivers/cpufreq/powernv-cpufreq.c:			chip->throttle_turbo++;
+drivers/cpufreq/powernv-cpufreq.c:		trace_powernv_throttle(chip->id,
+drivers/cpufreq/powernv-cpufreq.c:				      throttle_reason[chip->throttle_reason],
+drivers/cpufreq/powernv-cpufreq.c:	} else if (chip->throttled) {
+drivers/cpufreq/powernv-cpufreq.c:		chip->throttled = false;
+drivers/cpufreq/powernv-cpufreq.c:		trace_powernv_throttle(chip->id,
+drivers/cpufreq/powernv-cpufreq.c:				      throttle_reason[chip->throttle_reason],
+drivers/cpufreq/powernv-cpufreq.c:	cpumask_and(&mask, &chip->mask, cpu_online_mask);
+drivers/cpufreq/powernv-cpufreq.c:	if (!chip->restore)
+drivers/cpufreq/powernv-cpufreq.c:	chip->restore = false;
+drivers/crypto/nx/nx-842-powernv.c:		pr_err("ibm,chip-id missing\n");
+drivers/crypto/nx/nx-842-powernv.c:		pr_err("ibm,chip-id missing\n");
+drivers/devfreq/event/Makefile:obj-$(CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI) += rockchip-dfi.o
+drivers/devfreq/event/rockchip-dfi.c:		.name	= "rockchip-dfi",
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	iowrite32(val, chip->regs + reg);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	return ioread32(chip->regs + reg);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	for (i = 0; i < chip->dw->hdata->nr_channels; i++) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_irq_disable(&chip->dw->chan[i], DWAXIDMAC_IRQ_ALL);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_disable(&chip->dw->chan[i]);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	u32 max_width = chan->chip->dw->hdata->m_data_width;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chan->chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chan->chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	u32 priority = chan->chip->dw->hdata->priority[chan->id];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_get(chan->chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_put(chan->chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (desc->chan->chip->dw->hdata->nr_masters > 1)
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	max_block_ts = chan->chip->dw->hdata->block_size[chan->id];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		if (chan->chip->dw->hdata->restrict_axi_burst_len) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:			u32 burst_len = chan->chip->dw->hdata->axi_rw_burst_len;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		dev_vdbg(chip->dev, "%s %u IRQ status: 0x%08x\n",
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_disable_unprepare(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_disable_unprepare(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	ret = clk_prepare_enable(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	ret = clk_prepare_enable(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct device *dev = chip->dev;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata->nr_channels = tmp;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata->nr_masters = tmp;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata->m_data_width = tmp;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:					     chip->dw->hdata->nr_channels);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	for (tmp = 0; tmp < chip->dw->hdata->nr_channels; tmp++) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->block_size[tmp] = carr[tmp];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:					     chip->dw->hdata->nr_channels);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	for (tmp = 0; tmp < chip->dw->hdata->nr_channels; tmp++) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		if (carr[tmp] >= chip->dw->hdata->nr_channels)
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->priority[tmp] = carr[tmp];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->restrict_axi_burst_len = true;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->axi_rw_burst_len = tmp - 1;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw = dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dev = &pdev->dev;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata = hdata;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (chip->irq < 0)
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return chip->irq;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->regs = devm_ioremap_resource(chip->dev, mem);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (IS_ERR(chip->regs))
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return PTR_ERR(chip->regs);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->core_clk = devm_clk_get(chip->dev, "core-clk");
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (IS_ERR(chip->core_clk))
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return PTR_ERR(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->cfgr_clk = devm_clk_get(chip->dev, "cfgr-clk");
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (IS_ERR(chip->cfgr_clk))
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return PTR_ERR(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dw->chan = devm_kcalloc(chip->dev, hdata->nr_channels,
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	ret = devm_request_irq(chip->dev, chip->irq, dw_axi_dma_interrupt,
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dw->desc_pool = dmam_pool_create(KBUILD_MODNAME, chip->dev,
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		dev_err(chip->dev, "No memory for descriptors dma pool\n");
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chan->chan_regs = chip->regs + COMMON_REG_LEN + i * CHAN_REG_LEN;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dw->dma.dev = chip->dev;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_enable(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_get_noresume(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_put(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dev_info(chip->dev, "DesignWare AXI DMA Controller, %d channels\n",
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_disable(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_prepare_enable(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_prepare_enable(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_disable(&chip->dw->chan[i]);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_irq_disable(&chip->dw->chan[i], DWAXIDMAC_IRQ_ALL);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_disable(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	devm_free_irq(chip->dev, chip->irq, chip);
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	pm_runtime_get(chan->chip->dev);
+drivers/dma/dw-edma/dw-edma-core.c:	pm_runtime_put(chan->chip->dev);
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	dma->dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	snprintf(dw->name, sizeof(dw->name), "dw-edma-core:%d", chip->id);
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->dw = dw;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->dev = dev;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->id = pdev->devfn;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->irq = pdev->irq;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-debugfs.c:	dw = chip->dw;
+drivers/dma/dw/core.c:	struct dw_dma *dw = chip->dw;
+drivers/dma/dw/core.c:	dw->pdata = devm_kzalloc(chip->dev, sizeof(*dw->pdata), GFP_KERNEL);
+drivers/dma/dw/core.c:	dw->regs = chip->regs;
+drivers/dma/dw/core.c:	pm_runtime_get_sync(chip->dev);
+drivers/dma/dw/core.c:	if (!chip->pdata) {
+drivers/dma/dw/core.c:		dev_dbg(chip->dev, "DW_PARAMS: 0x%08x\n", dw_params);
+drivers/dma/dw/core.c:	} else if (chip->pdata->nr_channels > DW_DMA_MAX_NR_CHANNELS) {
+drivers/dma/dw/core.c:		memcpy(dw->pdata, chip->pdata, sizeof(*dw->pdata));
+drivers/dma/dw/core.c:	dw->chan = devm_kcalloc(chip->dev, pdata->nr_channels, sizeof(*dw->chan),
+drivers/dma/dw/core.c:	dw->set_device_name(dw, chip->id);
+drivers/dma/dw/core.c:	dw->desc_pool = dmam_pool_create(dw->name, chip->dev,
+drivers/dma/dw/core.c:		dev_err(chip->dev, "No memory for descriptors dma pool\n");
+drivers/dma/dw/core.c:	err = request_irq(chip->irq, dw_dma_interrupt, IRQF_SHARED,
+drivers/dma/dw/core.c:			dev_dbg(chip->dev, "DWC_PARAMS[%d]: 0x%08x\n", i,
+drivers/dma/dw/core.c:	dw->dma.dev = chip->dev;
+drivers/dma/dw/core.c:	dev_info(chip->dev, "DesignWare DMA Controller, %d channels\n",
+drivers/dma/dw/core.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/core.c:	free_irq(chip->irq, dw);
+drivers/dma/dw/core.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/core.c:	struct dw_dma		*dw = chip->dw;
+drivers/dma/dw/core.c:	pm_runtime_get_sync(chip->dev);
+drivers/dma/dw/core.c:	free_irq(chip->irq, dw);
+drivers/dma/dw/core.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/core.c:	struct dw_dma *dw = chip->dw;
+drivers/dma/dw/core.c:	struct dw_dma *dw = chip->dw;
+drivers/dma/dw/dw.c:	dw = devm_kzalloc(chip->dev, sizeof(*dw), GFP_KERNEL);
+drivers/dma/dw/dw.c:	chip->dw = dw;
+drivers/dma/dw/idma32.c:	dw = devm_kzalloc(chip->dev, sizeof(*dw), GFP_KERNEL);
+drivers/dma/dw/idma32.c:	chip->dw = dw;
+drivers/dma/dw/pci.c:	chip->dev = &pdev->dev;
+drivers/dma/dw/pci.c:	chip->id = pdev->devfn;
+drivers/dma/dw/pci.c:	chip->regs = pcim_iomap_table(pdev)[0];
+drivers/dma/dw/pci.c:	chip->irq = pdev->irq;
+drivers/dma/dw/pci.c:	chip->pdata = data->pdata;
+drivers/dma/dw/platform.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/dma/dw/platform.c:	if (chip->irq < 0)
+drivers/dma/dw/platform.c:		return chip->irq;
+drivers/dma/dw/platform.c:	chip->regs = devm_platform_ioremap_resource(pdev, 0);
+drivers/dma/dw/platform.c:	if (IS_ERR(chip->regs))
+drivers/dma/dw/platform.c:		return PTR_ERR(chip->regs);
+drivers/dma/dw/platform.c:	chip->dev = dev;
+drivers/dma/dw/platform.c:	chip->id = pdev->id;
+drivers/dma/dw/platform.c:	chip->pdata = data->pdata;
+drivers/dma/dw/platform.c:	chip->clk = devm_clk_get_optional(chip->dev, "hclk");
+drivers/dma/dw/platform.c:	if (IS_ERR(chip->clk))
+drivers/dma/dw/platform.c:		return PTR_ERR(chip->clk);
+drivers/dma/dw/platform.c:	err = clk_prepare_enable(chip->clk);
+drivers/dma/dw/platform.c:	dw_dma_of_controller_register(chip->dw);
+drivers/dma/dw/platform.c:	dw_dma_acpi_controller_register(chip->dw);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	dw_dma_acpi_controller_free(chip->dw);
+drivers/dma/dw/platform.c:	dw_dma_of_controller_free(chip->dw);
+drivers/dma/dw/platform.c:		dev_warn(chip->dev, "can't remove device properly: %d\n", ret);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	pm_runtime_get_sync(chip->dev);
+drivers/dma/dw/platform.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	ret = clk_prepare_enable(chip->clk);
+drivers/dma/hsu/hsu.c:	if (nr >= chip->hsu->nr_channels)
+drivers/dma/hsu/hsu.c:	hsuc = &chip->hsu->chan[nr];
+drivers/dma/hsu/hsu.c:	if (nr >= chip->hsu->nr_channels)
+drivers/dma/hsu/hsu.c:	hsuc = &chip->hsu->chan[nr];
+drivers/dma/hsu/hsu.c:	void __iomem *addr = chip->regs + chip->offset;
+drivers/dma/hsu/hsu.c:	hsu = devm_kzalloc(chip->dev, sizeof(*hsu), GFP_KERNEL);
+drivers/dma/hsu/hsu.c:	chip->hsu = hsu;
+drivers/dma/hsu/hsu.c:	hsu->nr_channels = (chip->length - chip->offset) / HSU_DMA_CHAN_LENGTH;
+drivers/dma/hsu/hsu.c:	hsu->chan = devm_kcalloc(chip->dev, hsu->nr_channels,
+drivers/dma/hsu/hsu.c:	hsu->dma.dev = chip->dev;
+drivers/dma/hsu/hsu.c:	dev_info(chip->dev, "Found HSU DMA, %d channels\n", hsu->nr_channels);
+drivers/dma/hsu/hsu.c:	struct hsu_dma *hsu = chip->hsu;
+drivers/dma/hsu/pci.c:	struct pci_dev *pdev = to_pci_dev(chip->dev);
+drivers/dma/hsu/pci.c:	dmaisr = readl(chip->regs + HSU_PCI_DMAISR);
+drivers/dma/hsu/pci.c:	for (i = 0; i < chip->hsu->nr_channels; i++) {
+drivers/dma/hsu/pci.c:	chip->dev = &pdev->dev;
+drivers/dma/hsu/pci.c:	chip->regs = pcim_iomap_table(pdev)[0];
+drivers/dma/hsu/pci.c:	chip->length = pci_resource_len(pdev, 0);
+drivers/dma/hsu/pci.c:	chip->offset = HSU_PCI_CHAN_OFFSET;
+drivers/dma/hsu/pci.c:	chip->irq = pci_irq_vector(pdev, 0);
+drivers/dma/hsu/pci.c:	ret = request_irq(chip->irq, hsu_pci_irq, 0, "hsu_dma_pci", chip);
+drivers/dma/hsu/pci.c:	free_irq(chip->irq, chip);
+drivers/dma/idma64.c:	idma64 = devm_kzalloc(chip->dev, sizeof(*idma64), GFP_KERNEL);
+drivers/dma/idma64.c:	idma64->regs = chip->regs;
+drivers/dma/idma64.c:	chip->idma64 = idma64;
+drivers/dma/idma64.c:	idma64->chan = devm_kcalloc(chip->dev, nr_chan, sizeof(*idma64->chan),
+drivers/dma/idma64.c:	ret = devm_request_irq(chip->dev, chip->irq, idma64_irq, IRQF_SHARED,
+drivers/dma/idma64.c:			       dev_name(chip->dev), idma64);
+drivers/dma/idma64.c:	idma64->dma.dev = chip->sysdev;
+drivers/dma/idma64.c:	dev_info(chip->dev, "Found Intel integrated DMA 64-bit\n");
+drivers/dma/idma64.c:	struct idma64 *idma64 = chip->idma64;
+drivers/dma/idma64.c:	devm_free_irq(chip->dev, chip->irq, idma64);
+drivers/dma/idma64.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/dma/idma64.c:	if (chip->irq < 0)
+drivers/dma/idma64.c:		return chip->irq;
+drivers/dma/idma64.c:	chip->regs = devm_ioremap_resource(dev, mem);
+drivers/dma/idma64.c:	if (IS_ERR(chip->regs))
+drivers/dma/idma64.c:		return PTR_ERR(chip->regs);
+drivers/dma/idma64.c:	chip->dev = dev;
+drivers/dma/idma64.c:	chip->sysdev = sysdev;
+drivers/dma/idma64.c:	idma64_off(chip->idma64);
+drivers/dma/idma64.c:	idma64_on(chip->idma64);
+drivers/edac/amd76x_edac.c:					 * 31:23 chip-select base
+drivers/edac/amd76x_edac.c:					 * 15:7  chip-select mask
+drivers/edac/amd76x_edac.c:					 *  0    chip-select enable
+drivers/edac/i5100_edac.c: * can not reflect this configuration so instead the chip-select
+drivers/firmware/meson/meson_sm.c:	const struct meson_sm_cmd *cmd = chip->cmd;
+drivers/firmware/meson/meson_sm.c:	if (!fw->chip->cmd_shmem_out_base)
+drivers/firmware/meson/meson_sm.c:	if (bsize > fw->chip->shmem_size)
+drivers/firmware/meson/meson_sm.c:	if (size > fw->chip->shmem_size)
+drivers/firmware/meson/meson_sm.c:	if (!fw->chip->cmd_shmem_in_base)
+drivers/firmware/meson/meson_sm.c:	if (chip->cmd_shmem_in_base) {
+drivers/firmware/meson/meson_sm.c:		fw->sm_shmem_in_base = meson_sm_map_shmem(chip->cmd_shmem_in_base,
+drivers/firmware/meson/meson_sm.c:							  chip->shmem_size);
+drivers/firmware/meson/meson_sm.c:	if (chip->cmd_shmem_out_base) {
+drivers/firmware/meson/meson_sm.c:		fw->sm_shmem_out_base = meson_sm_map_shmem(chip->cmd_shmem_out_base,
+drivers/firmware/meson/meson_sm.c:							   chip->shmem_size);
+drivers/firmware/tegra/bpmp-tegra210.c:	if (irq_data->chip->irq_retrigger)
+drivers/firmware/tegra/bpmp-tegra210.c:		return irq_data->chip->irq_retrigger(irq_data);
+drivers/fpga/ice40-spi.c:	/* Abort if the chip-select failed */
+drivers/fsi/fsi-core.c:		if (!of_property_read_u32(slave->dev.of_node, "chip-id", &prop))
+drivers/gpio/gpio-104-dio-48e.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-104-dio-48e.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-104-idi-48.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-104-idi-48.c:			generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-104-idio-16.c:	chip->set(chip, offset, value);
+drivers/gpio/gpio-104-idio-16.c:	for_each_set_bit(gpio, &idio16gpio->irq_mask, chip->ngpio)
+drivers/gpio/gpio-104-idio-16.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, gpio));
+drivers/gpio/gpio-74x164.c:	return spi_write(to_spi_device(chip->gpio_chip.parent), chip->buffer,
+drivers/gpio/gpio-74x164.c:			 chip->registers);
+drivers/gpio/gpio-74x164.c:	u8 bank = chip->registers - 1 - offset / 8;
+drivers/gpio/gpio-74x164.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	ret = (chip->buffer[bank] >> pin) & 0x1;
+drivers/gpio/gpio-74x164.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	u8 bank = chip->registers - 1 - offset / 8;
+drivers/gpio/gpio-74x164.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] |= (1 << pin);
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] &= ~(1 << pin);
+drivers/gpio/gpio-74x164.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	for_each_set_clump8(offset, bankmask, mask, chip->registers * 8) {
+drivers/gpio/gpio-74x164.c:		bank = chip->registers - 1 - offset / 8;
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] &= ~bankmask;
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] |= bitmask;
+drivers/gpio/gpio-74x164.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	chip->gpiod_oe = devm_gpiod_get_optional(&spi->dev, "enable",
+drivers/gpio/gpio-74x164.c:	if (IS_ERR(chip->gpiod_oe))
+drivers/gpio/gpio-74x164.c:		return PTR_ERR(chip->gpiod_oe);
+drivers/gpio/gpio-74x164.c:	gpiod_set_value_cansleep(chip->gpiod_oe, 1);
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.label = spi->modalias;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.direction_output = gen_74x164_direction_output;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.get = gen_74x164_get_value;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.set = gen_74x164_set_value;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.set_multiple = gen_74x164_set_multiple;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.base = -1;
+drivers/gpio/gpio-74x164.c:	chip->registers = nregs;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.can_sleep = true;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.parent = &spi->dev;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.owner = THIS_MODULE;
+drivers/gpio/gpio-74x164.c:	mutex_init(&chip->lock);
+drivers/gpio/gpio-74x164.c:	ret = gpiochip_add_data(&chip->gpio_chip, chip);
+drivers/gpio/gpio-74x164.c:	mutex_destroy(&chip->lock);
+drivers/gpio/gpio-74x164.c:	gpiod_set_value_cansleep(chip->gpiod_oe, 0);
+drivers/gpio/gpio-74x164.c:	gpiochip_remove(&chip->gpio_chip);
+drivers/gpio/gpio-74x164.c:	mutex_destroy(&chip->lock);
+drivers/gpio/gpio-adnp.c:	chip->direction_input = adnp_gpio_direction_input;
+drivers/gpio/gpio-adnp.c:	chip->direction_output = adnp_gpio_direction_output;
+drivers/gpio/gpio-adnp.c:	chip->get = adnp_gpio_get;
+drivers/gpio/gpio-adnp.c:	chip->set = adnp_gpio_set;
+drivers/gpio/gpio-adnp.c:	chip->can_sleep = true;
+drivers/gpio/gpio-adnp.c:		chip->dbg_show = adnp_gpio_dbg_show;
+drivers/gpio/gpio-adnp.c:	chip->base = -1;
+drivers/gpio/gpio-adnp.c:	chip->ngpio = num_gpios;
+drivers/gpio/gpio-adnp.c:	chip->label = adnp->client->name;
+drivers/gpio/gpio-adnp.c:	chip->parent = &adnp->client->dev;
+drivers/gpio/gpio-adnp.c:	chip->of_node = chip->parent->of_node;
+drivers/gpio/gpio-adnp.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-adnp.c:	adnp->irq_enable = devm_kcalloc(chip->parent, num_regs, 6,
+drivers/gpio/gpio-adnp.c:	err = devm_request_threaded_irq(chip->parent, adnp->client->irq,
+drivers/gpio/gpio-adnp.c:					dev_name(chip->parent), adnp);
+drivers/gpio/gpio-adnp.c:		dev_err(chip->parent, "can't request IRQ#%d: %d\n",
+drivers/gpio/gpio-adnp.c:		dev_err(chip->parent,
+drivers/gpio/gpio-adp5588.c:  * genirq core code can issue chip->mask/unmask from atomic context.
+drivers/gpio/gpio-altera.c:	raw_spin_lock_irqsave(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_lock_irqsave(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_lock_irqsave(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
+drivers/gpio/gpio-arizona.c:		pm_runtime_mark_last_busy(chip->parent);
+drivers/gpio/gpio-arizona.c:		pm_runtime_put_autosuspend(chip->parent);
+drivers/gpio/gpio-arizona.c:		ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-arizona.c:			dev_err(chip->parent, "Failed to resume: %d\n", ret);
+drivers/gpio/gpio-arizona.c:			dev_err(chip->parent, "Failed to drop cache: %d\n",
+drivers/gpio/gpio-arizona.c:		pm_runtime_mark_last_busy(chip->parent);
+drivers/gpio/gpio-arizona.c:		pm_runtime_put_autosuspend(chip->parent);
+drivers/gpio/gpio-arizona.c:		ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-arizona.c:			dev_err(chip->parent, "Failed to resume: %d\n", ret);
+drivers/gpio/gpio-aspeed.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-aspeed.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-aspeed.c:		dev_warn(chip->parent, "Failed to convert %luus to cycles at %luHz: %d\n",
+drivers/gpio/gpio-aspeed.c:			dev_warn(chip->parent,
+drivers/gpio/gpio-aspeed.c:		girq->chip->name = dev_name(&pdev->dev);
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_ack = aspeed_gpio_irq_ack;
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_mask = aspeed_gpio_irq_mask;
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_unmask = aspeed_gpio_irq_unmask;
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_set_type = aspeed_gpio_set_type;
+drivers/gpio/gpio-bcm-kona.c:		dev_err(chip->parent, "Debounce value %u not in range\n",
+drivers/gpio/gpio-bcm-kona.c:	chip->of_node = dev->of_node;
+drivers/gpio/gpio-bcm-kona.c:	chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
+drivers/gpio/gpio-bcm-kona.c:						      chip->ngpio,
+drivers/gpio/gpio-cadence.c:	spin_lock_irqsave(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_unlock_irqrestore(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_lock_irqsave(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_unlock_irqrestore(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_lock_irqsave(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_unlock_irqrestore(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	for_each_set_bit(hwirq, &status, chip->ngpio)
+drivers/gpio/gpio-cadence.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, hwirq));
+drivers/gpio/gpio-cs5535.c:	unsigned long addr = chip->base + 0x80 + reg;
+drivers/gpio/gpio-cs5535.c:		outl(1 << offset, chip->base + reg);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:		outl(1 << (offset + 16), chip->base + reg);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:		val = inl(chip->base + reg);
+drivers/gpio/gpio-cs5535.c:		val = inl(chip->base + 0x80 + reg);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	val = inl(chip->base + offset);
+drivers/gpio/gpio-cs5535.c:	outl(val, chip->base + offset);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:		dev_info(&chip->pdev->dev,
+drivers/gpio/gpio-cs5535.c:		spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-davinci.c:		irq_chip->name = "GPIO-AINTC";
+drivers/gpio/gpio-davinci.c:		irq_chip->irq_set_type = gpio_irq_type_unbanked;
+drivers/gpio/gpio-dwapb.c:	if (chip->irq_eoi)
+drivers/gpio/gpio-dwapb.c:		chip->irq_eoi(irq_desc_get_irq_data(desc));
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_warn(chip->parent, "EIC level was changed.\n");
+drivers/gpio/gpio-eic-sprd.c:	return !strcmp(chip->label, sprd_eic_label_name[type]);
+drivers/gpio/gpio-eic-sprd.c:	for (bank = 0; bank * SPRD_EIC_PER_BANK_NR < chip->ngpio; bank++) {
+drivers/gpio/gpio-eic-sprd.c:			dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:			girq = irq_find_mapping(chip->irq.domain, offset);
+drivers/gpio/gpio-em.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-em.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-em.c:	gpio_chip->of_node = dev->of_node;
+drivers/gpio/gpio-em.c:	gpio_chip->direction_input = em_gio_direction_input;
+drivers/gpio/gpio-em.c:	gpio_chip->get = em_gio_get;
+drivers/gpio/gpio-em.c:	gpio_chip->direction_output = em_gio_direction_output;
+drivers/gpio/gpio-em.c:	gpio_chip->set = em_gio_set;
+drivers/gpio/gpio-em.c:	gpio_chip->to_irq = em_gio_to_irq;
+drivers/gpio/gpio-em.c:	gpio_chip->request = em_gio_request;
+drivers/gpio/gpio-em.c:	gpio_chip->free = em_gio_free;
+drivers/gpio/gpio-em.c:	gpio_chip->label = name;
+drivers/gpio/gpio-em.c:	gpio_chip->parent = dev;
+drivers/gpio/gpio-em.c:	gpio_chip->owner = THIS_MODULE;
+drivers/gpio/gpio-em.c:	gpio_chip->base = -1;
+drivers/gpio/gpio-em.c:	gpio_chip->ngpio = ngpios;
+drivers/gpio/gpio-em.c:	irq_chip->name = "gpio-em";
+drivers/gpio/gpio-em.c:	irq_chip->irq_mask = em_gio_irq_disable;
+drivers/gpio/gpio-em.c:	irq_chip->irq_unmask = em_gio_irq_enable;
+drivers/gpio/gpio-em.c:	irq_chip->irq_set_type = em_gio_irq_set_type;
+drivers/gpio/gpio-em.c:	irq_chip->irq_request_resources = em_gio_irq_reqres;
+drivers/gpio/gpio-em.c:	irq_chip->irq_release_resources = em_gio_irq_relres;
+drivers/gpio/gpio-em.c:	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
+drivers/gpio/gpio-gpio-mm.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-htc-egpio.c:	pr_debug("egpio_get_value(%d)\n", chip->base + offset);
+drivers/gpio/gpio-htc-egpio.c:			chip->label, offset, offset+chip->base, value);
+drivers/gpio/gpio-htc-egpio.c:		chip->label = devm_kasprintf(&pdev->dev, GFP_KERNEL,
+drivers/gpio/gpio-htc-egpio.c:		if (!chip->label)
+drivers/gpio/gpio-htc-egpio.c:		chip->parent          = &pdev->dev;
+drivers/gpio/gpio-htc-egpio.c:		chip->owner           = THIS_MODULE;
+drivers/gpio/gpio-htc-egpio.c:		chip->get             = egpio_get;
+drivers/gpio/gpio-htc-egpio.c:		chip->set             = egpio_set;
+drivers/gpio/gpio-htc-egpio.c:		chip->direction_input = egpio_direction_input;
+drivers/gpio/gpio-htc-egpio.c:		chip->direction_output = egpio_direction_output;
+drivers/gpio/gpio-htc-egpio.c:		chip->get_direction   = egpio_get_direction;
+drivers/gpio/gpio-htc-egpio.c:		chip->base            = pdata->chip[i].gpio_base;
+drivers/gpio/gpio-htc-egpio.c:		chip->ngpio           = pdata->chip[i].num_gpios;
+drivers/gpio/gpio-ich.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-ich.c:	chip->label = DRV_NAME;
+drivers/gpio/gpio-ich.c:	chip->parent = ichx_priv.dev;
+drivers/gpio/gpio-ich.c:	/* Allow chip-specific overrides of request()/get() */
+drivers/gpio/gpio-ich.c:	chip->request = ichx_priv.desc->request ?
+drivers/gpio/gpio-ich.c:	chip->get = ichx_priv.desc->get ?
+drivers/gpio/gpio-ich.c:	chip->set = ichx_gpio_set;
+drivers/gpio/gpio-ich.c:	chip->get_direction = ichx_gpio_get_direction;
+drivers/gpio/gpio-ich.c:	chip->direction_input = ichx_gpio_direction_input;
+drivers/gpio/gpio-ich.c:	chip->direction_output = ichx_gpio_direction_output;
+drivers/gpio/gpio-ich.c:	chip->base = modparam_gpiobase;
+drivers/gpio/gpio-ich.c:	chip->ngpio = ichx_priv.desc->ngpio;
+drivers/gpio/gpio-ich.c:	chip->can_sleep = false;
+drivers/gpio/gpio-ich.c:	chip->dbg_show = NULL;
+drivers/gpio/gpio-intel-mid.c:	unsigned nreg = chip->ngpio / 32;
+drivers/gpio/gpio-intel-mid.c:	unsigned nreg = chip->ngpio / 32;
+drivers/gpio/gpio-intel-mid.c:	chip->irq_eoi(data);
+drivers/gpio/gpio-kempld.c:	chip->label = "gpio-kempld";
+drivers/gpio/gpio-kempld.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-kempld.c:	chip->parent = dev;
+drivers/gpio/gpio-kempld.c:	chip->can_sleep = true;
+drivers/gpio/gpio-kempld.c:		chip->base = pdata->gpio_base;
+drivers/gpio/gpio-kempld.c:		chip->base = -1;
+drivers/gpio/gpio-kempld.c:	chip->direction_input = kempld_gpio_direction_input;
+drivers/gpio/gpio-kempld.c:	chip->direction_output = kempld_gpio_direction_output;
+drivers/gpio/gpio-kempld.c:	chip->get_direction = kempld_gpio_get_direction;
+drivers/gpio/gpio-kempld.c:	chip->get = kempld_gpio_get;
+drivers/gpio/gpio-kempld.c:	chip->set = kempld_gpio_set;
+drivers/gpio/gpio-kempld.c:	chip->ngpio = kempld_gpio_pincount(pld);
+drivers/gpio/gpio-kempld.c:	if (chip->ngpio == 0) {
+drivers/gpio/gpio-kempld.c:		 chip->ngpio);
+drivers/gpio/gpio-lpc32xx.c:	if (pin < chip->ngpio)
+drivers/gpio/gpio-lynxpoint.c:	chip->irq_eoi(data);
+drivers/gpio/gpio-max732x.c:	client = group_a ? chip->client_group_a : chip->client_group_b;
+drivers/gpio/gpio-max732x.c:	client = group_a ? chip->client_group_a : chip->client_group_b;
+drivers/gpio/gpio-max732x.c:	return (1u << off) & chip->mask_group_a;
+drivers/gpio/gpio-max732x.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	reg_out = (off > 7) ? chip->reg_out[1] : chip->reg_out[0];
+drivers/gpio/gpio-max732x.c:		chip->reg_out[1] = reg_out;
+drivers/gpio/gpio-max732x.c:		chip->reg_out[0] = reg_out;
+drivers/gpio/gpio-max732x.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	if ((mask & chip->dir_input) == 0) {
+drivers/gpio/gpio-max732x.c:		dev_dbg(&chip->client->dev, "%s port %d is output only\n",
+drivers/gpio/gpio-max732x.c:			chip->client->name, off);
+drivers/gpio/gpio-max732x.c:	if ((mask & chip->dir_output))
+drivers/gpio/gpio-max732x.c:	if ((mask & chip->dir_output) == 0) {
+drivers/gpio/gpio-max732x.c:		dev_dbg(&chip->client->dev, "%s port %d is input only\n",
+drivers/gpio/gpio-max732x.c:			chip->client->name, off);
+drivers/gpio/gpio-max732x.c:	ret = i2c_master_send(chip->client_group_a, (char *)&val, 2);
+drivers/gpio/gpio-max732x.c:		dev_err(&chip->client_group_a->dev, "failed writing\n");
+drivers/gpio/gpio-max732x.c:	ret = i2c_master_recv(chip->client_group_a, (char *)val, 2);
+drivers/gpio/gpio-max732x.c:		dev_err(&chip->client_group_a->dev, "failed reading\n");
+drivers/gpio/gpio-max732x.c:	if (chip->irq_mask == chip->irq_mask_cur)
+drivers/gpio/gpio-max732x.c:	chip->irq_mask = chip->irq_mask_cur;
+drivers/gpio/gpio-max732x.c:	if (chip->irq_features == INT_NO_MASK)
+drivers/gpio/gpio-max732x.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	switch (chip->irq_features) {
+drivers/gpio/gpio-max732x.c:		msg = (chip->irq_mask << 8) | chip->reg_out[0];
+drivers/gpio/gpio-max732x.c:		msg = chip->irq_mask | chip->reg_out[0];
+drivers/gpio/gpio-max732x.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	chip->irq_mask_cur &= ~(1 << d->hwirq);
+drivers/gpio/gpio-max732x.c:	chip->irq_mask_cur |= 1 << d->hwirq;
+drivers/gpio/gpio-max732x.c:	mutex_lock(&chip->irq_lock);
+drivers/gpio/gpio-max732x.c:	chip->irq_mask_cur = chip->irq_mask;
+drivers/gpio/gpio-max732x.c:	new_irqs = chip->irq_trig_fall | chip->irq_trig_raise;
+drivers/gpio/gpio-max732x.c:		max732x_gpio_direction_input(&chip->gpio_chip, level);
+drivers/gpio/gpio-max732x.c:	mutex_unlock(&chip->irq_lock);
+drivers/gpio/gpio-max732x.c:	if (!(mask & chip->dir_input)) {
+drivers/gpio/gpio-max732x.c:		dev_dbg(&chip->client->dev, "%s port %d is output only\n",
+drivers/gpio/gpio-max732x.c:			chip->client->name, off);
+drivers/gpio/gpio-max732x.c:		dev_err(&chip->client->dev, "irq %d: unsupported type %d\n",
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_fall |= mask;
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_fall &= ~mask;
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_raise |= mask;
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_raise &= ~mask;
+drivers/gpio/gpio-max732x.c:	irq_set_irq_wake(chip->client->irq, on);
+drivers/gpio/gpio-max732x.c:	trigger &= chip->irq_mask;
+drivers/gpio/gpio-max732x.c:	cur_stat &= chip->irq_mask;
+drivers/gpio/gpio-max732x.c:	pending = (old_stat & chip->irq_trig_fall) |
+drivers/gpio/gpio-max732x.c:		  (cur_stat & chip->irq_trig_raise);
+drivers/gpio/gpio-max732x.c:		handle_nested_irq(irq_find_mapping(chip->gpio_chip.irq.domain,
+drivers/gpio/gpio-max732x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-max732x.c:		chip->irq_features = has_irq;
+drivers/gpio/gpio-max732x.c:		mutex_init(&chip->irq_lock);
+drivers/gpio/gpio-max732x.c:		ret =  gpiochip_irqchip_add_nested(&chip->gpio_chip,
+drivers/gpio/gpio-max732x.c:		gpiochip_set_nested_irqchip(&chip->gpio_chip,
+drivers/gpio/gpio-max732x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-max732x.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/gpio/gpio-max732x.c:			chip->dir_output |= mask;
+drivers/gpio/gpio-max732x.c:			chip->dir_input |= mask;
+drivers/gpio/gpio-max732x.c:			chip->dir_output |= mask;
+drivers/gpio/gpio-max732x.c:			chip->dir_input |= mask;
+drivers/gpio/gpio-max732x.c:			chip->mask_group_a |= mask;
+drivers/gpio/gpio-max732x.c:	if (chip->dir_input)
+drivers/gpio/gpio-max732x.c:	if (chip->dir_output) {
+drivers/gpio/gpio-max732x.c:	gc->label = chip->client->name;
+drivers/gpio/gpio-max732x.c:	gc->parent = &chip->client->dev;
+drivers/gpio/gpio-max732x.c:	chip->client = client;
+drivers/gpio/gpio-max732x.c:	chip->gpio_chip.parent = &client->dev;
+drivers/gpio/gpio-max732x.c:		chip->client_group_a = client;
+drivers/gpio/gpio-max732x.c:			chip->client_group_b = chip->client_dummy = c;
+drivers/gpio/gpio-max732x.c:		chip->client_group_b = client;
+drivers/gpio/gpio-max732x.c:			chip->client_group_a = chip->client_dummy = c;
+drivers/gpio/gpio-max732x.c:	if (nr_port > 8 && !chip->client_dummy) {
+drivers/gpio/gpio-max732x.c:	mutex_init(&chip->lock);
+drivers/gpio/gpio-max732x.c:	ret = max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]);
+drivers/gpio/gpio-max732x.c:		ret = max732x_readb(chip, is_group_a(chip, 8), &chip->reg_out[1]);
+drivers/gpio/gpio-max732x.c:	ret = devm_gpiochip_add_data(&client->dev, &chip->gpio_chip, chip);
+drivers/gpio/gpio-max732x.c:		ret = pdata->setup(client, chip->gpio_chip.base,
+drivers/gpio/gpio-max732x.c:				chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-max732x.c:		ret = pdata->teardown(client, chip->gpio_chip.base,
+drivers/gpio/gpio-max732x.c:				chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-max77620.c:		dev_err(chip->parent, "failed to update interrupt mask: %d\n",
+drivers/gpio/gpio-max77620.c:	mgpio->rmap = chip->rmap;
+drivers/gpio/gpio-max77650.c:	return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:	return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:	rv = regmap_update_bits(chip->map, MAX77650_REG_CNFG_GPIO,
+drivers/gpio/gpio-max77650.c:	rv = regmap_read(chip->map, MAX77650_REG_CNFG_GPIO, &val);
+drivers/gpio/gpio-max77650.c:	rv = regmap_read(chip->map, MAX77650_REG_CNFG_GPIO, &val);
+drivers/gpio/gpio-max77650.c:		return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:		return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:		return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:	return chip->irq;
+drivers/gpio/gpio-max77650.c:	chip->map = dev_get_regmap(parent, NULL);
+drivers/gpio/gpio-max77650.c:	if (!chip->map)
+drivers/gpio/gpio-max77650.c:	chip->irq = platform_get_irq_byname(pdev, "GPI");
+drivers/gpio/gpio-max77650.c:	if (chip->irq < 0)
+drivers/gpio/gpio-max77650.c:		return chip->irq;
+drivers/gpio/gpio-max77650.c:	chip->gc.base = -1;
+drivers/gpio/gpio-max77650.c:	chip->gc.ngpio = 1;
+drivers/gpio/gpio-max77650.c:	chip->gc.label = i2c->name;
+drivers/gpio/gpio-max77650.c:	chip->gc.parent = dev;
+drivers/gpio/gpio-max77650.c:	chip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-max77650.c:	chip->gc.can_sleep = true;
+drivers/gpio/gpio-max77650.c:	chip->gc.direction_input = max77650_gpio_direction_input;
+drivers/gpio/gpio-max77650.c:	chip->gc.direction_output = max77650_gpio_direction_output;
+drivers/gpio/gpio-max77650.c:	chip->gc.set = max77650_gpio_set_value;
+drivers/gpio/gpio-max77650.c:	chip->gc.get = max77650_gpio_get_value;
+drivers/gpio/gpio-max77650.c:	chip->gc.get_direction = max77650_gpio_get_direction;
+drivers/gpio/gpio-max77650.c:	chip->gc.set_config = max77650_gpio_set_config;
+drivers/gpio/gpio-max77650.c:	chip->gc.to_irq = max77650_gpio_to_irq;
+drivers/gpio/gpio-max77650.c:	return devm_gpiochip_add_data(dev, &chip->gc, chip);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	return !!(readl(gchip->base + PDR(gpio)) & OFFSET(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	gchip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-mb86s7x.c:	if (IS_ERR(gchip->base))
+drivers/gpio/gpio-mb86s7x.c:		return PTR_ERR(gchip->base);
+drivers/gpio/gpio-mb86s7x.c:		gchip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/gpio/gpio-mb86s7x.c:		if (IS_ERR(gchip->clk))
+drivers/gpio/gpio-mb86s7x.c:			return PTR_ERR(gchip->clk);
+drivers/gpio/gpio-mb86s7x.c:		ret = clk_prepare_enable(gchip->clk);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_init(&gchip->lock);
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.direction_output = mb86s70_gpio_direction_output;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.direction_input = mb86s70_gpio_direction_input;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.request = mb86s70_gpio_request;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.free = mb86s70_gpio_free;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.get = mb86s70_gpio_get;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.set = mb86s70_gpio_set;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.label = dev_name(&pdev->dev);
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.ngpio = 32;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.parent = &pdev->dev;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.base = -1;
+drivers/gpio/gpio-mb86s7x.c:		gchip->gc.to_irq = mb86s70_gpio_to_irq;
+drivers/gpio/gpio-mb86s7x.c:	ret = gpiochip_add_data(&gchip->gc, gchip);
+drivers/gpio/gpio-mb86s7x.c:		clk_disable_unprepare(gchip->clk);
+drivers/gpio/gpio-mb86s7x.c:		acpi_gpiochip_request_interrupts(&gchip->gc);
+drivers/gpio/gpio-mb86s7x.c:		acpi_gpiochip_free_interrupts(&gchip->gc);
+drivers/gpio/gpio-mb86s7x.c:	gpiochip_remove(&gchip->gc);
+drivers/gpio/gpio-mb86s7x.c:	clk_disable_unprepare(gchip->clk);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	reg_val = ioread32(&chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	return !!(ioread32(&chip->reg->regs[chip->ch].pi) & (1 << nr));
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	pm = ioread32(&chip->reg->regs[chip->ch].pm) &
+drivers/gpio/gpio-ml-ioh.c:					((1 << num_ports[chip->ch]) - 1);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(pm, &chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:	reg_val = ioread32(&chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	pm = ioread32(&chip->reg->regs[chip->ch].pm) &
+drivers/gpio/gpio-ml-ioh.c:				((1 << num_ports[chip->ch]) - 1);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(pm, &chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.po_reg =
+drivers/gpio/gpio-ml-ioh.c:					ioread32(&chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.pm_reg =
+drivers/gpio/gpio-ml-ioh.c:					ioread32(&chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.ien_reg =
+drivers/gpio/gpio-ml-ioh.c:				       ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.imask_reg =
+drivers/gpio/gpio-ml-ioh.c:				     ioread32(&chip->reg->regs[chip->ch].imask);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.im0_reg =
+drivers/gpio/gpio-ml-ioh.c:				      ioread32(&chip->reg->regs[chip->ch].im_0);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.im1_reg =
+drivers/gpio/gpio-ml-ioh.c:				      ioread32(&chip->reg->regs[chip->ch].im_1);
+drivers/gpio/gpio-ml-ioh.c:			chip->ioh_gpio_reg.use_sel_reg =
+drivers/gpio/gpio-ml-ioh.c:					   ioread32(&chip->reg->ioh_sel_reg[i]);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.po_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.pm_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.ien_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.imask_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].imask);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.im0_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].im_0);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.im1_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].im_1);
+drivers/gpio/gpio-ml-ioh.c:			iowrite32(chip->ioh_gpio_reg.use_sel_reg,
+drivers/gpio/gpio-ml-ioh.c:				  &chip->reg->ioh_sel_reg[i]);
+drivers/gpio/gpio-ml-ioh.c:	return chip->irq_base + offset;
+drivers/gpio/gpio-ml-ioh.c:	struct gpio_chip *gpio = &chip->gpio;
+drivers/gpio/gpio-ml-ioh.c:	gpio->label = dev_name(chip->dev);
+drivers/gpio/gpio-ml-ioh.c:	ch = irq - chip->irq_base;
+drivers/gpio/gpio-ml-ioh.c:	if (irq <= chip->irq_base + 7) {
+drivers/gpio/gpio-ml-ioh.c:		im_reg = &chip->reg->regs[chip->ch].im_0;
+drivers/gpio/gpio-ml-ioh.c:		im_reg = &chip->reg->regs[chip->ch].im_1;
+drivers/gpio/gpio-ml-ioh.c:	dev_dbg(chip->dev, "%s:irq=%d type=%d ch=%d pos=%d type=%d\n",
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:		dev_warn(chip->dev, "%s: unknown type(%dd)",
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(BIT(ch), &chip->reg->regs[chip->ch].iclr);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(BIT(ch), &chip->reg->regs[chip->ch].imaskclr);
+drivers/gpio/gpio-ml-ioh.c:	ien = ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(ien | BIT(ch), &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(1 << (d->irq - chip->irq_base),
+drivers/gpio/gpio-ml-ioh.c:		  &chip->reg->regs[chip->ch].imaskclr);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(1 << (d->irq - chip->irq_base),
+drivers/gpio/gpio-ml-ioh.c:		  &chip->reg->regs[chip->ch].imask);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	ien = ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	ien &= ~(1 << (d->irq - chip->irq_base));
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(ien, &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	ien = ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	ien |= 1 << (d->irq - chip->irq_base);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(ien, &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:		reg_val = ioread32(&chip->reg->regs[i].istatus);
+drivers/gpio/gpio-ml-ioh.c:				dev_dbg(chip->dev,
+drivers/gpio/gpio-ml-ioh.c:					  &chip->reg->regs[chip->ch].iclr);
+drivers/gpio/gpio-ml-ioh.c:				generic_handle_irq(chip->irq_base + j);
+drivers/gpio/gpio-ml-ioh.c:	gc = devm_irq_alloc_generic_chip(chip->dev, "ioh_gpio", 1, irq_start,
+drivers/gpio/gpio-ml-ioh.c:					 chip->base, handle_simple_irq);
+drivers/gpio/gpio-ml-ioh.c:	rv = devm_irq_setup_generic_chip(chip->dev, gc, IRQ_MSK(num),
+drivers/gpio/gpio-ml-ioh.c:		chip->dev = &pdev->dev;
+drivers/gpio/gpio-ml-ioh.c:		chip->base = base;
+drivers/gpio/gpio-ml-ioh.c:		chip->reg = chip->base;
+drivers/gpio/gpio-ml-ioh.c:		chip->ch = i;
+drivers/gpio/gpio-ml-ioh.c:		spin_lock_init(&chip->spinlock);
+drivers/gpio/gpio-ml-ioh.c:		ret = gpiochip_add_data(&chip->gpio, chip);
+drivers/gpio/gpio-ml-ioh.c:		chip->irq_base = irq_base;
+drivers/gpio/gpio-ml-ioh.c:		gpiochip_remove(&chip->gpio);
+drivers/gpio/gpio-ml-ioh.c:		gpiochip_remove(&chip->gpio);
+drivers/gpio/gpio-ml-ioh.c:	pci_iounmap(pdev, chip->base);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(0x01, &chip->reg->srst);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(0x00, &chip->reg->srst);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-mm-lantiq.c:	__raw_writew(chip->shadow, chip->mmchip.regs);
+drivers/gpio/gpio-mm-lantiq.c: * ltq_mm_set() - gpio_chip->set - set gpios.
+drivers/gpio/gpio-mm-lantiq.c:		chip->shadow |= (1 << offset);
+drivers/gpio/gpio-mm-lantiq.c:		chip->shadow &= ~(1 << offset);
+drivers/gpio/gpio-mm-lantiq.c: * ltq_mm_dir_out() - gpio_chip->dir_out - set gpio direction.
+drivers/gpio/gpio-mm-lantiq.c:	ltq_ebu_w32(CPHYSADDR(chip->mmchip.regs) | 0x1, LTQ_EBU_ADDRSEL1);
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.gc.ngpio = 16;
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.gc.direction_output = ltq_mm_dir_out;
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.gc.set = ltq_mm_set;
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.save_regs = ltq_mm_save_regs;
+drivers/gpio/gpio-mm-lantiq.c:		chip->shadow = shadow;
+drivers/gpio/gpio-mm-lantiq.c:	return of_mm_gpiochip_add_data(pdev->dev.of_node, &chip->mmchip, chip);
+drivers/gpio/gpio-mm-lantiq.c:	of_mm_gpiochip_remove(&chip->mmchip);
+drivers/gpio/gpio-mmio.c:	if (gpio_pin < chip->ngpio)
+drivers/gpio/gpio-mockup.c:	return chip->lines[offset].value;
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].value = !!value;
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	sim = &chip->irqsim;
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].pull = value;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].dir = GPIO_LINE_DIRECTION_OUT;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].dir = GPIO_LINE_DIRECTION_IN;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	direction = chip->lines[offset].dir;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	return irq_sim_irqnum(&chip->irqsim, offset);
+drivers/gpio/gpio-mockup.c:	__gpio_mockup_set(chip, offset, chip->lines[offset].pull);
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	chip->dbg_dir = debugfs_create_dir(devname, gpio_mockup_dbg_dir);
+drivers/gpio/gpio-mockup.c:		debugfs_create_file(name, 0200, chip->dbg_dir, priv,
+drivers/gpio/gpio-mockup.c:	struct gpio_chip *gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	rv = device_property_read_string(dev, "chip-name", &name);
+drivers/gpio/gpio-mockup.c:	mutex_init(&chip->lock);
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	chip->lines = devm_kcalloc(dev, gc->ngpio,
+drivers/gpio/gpio-mockup.c:				   sizeof(*chip->lines), GFP_KERNEL);
+drivers/gpio/gpio-mockup.c:	if (!chip->lines)
+drivers/gpio/gpio-mockup.c:		chip->lines[i].dir = GPIO_LINE_DIRECTION_IN;
+drivers/gpio/gpio-mockup.c:	rv = devm_irq_sim_init(dev, &chip->irqsim, gc->ngpio);
+drivers/gpio/gpio-mockup.c:	rv = devm_gpiochip_add_data(dev, &chip->gc, chip);
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->in_mask & BIT(offset)) {
+drivers/gpio/gpio-moxtet.c:		ret = moxtet_device_read(chip->dev);
+drivers/gpio/gpio-moxtet.c:	} else if (chip->desc->out_mask & BIT(offset)) {
+drivers/gpio/gpio-moxtet.c:		ret = moxtet_device_written(chip->dev);
+drivers/gpio/gpio-moxtet.c:	state = moxtet_device_written(chip->dev);
+drivers/gpio/gpio-moxtet.c:	moxtet_device_write(chip->dev, state);
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->in_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	else if (chip->desc->out_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->in_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	else if (chip->desc->out_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->out_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	else if (chip->desc->in_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	chip->dev = dev;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.parent = dev;
+drivers/gpio/gpio-moxtet.c:	chip->desc = &descs[id];
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.label = dev_name(dev);
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.get_direction = moxtet_gpio_get_direction;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.direction_input = moxtet_gpio_direction_input;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.direction_output = moxtet_gpio_direction_output;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.get = moxtet_gpio_get_value;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.set = moxtet_gpio_set_value;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.base = -1;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.ngpio = MOXTET_GPIO_NGPIOS;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.can_sleep = true;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.owner = THIS_MODULE;
+drivers/gpio/gpio-moxtet.c:	return devm_gpiochip_add_data(dev, &chip->gpio_chip, chip);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo &= ~(1 << (7 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_dvo, chip->shadow_dvo);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr &= ~(1 << (7 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	gc = &chip->mmchip.gc;
+drivers/gpio/gpio-mpc5200.c:	ret = of_mm_gpiochip_add_data(ofdev->dev.of_node, &chip->mmchip, chip);
+drivers/gpio/gpio-mpc5200.c:	regs = chip->mmchip.regs;
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe = in_8(&regs->wkup_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr = in_8(&regs->wkup_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_dvo = in_8(&regs->wkup_dvo);
+drivers/gpio/gpio-mpc5200.c:	of_mm_gpiochip_remove(&chip->mmchip);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo &= ~(1 << (31 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_dvo, chip->shadow_dvo);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr &= ~(1 << (31 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	gc = &chip->mmchip.gc;
+drivers/gpio/gpio-mpc5200.c:	ret = of_mm_gpiochip_add_data(ofdev->dev.of_node, &chip->mmchip, chip);
+drivers/gpio/gpio-mpc5200.c:	regs = chip->mmchip.regs;
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe = in_be32(&regs->simple_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr = in_be32(&regs->simple_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_dvo = in_be32(&regs->simple_dvo);
+drivers/gpio/gpio-msic.c:	chip->irq_eoi(data);
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*offset = GPIO_EDGE_CAUSE_OFF + mvchip->offset;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->percpu_regs;
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*offset = GPIO_EDGE_MASK_OFF + mvchip->offset;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->percpu_regs;
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*offset = GPIO_LEVEL_MASK_OFF + mvchip->offset;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->percpu_regs;
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_OUT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_DATA_IN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_OUT_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	ret = pinctrl_gpio_direction_input(chip->base + pin);
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	ret = pinctrl_gpio_direction_output(chip->base + pin);
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:	return irq_create_mapping(mvchip->domain, pin);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:		regmap_update_bits(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				   GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_update_bits(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				   GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			    GPIO_IN_POL_OFF + mvchip->offset, &in_pol);
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			    GPIO_DATA_IN_OFF + mvchip->offset, &data_in);
+drivers/gpio/gpio-mvebu.c:		regmap_update_bits(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				   GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_DATA_IN_OFF + mvchip->offset, &data_in);
+drivers/gpio/gpio-mvebu.c:	for (i = 0; i < mvchip->chip.ngpio; i++) {
+drivers/gpio/gpio-mvebu.c:		irq = irq_find_mapping(mvchip->domain, i);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		desc = gpiochip_request_own_desc(&mvchip->chip,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:		mvebu_gpio_blink(&mvchip->chip, pwm->hwpwm, 1);
+drivers/gpio/gpio-mvebu.c:		mvebu_gpio_blink(&mvchip->chip, pwm->hwpwm, 0);
+drivers/gpio/gpio-mvebu.c:	struct mvebu_pwm *mvpwm = mvchip->mvpwm;
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	struct mvebu_pwm *mvpwm = mvchip->mvpwm;
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	if (!of_device_is_compatible(mvchip->chip.of_node,
+drivers/gpio/gpio-mvebu.c:	if (IS_ERR(mvchip->clk))
+drivers/gpio/gpio-mvebu.c:		return PTR_ERR(mvchip->clk);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:		     GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset, set);
+drivers/gpio/gpio-mvebu.c:	mvchip->mvpwm = mvpwm;
+drivers/gpio/gpio-mvebu.c:	mvpwm->clk_rate = clk_get_rate(mvchip->clk);
+drivers/gpio/gpio-mvebu.c:	mvpwm->chip.npwm = mvchip->chip.ngpio;
+drivers/gpio/gpio-mvebu.c:	 * mvpwm->chip.base to a fixed point like mvchip->chip.base.
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_OUT_OFF + mvchip->offset, &out);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &io_conf);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset, &blink);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset, &in_pol);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_DATA_IN_OFF + mvchip->offset, &data_in);
+drivers/gpio/gpio-mvebu.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-mvebu.c:		seq_printf(s, " gpio-%-3d (%-20.20s)", chip->base + i, label);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_OUT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->out_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->io_conf_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->blink_en_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->in_pol_reg);
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_EDGE_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			    &mvchip->edge_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_LEVEL_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			    &mvchip->level_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_OUT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->out_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->io_conf_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->blink_en_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->in_pol_reg);
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			     mvchip->edge_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_LEVEL_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			     mvchip->level_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:	mvchip->regs = devm_regmap_init_mmio(&pdev->dev, base,
+drivers/gpio/gpio-mvebu.c:	if (IS_ERR(mvchip->regs))
+drivers/gpio/gpio-mvebu.c:		return PTR_ERR(mvchip->regs);
+drivers/gpio/gpio-mvebu.c:	mvchip->offset = 0;
+drivers/gpio/gpio-mvebu.c:	if (mvchip->soc_variant == MVEBU_GPIO_SOC_VARIANT_ARMADAXP) {
+drivers/gpio/gpio-mvebu.c:		mvchip->percpu_regs =
+drivers/gpio/gpio-mvebu.c:		if (IS_ERR(mvchip->percpu_regs))
+drivers/gpio/gpio-mvebu.c:			return PTR_ERR(mvchip->percpu_regs);
+drivers/gpio/gpio-mvebu.c:	mvchip->regs = syscon_node_to_regmap(pdev->dev.parent->of_node);
+drivers/gpio/gpio-mvebu.c:	if (IS_ERR(mvchip->regs))
+drivers/gpio/gpio-mvebu.c:		return PTR_ERR(mvchip->regs);
+drivers/gpio/gpio-mvebu.c:	if (of_property_read_u32(pdev->dev.of_node, "offset", &mvchip->offset))
+drivers/gpio/gpio-mvebu.c:	mvchip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/gpio/gpio-mvebu.c:	if (!IS_ERR(mvchip->clk))
+drivers/gpio/gpio-mvebu.c:		clk_prepare_enable(mvchip->clk);
+drivers/gpio/gpio-mvebu.c:	mvchip->soc_variant = soc_variant;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.label = dev_name(&pdev->dev);
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.parent = &pdev->dev;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.request = gpiochip_generic_request;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.free = gpiochip_generic_free;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.get_direction = mvebu_gpio_get_direction;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.direction_input = mvebu_gpio_direction_input;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.get = mvebu_gpio_get;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.direction_output = mvebu_gpio_direction_output;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.set = mvebu_gpio_set;
+drivers/gpio/gpio-mvebu.c:		mvchip->chip.to_irq = mvebu_gpio_to_irq;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.base = id * MVEBU_MAX_GPIO_PER_BANK;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.ngpio = ngpios;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.can_sleep = false;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.of_node = np;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.dbg_show = mvebu_gpio_dbg_show;
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			     GPIO_EDGE_CAUSE_OFF + mvchip->offset, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			     GPIO_EDGE_MASK_OFF + mvchip->offset, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			     GPIO_LEVEL_MASK_OFF + mvchip->offset, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_CAUSE_OFF, 0);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_CAUSE_OFF, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_MASK_OFF, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_LEVEL_MASK_OFF, 0);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->percpu_regs,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->percpu_regs,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->percpu_regs,
+drivers/gpio/gpio-mvebu.c:	devm_gpiochip_add_data(&pdev->dev, &mvchip->chip, mvchip);
+drivers/gpio/gpio-mvebu.c:	mvchip->domain =
+drivers/gpio/gpio-mvebu.c:	if (!mvchip->domain) {
+drivers/gpio/gpio-mvebu.c:			mvchip->chip.label);
+drivers/gpio/gpio-mvebu.c:	    mvchip->domain, ngpios, 2, np->name, handle_level_irq,
+drivers/gpio/gpio-mvebu.c:			mvchip->chip.label);
+drivers/gpio/gpio-mvebu.c:	gc = irq_get_domain_generic_chip(mvchip->domain, 0);
+drivers/gpio/gpio-mvebu.c:	ct->chip.name = mvchip->chip.label;
+drivers/gpio/gpio-mvebu.c:	ct->chip.name = mvchip->chip.label;
+drivers/gpio/gpio-mvebu.c:	irq_domain_remove(mvchip->domain);
+drivers/gpio/gpio-mxs.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+drivers/gpio/gpio-octeon.c:	chip->label = "octeon-gpio";
+drivers/gpio/gpio-octeon.c:	chip->parent = &pdev->dev;
+drivers/gpio/gpio-octeon.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-octeon.c:	chip->base = 0;
+drivers/gpio/gpio-octeon.c:	chip->can_sleep = false;
+drivers/gpio/gpio-octeon.c:	chip->ngpio = 20;
+drivers/gpio/gpio-octeon.c:	chip->direction_input = octeon_gpio_dir_in;
+drivers/gpio/gpio-octeon.c:	chip->get = octeon_gpio_get;
+drivers/gpio/gpio-octeon.c:	chip->direction_output = octeon_gpio_dir_out;
+drivers/gpio/gpio-octeon.c:	chip->set = octeon_gpio_set;
+drivers/gpio/gpio-omap.c:	pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-omap.c:	pm_runtime_put(chip->parent);
+drivers/gpio/gpio-omap.c:		dev_info(chip->parent,
+drivers/gpio/gpio-pca953x.c:#define NBANK(chip) DIV_ROUND_UP(chip->gpio_chip.ngpio, BANK_SZ)
+drivers/gpio/gpio-pca953x.c:	return fls((chip->gpio_chip.ngpio - 1) / BANK_SZ);
+drivers/gpio/gpio-pca953x.c:		if (!(chip->driver_data & PCA_PCAL))
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) {
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) {
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL)
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE)
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL)
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE)
+drivers/gpio/gpio-pca953x.c:	ret = regmap_bulk_write(chip->regmap, regaddr, value, NBANK(chip));
+drivers/gpio/gpio-pca953x.c:		dev_err(&chip->client->dev, "failed writing register\n");
+drivers/gpio/gpio-pca953x.c:	ret = regmap_bulk_read(chip->regmap, regaddr, value, NBANK(chip));
+drivers/gpio/gpio-pca953x.c:		dev_err(&chip->client->dev, "failed reading register\n");
+drivers/gpio/gpio-pca953x.c:	u8 dirreg = pca953x_recalc_addr(chip, chip->regs->direction, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, dirreg, bit, bit);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 dirreg = pca953x_recalc_addr(chip, chip->regs->direction, off,
+drivers/gpio/gpio-pca953x.c:	u8 outreg = pca953x_recalc_addr(chip, chip->regs->output, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, outreg, bit, val ? bit : 0);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, dirreg, bit, 0);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 inreg = pca953x_recalc_addr(chip, chip->regs->input, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_read(chip->regmap, inreg, &reg_val);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 outreg = pca953x_recalc_addr(chip, chip->regs->output, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	regmap_write_bits(chip->regmap, outreg, bit, val ? bit : 0);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 dirreg = pca953x_recalc_addr(chip, chip->regs->direction, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_read(chip->regmap, dirreg, &reg_val);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_read_regs(chip, chip->regs->output, reg_val);
+drivers/gpio/gpio-pca953x.c:	pca953x_write_regs(chip, chip->regs->output, reg_val);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	if (!(chip->driver_data & PCA_PCAL))
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, pull_en_reg, bit, 0);
+drivers/gpio/gpio-pca953x.c:		ret = regmap_write_bits(chip->regmap, pull_sel_reg, bit, bit);
+drivers/gpio/gpio-pca953x.c:		ret = regmap_write_bits(chip->regmap, pull_sel_reg, bit, 0);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, pull_en_reg, bit, bit);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	gc = &chip->gpio_chip;
+drivers/gpio/gpio-pca953x.c:	gc->base = chip->gpio_start;
+drivers/gpio/gpio-pca953x.c:	gc->label = dev_name(&chip->client->dev);
+drivers/gpio/gpio-pca953x.c:	gc->parent = &chip->client->dev;
+drivers/gpio/gpio-pca953x.c:	gc->names = chip->names;
+drivers/gpio/gpio-pca953x.c:	clear_bit(hwirq, chip->irq_mask);
+drivers/gpio/gpio-pca953x.c:	set_bit(hwirq, chip->irq_mask);
+drivers/gpio/gpio-pca953x.c:		atomic_inc(&chip->wakeup_path);
+drivers/gpio/gpio-pca953x.c:		atomic_dec(&chip->wakeup_path);
+drivers/gpio/gpio-pca953x.c:	return irq_set_irq_wake(chip->client->irq, on);
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->irq_lock);
+drivers/gpio/gpio-pca953x.c:	pca953x_read_regs(chip, chip->regs->direction, reg_direction);
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:		pca953x_write_regs(chip, PCAL953X_IN_LATCH, chip->irq_mask);
+drivers/gpio/gpio-pca953x.c:		bitmap_complement(irq_mask, chip->irq_mask, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_or(irq_mask, chip->irq_trig_fall, chip->irq_trig_raise, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:		pca953x_gpio_direction_input(&chip->gpio_chip, level);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->irq_lock);
+drivers/gpio/gpio-pca953x.c:		dev_err(&chip->client->dev, "irq %d: unsupported type %d\n",
+drivers/gpio/gpio-pca953x.c:	assign_bit(hwirq, chip->irq_trig_fall, type & IRQ_TYPE_EDGE_FALLING);
+drivers/gpio/gpio-pca953x.c:	assign_bit(hwirq, chip->irq_trig_raise, type & IRQ_TYPE_EDGE_RISING);
+drivers/gpio/gpio-pca953x.c:	clear_bit(hwirq, chip->irq_trig_raise);
+drivers/gpio/gpio-pca953x.c:	clear_bit(hwirq, chip->irq_trig_fall);
+drivers/gpio/gpio-pca953x.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:		ret = pca953x_read_regs(chip, chip->regs->input, cur_stat);
+drivers/gpio/gpio-pca953x.c:		bitmap_replace(new_stat, chip->irq_trig_fall, chip->irq_trig_raise, cur_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_read_regs(chip, chip->regs->input, cur_stat);
+drivers/gpio/gpio-pca953x.c:	pca953x_read_regs(chip, chip->regs->direction, reg_direction);
+drivers/gpio/gpio-pca953x.c:	bitmap_copy(old_stat, chip->irq_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(trigger, cur_stat, chip->irq_mask, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_copy(chip->irq_stat, new_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(cur_stat, chip->irq_trig_fall, old_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(old_stat, chip->irq_trig_raise, new_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/gpio/gpio-pca953x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-pca953x.c:	struct irq_chip *irq_chip = &chip->irq_chip;
+drivers/gpio/gpio-pca953x.c:	if (!(chip->driver_data & PCA_INT))
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_read_regs(chip, chip->regs->input, irq_stat);
+drivers/gpio/gpio-pca953x.c:	pca953x_read_regs(chip, chip->regs->direction, reg_direction);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(chip->irq_stat, irq_stat, reg_direction, chip->gpio_chip.ngpio);
+drivers/gpio/gpio-pca953x.c:	mutex_init(&chip->irq_lock);
+drivers/gpio/gpio-pca953x.c:	irq_chip->name = dev_name(&chip->client->dev);
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_mask = pca953x_irq_mask;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_unmask = pca953x_irq_unmask;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_set_wake = pca953x_irq_set_wake;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_bus_lock = pca953x_irq_bus_lock;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_bus_sync_unlock = pca953x_irq_bus_sync_unlock;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_set_type = pca953x_irq_set_type;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_shutdown = pca953x_irq_shutdown;
+drivers/gpio/gpio-pca953x.c:	ret = gpiochip_irqchip_add_nested(&chip->gpio_chip, irq_chip,
+drivers/gpio/gpio-pca953x.c:	gpiochip_set_nested_irqchip(&chip->gpio_chip, irq_chip, client->irq);
+drivers/gpio/gpio-pca953x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-pca953x.c:	if (client->irq && irq_base != -1 && (chip->driver_data & PCA_INT))
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->output,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->output + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->direction,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->direction + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_write_regs(chip, chip->regs->invert, val);
+drivers/gpio/gpio-pca953x.c:		chip->gpio_start = pdata->gpio_base;
+drivers/gpio/gpio-pca953x.c:		chip->names = pdata->names;
+drivers/gpio/gpio-pca953x.c:		chip->gpio_start = -1;
+drivers/gpio/gpio-pca953x.c:	chip->client = client;
+drivers/gpio/gpio-pca953x.c:	chip->regulator = reg;
+drivers/gpio/gpio-pca953x.c:		chip->driver_data = i2c_id->driver_data;
+drivers/gpio/gpio-pca953x.c:		chip->driver_data = (uintptr_t)match;
+drivers/gpio/gpio-pca953x.c:	chip->regmap = devm_regmap_init_i2c(client, &pca953x_i2c_regmap);
+drivers/gpio/gpio-pca953x.c:	if (IS_ERR(chip->regmap)) {
+drivers/gpio/gpio-pca953x.c:		ret = PTR_ERR(chip->regmap);
+drivers/gpio/gpio-pca953x.c:	regcache_mark_dirty(chip->regmap);
+drivers/gpio/gpio-pca953x.c:	mutex_init(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	 * subclass for chip->i2c_lock.
+drivers/gpio/gpio-pca953x.c:	lockdep_set_subclass(&chip->i2c_lock,
+drivers/gpio/gpio-pca953x.c:	pca953x_setup_gpio(chip, chip->driver_data & PCA_GPIO_MASK);
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) {
+drivers/gpio/gpio-pca953x.c:		chip->regs = &pca953x_regs;
+drivers/gpio/gpio-pca953x.c:		chip->regs = &pca957x_regs;
+drivers/gpio/gpio-pca953x.c:	ret = devm_gpiochip_add_data(&client->dev, &chip->gpio_chip, chip);
+drivers/gpio/gpio-pca953x.c:		ret = pdata->setup(client, chip->gpio_chip.base,
+drivers/gpio/gpio-pca953x.c:				   chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-pca953x.c:	regulator_disable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:		ret = pdata->teardown(client, chip->gpio_chip.base,
+drivers/gpio/gpio-pca953x.c:				      chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-pca953x.c:	regulator_disable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->direction,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->direction + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->output,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->output + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:		ret = regcache_sync_region(chip->regmap, PCAL953X_IN_LATCH,
+drivers/gpio/gpio-pca953x.c:		ret = regcache_sync_region(chip->regmap, PCAL953X_INT_MASK,
+drivers/gpio/gpio-pca953x.c:	regcache_cache_only(chip->regmap, true);
+drivers/gpio/gpio-pca953x.c:	if (atomic_read(&chip->wakeup_path))
+drivers/gpio/gpio-pca953x.c:		regulator_disable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:	if (!atomic_read(&chip->wakeup_path)) {
+drivers/gpio/gpio-pca953x.c:		ret = regulator_enable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:	regcache_cache_only(chip->regmap, false);
+drivers/gpio/gpio-pca953x.c:	regcache_mark_dirty(chip->regmap);
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync(chip->regmap);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	reg_val = ioread32(&chip->reg->po);
+drivers/gpio/gpio-pch.c:	iowrite32(reg_val, &chip->reg->po);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	return (ioread32(&chip->reg->pi) >> nr) & 1;
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	reg_val = ioread32(&chip->reg->po);
+drivers/gpio/gpio-pch.c:	iowrite32(reg_val, &chip->reg->po);
+drivers/gpio/gpio-pch.c:	pm = ioread32(&chip->reg->pm) & ((1 << gpio_pins[chip->ioh]) - 1);
+drivers/gpio/gpio-pch.c:	iowrite32(pm, &chip->reg->pm);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	pm = ioread32(&chip->reg->pm) & ((1 << gpio_pins[chip->ioh]) - 1);
+drivers/gpio/gpio-pch.c:	iowrite32(pm, &chip->reg->pm);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.ien_reg = ioread32(&chip->reg->ien);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.imask_reg = ioread32(&chip->reg->imask);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.po_reg = ioread32(&chip->reg->po);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.pm_reg = ioread32(&chip->reg->pm);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.im0_reg = ioread32(&chip->reg->im0);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == INTEL_EG20T_PCH)
+drivers/gpio/gpio-pch.c:		chip->pch_gpio_reg.im1_reg = ioread32(&chip->reg->im1);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == OKISEMI_ML7223n_IOH)
+drivers/gpio/gpio-pch.c:		chip->pch_gpio_reg.gpio_use_sel_reg = ioread32(&chip->reg->gpio_use_sel);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.ien_reg, &chip->reg->ien);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.imask_reg, &chip->reg->imask);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.po_reg, &chip->reg->po);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.pm_reg, &chip->reg->pm);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.im0_reg, &chip->reg->im0);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == INTEL_EG20T_PCH)
+drivers/gpio/gpio-pch.c:		iowrite32(chip->pch_gpio_reg.im1_reg, &chip->reg->im1);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == OKISEMI_ML7223n_IOH)
+drivers/gpio/gpio-pch.c:		iowrite32(chip->pch_gpio_reg.gpio_use_sel_reg, &chip->reg->gpio_use_sel);
+drivers/gpio/gpio-pch.c:	return chip->irq_base + offset;
+drivers/gpio/gpio-pch.c:	struct gpio_chip *gpio = &chip->gpio;
+drivers/gpio/gpio-pch.c:	gpio->label = dev_name(chip->dev);
+drivers/gpio/gpio-pch.c:	gpio->parent = chip->dev;
+drivers/gpio/gpio-pch.c:	gpio->ngpio = gpio_pins[chip->ioh];
+drivers/gpio/gpio-pch.c:	ch = irq - chip->irq_base;
+drivers/gpio/gpio-pch.c:	if (irq <= chip->irq_base + 7) {
+drivers/gpio/gpio-pch.c:		im_reg = &chip->reg->im0;
+drivers/gpio/gpio-pch.c:		im_reg = &chip->reg->im1;
+drivers/gpio/gpio-pch.c:	dev_dbg(chip->dev, "irq=%d type=%d ch=%d pos=%d\n", irq, type, ch, im_pos);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	iowrite32(1 << (d->irq - chip->irq_base), &chip->reg->imaskclr);
+drivers/gpio/gpio-pch.c:	iowrite32(1 << (d->irq - chip->irq_base), &chip->reg->imask);
+drivers/gpio/gpio-pch.c:	iowrite32(1 << (d->irq - chip->irq_base), &chip->reg->iclr);
+drivers/gpio/gpio-pch.c:	unsigned long reg_val = ioread32(&chip->reg->istatus);
+drivers/gpio/gpio-pch.c:	for_each_set_bit(i, &reg_val, gpio_pins[chip->ioh]) {
+drivers/gpio/gpio-pch.c:		dev_dbg(chip->dev, "[%d]:irq=%d  status=0x%lx\n", i, irq, reg_val);
+drivers/gpio/gpio-pch.c:		generic_handle_irq(chip->irq_base + i);
+drivers/gpio/gpio-pch.c:	gc = devm_irq_alloc_generic_chip(chip->dev, "pch_gpio", 1, irq_start,
+drivers/gpio/gpio-pch.c:					 chip->base, handle_simple_irq);
+drivers/gpio/gpio-pch.c:	rv = devm_irq_setup_generic_chip(chip->dev, gc, IRQ_MSK(num),
+drivers/gpio/gpio-pch.c:	chip->dev = &pdev->dev;
+drivers/gpio/gpio-pch.c:	chip->base = pcim_iomap_table(pdev)[1];
+drivers/gpio/gpio-pch.c:		chip->ioh = INTEL_EG20T_PCH;
+drivers/gpio/gpio-pch.c:		chip->ioh = OKISEMI_ML7223m_IOH;
+drivers/gpio/gpio-pch.c:		chip->ioh = OKISEMI_ML7223n_IOH;
+drivers/gpio/gpio-pch.c:	chip->reg = chip->base;
+drivers/gpio/gpio-pch.c:	spin_lock_init(&chip->spinlock);
+drivers/gpio/gpio-pch.c:	ret = devm_gpiochip_add_data(&pdev->dev, &chip->gpio, chip);
+drivers/gpio/gpio-pch.c:					gpio_pins[chip->ioh], NUMA_NO_NODE);
+drivers/gpio/gpio-pch.c:		chip->irq_base = -1;
+drivers/gpio/gpio-pch.c:	chip->irq_base = irq_base;
+drivers/gpio/gpio-pch.c:	msk = (1 << gpio_pins[chip->ioh]) - 1;
+drivers/gpio/gpio-pch.c:	iowrite32(msk, &chip->reg->imask);
+drivers/gpio/gpio-pch.c:	iowrite32(msk, &chip->reg->ien);
+drivers/gpio/gpio-pch.c:	return pch_gpio_alloc_generic_chip(chip, irq_base, gpio_pins[chip->ioh]);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	iowrite32(0x01, &chip->reg->reset);
+drivers/gpio/gpio-pch.c:	iowrite32(0x00, &chip->reg->reset);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pci-idio-16.c:	chip->set(chip, offset, value);
+drivers/gpio/gpio-pci-idio-16.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-pci-idio-16.c:	for_each_set_bit(gpio, &idio16gpio->irq_mask, chip->ngpio)
+drivers/gpio/gpio-pci-idio-16.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, gpio));
+drivers/gpio/gpio-pcie-idio-24.c:	chip->set(chip, offset, value);
+drivers/gpio/gpio-pcie-idio-24.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-pcie-idio-24.c:	for_each_set_bit(gpio, &irq_mask, chip->ngpio - 24)
+drivers/gpio/gpio-pcie-idio-24.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-pisosr.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-pisosr.c:	for_each_set_clump8(offset, gpio_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-pmic-eic-sprd.c:		dev_warn(chip->parent, "PMIC EIC level was changed.\n");
+drivers/gpio/gpio-pmic-eic-sprd.c:	for_each_set_bit(n, &status, chip->ngpio) {
+drivers/gpio/gpio-pmic-eic-sprd.c:		girq = irq_find_mapping(chip->irq.domain, n);
+drivers/gpio/gpio-pxa.c:	base = gpio_bank_base(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	irq_gpio0 = irq_find_mapping(pchip->irqdomain, 0);
+drivers/gpio/gpio-pxa.c:	return irq_find_mapping(pchip->irqdomain, offset);
+drivers/gpio/gpio-pxa.c:		ret = pinctrl_gpio_direction_input(chip->base + offset);
+drivers/gpio/gpio-pxa.c:	if (__gpio_is_inverted(chip->base + offset))
+drivers/gpio/gpio-pxa.c:		ret = pinctrl_gpio_direction_output(chip->base + offset);
+drivers/gpio/gpio-pxa.c:	if (__gpio_is_inverted(chip->base + offset))
+drivers/gpio/gpio-pxa.c:	pchip->banks = devm_kcalloc(pchip->dev, nbanks, sizeof(*pchip->banks),
+drivers/gpio/gpio-pxa.c:	if (!pchip->banks)
+drivers/gpio/gpio-pxa.c:	pchip->chip.label = "gpio-pxa";
+drivers/gpio/gpio-pxa.c:	pchip->chip.direction_input  = pxa_gpio_direction_input;
+drivers/gpio/gpio-pxa.c:	pchip->chip.direction_output = pxa_gpio_direction_output;
+drivers/gpio/gpio-pxa.c:	pchip->chip.get = pxa_gpio_get;
+drivers/gpio/gpio-pxa.c:	pchip->chip.set = pxa_gpio_set;
+drivers/gpio/gpio-pxa.c:	pchip->chip.to_irq = pxa_gpio_to_irq;
+drivers/gpio/gpio-pxa.c:	pchip->chip.ngpio = ngpio;
+drivers/gpio/gpio-pxa.c:		pchip->chip.request = gpiochip_generic_request;
+drivers/gpio/gpio-pxa.c:		pchip->chip.free = gpiochip_generic_free;
+drivers/gpio/gpio-pxa.c:	pchip->chip.of_node = np;
+drivers/gpio/gpio-pxa.c:	pchip->chip.of_xlate = pxa_gpio_of_xlate;
+drivers/gpio/gpio-pxa.c:	pchip->chip.of_gpio_n_cells = 2;
+drivers/gpio/gpio-pxa.c:		bank = pchip->banks + i;
+drivers/gpio/gpio-pxa.c:	return gpiochip_add_data(&pchip->chip, pchip);
+drivers/gpio/gpio-pxa.c:	struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:					irq_find_mapping(pchip->irqdomain,
+drivers/gpio/gpio-pxa.c:	if (in_irq == pchip->irq0) {
+drivers/gpio/gpio-pxa.c:		generic_handle_irq(irq_find_mapping(pchip->irqdomain, 0));
+drivers/gpio/gpio-pxa.c:	} else if (in_irq == pchip->irq1) {
+drivers/gpio/gpio-pxa.c:		generic_handle_irq(irq_find_mapping(pchip->irqdomain, 1));
+drivers/gpio/gpio-pxa.c:	void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	struct pxa_gpio_bank *b = gpio_to_pxabank(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	if (pchip->set_wake)
+drivers/gpio/gpio-pxa.c:		return pchip->set_wake(gpio, on);
+drivers/gpio/gpio-pxa.c:	struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	pchip->dev = &pdev->dev;
+drivers/gpio/gpio-pxa.c:		pchip->set_wake = info->gpio_set_wake;
+drivers/gpio/gpio-pxa.c:	pchip->irqdomain = irq_domain_add_legacy(pdev->dev.of_node,
+drivers/gpio/gpio-pxa.c:	if (!pchip->irqdomain)
+drivers/gpio/gpio-pxa.c:	pchip->irq0 = irq0;
+drivers/gpio/gpio-pxa.c:	pchip->irq1 = irq1;
+drivers/gpio/gpio-rcar.c:	error = pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-rcar.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-rcar.c:	bankmask = mask[0] & GENMASK(chip->ngpio - 1, 0);
+drivers/gpio/gpio-rcar.c:	if (chip->valid_mask)
+drivers/gpio/gpio-rcar.c:		bankmask &= chip->valid_mask[0];
+drivers/gpio/gpio-rcar.c:	gpio_chip->request = gpio_rcar_request;
+drivers/gpio/gpio-rcar.c:	gpio_chip->free = gpio_rcar_free;
+drivers/gpio/gpio-rcar.c:	gpio_chip->get_direction = gpio_rcar_get_direction;
+drivers/gpio/gpio-rcar.c:	gpio_chip->direction_input = gpio_rcar_direction_input;
+drivers/gpio/gpio-rcar.c:	gpio_chip->get = gpio_rcar_get;
+drivers/gpio/gpio-rcar.c:	gpio_chip->direction_output = gpio_rcar_direction_output;
+drivers/gpio/gpio-rcar.c:	gpio_chip->set = gpio_rcar_set;
+drivers/gpio/gpio-rcar.c:	gpio_chip->set_multiple = gpio_rcar_set_multiple;
+drivers/gpio/gpio-rcar.c:	gpio_chip->label = name;
+drivers/gpio/gpio-rcar.c:	gpio_chip->parent = dev;
+drivers/gpio/gpio-rcar.c:	gpio_chip->owner = THIS_MODULE;
+drivers/gpio/gpio-rcar.c:	gpio_chip->base = -1;
+drivers/gpio/gpio-rcar.c:	gpio_chip->ngpio = npins;
+drivers/gpio/gpio-rcar.c:	irq_chip->name = "gpio-rcar";
+drivers/gpio/gpio-rcar.c:	irq_chip->parent_device = dev;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_mask = gpio_rcar_irq_disable;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_unmask = gpio_rcar_irq_enable;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_set_type = gpio_rcar_irq_set_type;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_set_wake = gpio_rcar_irq_set_wake;
+drivers/gpio/gpio-rcar.c:	irq_chip->flags = IRQCHIP_SET_TYPE_MASKED | IRQCHIP_MASK_ON_SUSPEND;
+drivers/gpio/gpio-rda.c:		girq = irq_find_mapping(chip->irq.domain, n);
+drivers/gpio/gpio-sch311x.c:		dev_err(chip->parent, "Failed to request region 0x%04x.\n",
+drivers/gpio/gpio-sprd.c:	for (bank = 0; bank * SPRD_GPIO_BANK_NR < chip->ngpio; bank++) {
+drivers/gpio/gpio-sprd.c:			girq = irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	return chip->irq_base + offset;
+drivers/gpio/gpio-sta2x11.c:	struct gpio_chip *gpio = &chip->gpio;
+drivers/gpio/gpio-sta2x11.c:	gpio->label = dev_name(chip->dev);
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:		spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	int nr = data->irq - chip->irq_base;
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	if (chip->irq_type[nr] & IRQ_TYPE_EDGE_RISING) {
+drivers/gpio/gpio-sta2x11.c:	if (chip->irq_type[nr] & IRQ_TYPE_EDGE_FALLING) {
+drivers/gpio/gpio-sta2x11.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	int nr = data->irq - chip->irq_base;
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	type = chip->irq_type[nr];
+drivers/gpio/gpio-sta2x11.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	int nr = d->irq - chip->irq_base;
+drivers/gpio/gpio-sta2x11.c:	chip->irq_type[nr] = type; /* used for enable/disable */
+drivers/gpio/gpio-sta2x11.c:		regs = chip->regs[i];
+drivers/gpio/gpio-sta2x11.c:		base = chip->irq_base + i * GSTA_GPIO_PER_BLOCK;
+drivers/gpio/gpio-sta2x11.c:	gc = devm_irq_alloc_generic_chip(chip->dev, KBUILD_MODNAME, 1,
+drivers/gpio/gpio-sta2x11.c:					 chip->irq_base,
+drivers/gpio/gpio-sta2x11.c:					 chip->reg_base, handle_simple_irq);
+drivers/gpio/gpio-sta2x11.c:	rv = devm_irq_setup_generic_chip(chip->dev, gc,
+drivers/gpio/gpio-sta2x11.c:			i = chip->irq_base + j;
+drivers/gpio/gpio-sta2x11.c:	chip->dev = &dev->dev;
+drivers/gpio/gpio-sta2x11.c:	chip->reg_base = devm_platform_ioremap_resource(dev, 0);
+drivers/gpio/gpio-sta2x11.c:	if (IS_ERR(chip->reg_base))
+drivers/gpio/gpio-sta2x11.c:		return PTR_ERR(chip->reg_base);
+drivers/gpio/gpio-sta2x11.c:		chip->regs[i] = chip->reg_base + i * 4096;
+drivers/gpio/gpio-sta2x11.c:		writel(0, &chip->regs[i]->rimsc);
+drivers/gpio/gpio-sta2x11.c:		writel(0, &chip->regs[i]->fimsc);
+drivers/gpio/gpio-sta2x11.c:		writel(~0, &chip->regs[i]->ic);
+drivers/gpio/gpio-sta2x11.c:	spin_lock_init(&chip->lock);
+drivers/gpio/gpio-sta2x11.c:	chip->irq_base = err;
+drivers/gpio/gpio-sta2x11.c:	err = devm_gpiochip_add_data(&dev->dev, &chip->gpio, chip);
+drivers/gpio/gpio-stp-xway.c: * xway_stp_get() - gpio_chip->get - get gpios.
+drivers/gpio/gpio-stp-xway.c:	return (xway_stp_r32(chip->virt, XWAY_STP_CPU0) & BIT(gpio));
+drivers/gpio/gpio-stp-xway.c: * xway_stp_set() - gpio_chip->set - set gpios.
+drivers/gpio/gpio-stp-xway.c:		chip->shadow |= BIT(gpio);
+drivers/gpio/gpio-stp-xway.c:		chip->shadow &= ~BIT(gpio);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, chip->shadow, XWAY_STP_CPU0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt, 0, XWAY_STP_CON_SWU, XWAY_STP_CON0);
+drivers/gpio/gpio-stp-xway.c: * xway_stp_dir_out() - gpio_chip->dir_out - set gpio direction.
+drivers/gpio/gpio-stp-xway.c: * xway_stp_request() - gpio_chip->request
+drivers/gpio/gpio-stp-xway.c:	if ((gpio < 8) && (chip->reserved & BIT(gpio))) {
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_AR);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_CPU0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_CPU1);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, XWAY_STP_CON_SWU, XWAY_STP_CON0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_CON1);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt, XWAY_STP_EDGE_MASK,
+drivers/gpio/gpio-stp-xway.c:				chip->edge, XWAY_STP_CON0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt, XWAY_STP_GROUP_MASK,
+drivers/gpio/gpio-stp-xway.c:				chip->groups, XWAY_STP_CON1);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt,
+drivers/gpio/gpio-stp-xway.c:			chip->dsl << XWAY_STP_ADSL_SHIFT,
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt,
+drivers/gpio/gpio-stp-xway.c:			chip->phy1 << XWAY_STP_PHY1_SHIFT,
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt,
+drivers/gpio/gpio-stp-xway.c:			chip->phy2 << XWAY_STP_PHY2_SHIFT,
+drivers/gpio/gpio-stp-xway.c:	chip->reserved = (chip->phy2 << 5) | (chip->phy1 << 2) | chip->dsl;
+drivers/gpio/gpio-stp-xway.c:	if (chip->reserved)
+drivers/gpio/gpio-stp-xway.c:		xway_stp_w32_mask(chip->virt, XWAY_STP_UPD_MASK,
+drivers/gpio/gpio-stp-xway.c:	chip->virt = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-stp-xway.c:	if (IS_ERR(chip->virt))
+drivers/gpio/gpio-stp-xway.c:		return PTR_ERR(chip->virt);
+drivers/gpio/gpio-stp-xway.c:	chip->gc.parent = &pdev->dev;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.label = "stp-xway";
+drivers/gpio/gpio-stp-xway.c:	chip->gc.direction_output = xway_stp_dir_out;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.get = xway_stp_get;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.set = xway_stp_set;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.request = xway_stp_request;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.base = -1;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-stp-xway.c:		chip->shadow = shadow;
+drivers/gpio/gpio-stp-xway.c:		chip->groups = groups & XWAY_STP_GROUP_MASK;
+drivers/gpio/gpio-stp-xway.c:		chip->groups = XWAY_STP_GROUP0;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.ngpio = fls(chip->groups) * 8;
+drivers/gpio/gpio-stp-xway.c:		chip->dsl = dsl & XWAY_STP_ADSL_MASK;
+drivers/gpio/gpio-stp-xway.c:			chip->phy1 = phy & XWAY_STP_PHY_MASK;
+drivers/gpio/gpio-stp-xway.c:			chip->phy2 = phy & XWAY_STP_PHY_MASK;
+drivers/gpio/gpio-stp-xway.c:		chip->edge = XWAY_STP_FALLING;
+drivers/gpio/gpio-stp-xway.c:	ret = devm_gpiochip_add_data(&pdev->dev, &chip->gc, chip);
+drivers/gpio/gpio-syscon.c:	chip->set(chip, offset, val);
+drivers/gpio/gpio-syscon.c:		dev_err(chip->parent, "gpio write failed ret(%d)\n", ret);
+drivers/gpio/gpio-syscon.c:		dev_err(chip->parent, "gpio write failed ret(%d)\n", ret);
+drivers/gpio/gpio-tegra.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-tegra.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-tegra.c:	ret = pinctrl_gpio_direction_input(chip->base + offset);
+drivers/gpio/gpio-tegra.c:			 chip->base + offset, ret);
+drivers/gpio/gpio-tegra.c:	ret = pinctrl_gpio_direction_output(chip->base + offset);
+drivers/gpio/gpio-tegra.c:			 chip->base + offset, ret);
+drivers/gpio/gpio-tegra186.c:	chip->set(chip, offset, level);
+drivers/gpio/gpio-tegra186.c:	if (WARN_ON(chip->of_gpio_n_cells < 2))
+drivers/gpio/gpio-tegra186.c:	if (WARN_ON(spec->args_count < chip->of_gpio_n_cells))
+drivers/gpio/gpio-tegra186.c:		dev_err(chip->parent, "invalid port number: %u\n", port);
+drivers/gpio/gpio-tegra186.c:	*parent_hwirq = chip->irq.child_offset_to_irq(chip, hwirq);
+drivers/gpio/gpio-thunderx.c:	for (bank = 0; bank <= chip->ngpio / 64; bank++) {
+drivers/gpio/gpio-thunderx.c:	chip->label = KBUILD_MODNAME;
+drivers/gpio/gpio-thunderx.c:	chip->parent = dev;
+drivers/gpio/gpio-thunderx.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-thunderx.c:	chip->request = thunderx_gpio_request;
+drivers/gpio/gpio-thunderx.c:	chip->base = -1; /* System allocated */
+drivers/gpio/gpio-thunderx.c:	chip->can_sleep = false;
+drivers/gpio/gpio-thunderx.c:	chip->ngpio = ngpio;
+drivers/gpio/gpio-thunderx.c:	chip->get_direction = thunderx_gpio_get_direction;
+drivers/gpio/gpio-thunderx.c:	chip->direction_input = thunderx_gpio_dir_in;
+drivers/gpio/gpio-thunderx.c:	chip->get = thunderx_gpio_get;
+drivers/gpio/gpio-thunderx.c:	chip->direction_output = thunderx_gpio_dir_out;
+drivers/gpio/gpio-thunderx.c:	chip->set = thunderx_gpio_set;
+drivers/gpio/gpio-thunderx.c:	chip->set_multiple = thunderx_gpio_set_multiple;
+drivers/gpio/gpio-thunderx.c:	chip->set_config = thunderx_gpio_set_config;
+drivers/gpio/gpio-thunderx.c:	girq = &chip->irq;
+drivers/gpio/gpio-thunderx.c:		err = irq_domain_push_irq(chip->irq.domain,
+drivers/gpio/gpio-thunderx.c:		 ngpio, chip->base);
+drivers/gpio/gpio-timberdale.c:	data->chip->irq_ack(data);
+drivers/gpio/gpio-tqmx86.c:	chip->label = "gpio-tqmx86";
+drivers/gpio/gpio-tqmx86.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-tqmx86.c:	chip->can_sleep = false;
+drivers/gpio/gpio-tqmx86.c:	chip->base = -1;
+drivers/gpio/gpio-tqmx86.c:	chip->direction_input = tqmx86_gpio_direction_input;
+drivers/gpio/gpio-tqmx86.c:	chip->direction_output = tqmx86_gpio_direction_output;
+drivers/gpio/gpio-tqmx86.c:	chip->get_direction = tqmx86_gpio_get_direction;
+drivers/gpio/gpio-tqmx86.c:	chip->get = tqmx86_gpio_get;
+drivers/gpio/gpio-tqmx86.c:	chip->set = tqmx86_gpio_set;
+drivers/gpio/gpio-tqmx86.c:	chip->ngpio = TQMX86_NGPIO;
+drivers/gpio/gpio-tqmx86.c:	chip->parent = pdev->dev.parent;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->name = chip->label;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->parent_device = &pdev->dev;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->irq_mask = tqmx86_gpio_irq_mask;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->irq_unmask = tqmx86_gpio_irq_unmask;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->irq_set_type = tqmx86_gpio_irq_set_type;
+drivers/gpio/gpio-tqmx86.c:		girq = &chip->irq;
+drivers/gpio/gpio-tqmx86.c:		 chip->ngpio);
+drivers/gpio/gpio-ts4800.c:	chip->ngpio = ngpios;
+drivers/gpio/gpio-twl4030.c:		pdata = dev_get_platdata(chip->parent);
+drivers/gpio/gpio-twl6040.c:	struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent);
+drivers/gpio/gpio-twl6040.c:	struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent);
+drivers/gpio/gpio-uniphier.c:	for_each_set_clump8(i, bank_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-uniphier.c:	fwspec.fwnode = of_node_to_fwnode(chip->parent->of_node);
+drivers/gpio/gpio-uniphier.c:	chip->label = dev_name(dev);
+drivers/gpio/gpio-uniphier.c:	chip->parent = dev;
+drivers/gpio/gpio-uniphier.c:	chip->request = gpiochip_generic_request;
+drivers/gpio/gpio-uniphier.c:	chip->free = gpiochip_generic_free;
+drivers/gpio/gpio-uniphier.c:	chip->get_direction = uniphier_gpio_get_direction;
+drivers/gpio/gpio-uniphier.c:	chip->direction_input = uniphier_gpio_direction_input;
+drivers/gpio/gpio-uniphier.c:	chip->direction_output = uniphier_gpio_direction_output;
+drivers/gpio/gpio-uniphier.c:	chip->get = uniphier_gpio_get;
+drivers/gpio/gpio-uniphier.c:	chip->set = uniphier_gpio_set;
+drivers/gpio/gpio-uniphier.c:	chip->set_multiple = uniphier_gpio_set_multiple;
+drivers/gpio/gpio-uniphier.c:	chip->to_irq = uniphier_gpio_to_irq;
+drivers/gpio/gpio-uniphier.c:	chip->base = -1;
+drivers/gpio/gpio-uniphier.c:	chip->ngpio = ngpios;
+drivers/gpio/gpio-uniphier.c:	irq_chip->name = dev_name(dev);
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_mask = uniphier_gpio_irq_mask;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_unmask = uniphier_gpio_irq_unmask;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_eoi = irq_chip_eoi_parent;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_set_affinity = irq_chip_set_affinity_parent;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_set_type = uniphier_gpio_irq_set_type;
+drivers/gpio/gpio-vf610.c:	return pinctrl_gpio_direction_input(chip->base + gpio);
+drivers/gpio/gpio-vf610.c:	return pinctrl_gpio_direction_output(chip->base + gpio);
+drivers/gpio/gpio-viperboard.c:			dev_err(chip->parent, "usb error setting pin value\n");
+drivers/gpio/gpio-viperboard.c:			dev_err(chip->parent, "usb error setting pin value\n");
+drivers/gpio/gpio-viperboard.c:		dev_err(chip->parent, "usb error setting pin to input\n");
+drivers/gpio/gpio-viperboard.c:		dev_err(chip->parent, "usb error setting pin to output\n");
+drivers/gpio/gpio-vr41xx.c:	if (pin >= chip->ngpio)
+drivers/gpio/gpio-vr41xx.c:	if (pin >= chip->ngpio)
+drivers/gpio/gpio-vr41xx.c:	if (pin >= chip->ngpio)
+drivers/gpio/gpio-vr41xx.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpio-wm831x.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-wm831x.c:		int gpio = i + chip->base;
+drivers/gpio/gpio-wm8994.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-wm8994.c:		int gpio = i + chip->base;
+drivers/gpio/gpio-ws16c48.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-ws16c48.c:	for_each_set_clump8(offset, gpio_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-ws16c48.c:	for_each_set_clump8(offset, gpio_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-ws16c48.c:					chip->irq.domain, gpio + 8*port));
+drivers/gpio/gpio-xgene.c:	return !!(ioread32(chip->base + bank_offset) & BIT(bit_offset));
+drivers/gpio/gpio-xgene.c:	setval = ioread32(chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	iowrite32(setval, chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	if (ioread32(chip->base + bank_offset) & BIT(bit_offset))
+drivers/gpio/gpio-xgene.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	dirval = ioread32(chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	iowrite32(dirval, chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	dirval = ioread32(chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	iowrite32(dirval, chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_EVENT);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	event_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	int_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	event_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	int_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:		event_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(event_pol, chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		event_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(event_pol, chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		int_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(int_pol, chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		int_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(int_pol, chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	int_status = readl_relaxed(chip->intr + IPROC_CCA_INT_STS);
+drivers/gpio/gpio-xgs-iproc.c:		    readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:		event &= readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT);
+drivers/gpio/gpio-xgs-iproc.c:		level = readl_relaxed(chip->base + IPROC_GPIO_CCA_DIN);
+drivers/gpio/gpio-xgs-iproc.c:		level ^= readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		    readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	chip->dev = dev;
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_init(&chip->lock);
+drivers/gpio/gpio-xgs-iproc.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-xgs-iproc.c:	if (IS_ERR(chip->base))
+drivers/gpio/gpio-xgs-iproc.c:		return PTR_ERR(chip->base);
+drivers/gpio/gpio-xgs-iproc.c:	ret = bgpio_init(&chip->gc, dev, 4,
+drivers/gpio/gpio-xgs-iproc.c:			 chip->base + IPROC_GPIO_CCA_DIN,
+drivers/gpio/gpio-xgs-iproc.c:			 chip->base + IPROC_GPIO_CCA_DOUT,
+drivers/gpio/gpio-xgs-iproc.c:			 chip->base + IPROC_GPIO_CCA_OUT_EN,
+drivers/gpio/gpio-xgs-iproc.c:	chip->gc.label = dev_name(dev);
+drivers/gpio/gpio-xgs-iproc.c:		chip->gc.ngpio = num_gpios;
+drivers/gpio/gpio-xgs-iproc.c:		irqc = &chip->irqchip;
+drivers/gpio/gpio-xgs-iproc.c:		chip->intr = devm_platform_ioremap_resource(pdev, 1);
+drivers/gpio/gpio-xgs-iproc.c:		if (IS_ERR(chip->intr))
+drivers/gpio/gpio-xgs-iproc.c:			return PTR_ERR(chip->intr);
+drivers/gpio/gpio-xgs-iproc.c:		val = readl_relaxed(chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(val, chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:				       IRQF_SHARED, chip->gc.label, &chip->gc);
+drivers/gpio/gpio-xgs-iproc.c:		girq = &chip->gc.irq;
+drivers/gpio/gpio-xgs-iproc.c:	ret = devm_gpiochip_add_data(dev, &chip->gc, chip);
+drivers/gpio/gpio-xgs-iproc.c:	if (chip->intr) {
+drivers/gpio/gpio-xgs-iproc.c:		val = readl_relaxed(chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(val, chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xilinx.c:	if (gpio >= chip->gpio_width[0])
+drivers/gpio/gpio-xilinx.c:		return gpio - chip->gpio_width[0];
+drivers/gpio/gpio-xilinx.c:	val = xgpio_readreg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:		       xgpio_regoffset(chip, gpio), chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:			xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:				       chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:			spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:			spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:				chip->gpio_state[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:				chip->gpio_state[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:		       xgpio_regoffset(chip, i), chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	chip->gpio_dir[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET +
+drivers/gpio/gpio-xilinx.c:		       xgpio_regoffset(chip, gpio), chip->gpio_dir[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:			xgpio_regoffset(chip, gpio), chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:	chip->gpio_dir[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET +
+drivers/gpio/gpio-xilinx.c:			xgpio_regoffset(chip, gpio), chip->gpio_dir[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET,	chip->gpio_state[0]);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET, chip->gpio_dir[0]);
+drivers/gpio/gpio-xilinx.c:	if (!chip->gpio_width[1])
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_OFFSET,
+drivers/gpio/gpio-xilinx.c:		       chip->gpio_state[1]);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET + XGPIO_CHANNEL_OFFSET,
+drivers/gpio/gpio-xilinx.c:		       chip->gpio_dir[1]);
+drivers/gpio/gpio-xilinx.c:	of_property_read_u32(np, "xlnx,dout-default", &chip->gpio_state[0]);
+drivers/gpio/gpio-xilinx.c:	if (of_property_read_u32(np, "xlnx,tri-default", &chip->gpio_dir[0]))
+drivers/gpio/gpio-xilinx.c:		chip->gpio_dir[0] = 0xFFFFFFFF;
+drivers/gpio/gpio-xilinx.c:	if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0]))
+drivers/gpio/gpio-xilinx.c:		chip->gpio_width[0] = 32;
+drivers/gpio/gpio-xilinx.c:	spin_lock_init(&chip->gpio_lock[0]);
+drivers/gpio/gpio-xilinx.c:				     &chip->gpio_state[1]);
+drivers/gpio/gpio-xilinx.c:					 &chip->gpio_dir[1]))
+drivers/gpio/gpio-xilinx.c:			chip->gpio_dir[1] = 0xFFFFFFFF;
+drivers/gpio/gpio-xilinx.c:					 &chip->gpio_width[1]))
+drivers/gpio/gpio-xilinx.c:			chip->gpio_width[1] = 32;
+drivers/gpio/gpio-xilinx.c:		spin_lock_init(&chip->gpio_lock[1]);
+drivers/gpio/gpio-xilinx.c:	chip->gc.base = -1;
+drivers/gpio/gpio-xilinx.c:	chip->gc.ngpio = chip->gpio_width[0] + chip->gpio_width[1];
+drivers/gpio/gpio-xilinx.c:	chip->gc.parent = &pdev->dev;
+drivers/gpio/gpio-xilinx.c:	chip->gc.direction_input = xgpio_dir_in;
+drivers/gpio/gpio-xilinx.c:	chip->gc.direction_output = xgpio_dir_out;
+drivers/gpio/gpio-xilinx.c:	chip->gc.get = xgpio_get;
+drivers/gpio/gpio-xilinx.c:	chip->gc.set = xgpio_set;
+drivers/gpio/gpio-xilinx.c:	chip->gc.set_multiple = xgpio_set_multiple;
+drivers/gpio/gpio-xilinx.c:	chip->gc.label = dev_name(&pdev->dev);
+drivers/gpio/gpio-xilinx.c:	chip->regs = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-xilinx.c:	if (IS_ERR(chip->regs)) {
+drivers/gpio/gpio-xilinx.c:		return PTR_ERR(chip->regs);
+drivers/gpio/gpio-xilinx.c:	status = devm_gpiochip_add_data(&pdev->dev, &chip->gc, chip);
+drivers/gpio/gpio-xra1403.c:		dev_err(chip->parent, "Failed to set pin: %d, ret: %d\n",
+drivers/gpio/gpio-xra1403.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-xra1403.c:			   chip->base + i, label,
+drivers/gpio/gpio-zx.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	gpiodir = readw_relaxed(chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpiodir, chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	gpiodir = readw_relaxed(chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpiodir, chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO1);
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO0);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	return !!(readw_relaxed(chip->base + ZX_GPIO_DI) & BIT(offset));
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO1);
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO0);
+drivers/gpio/gpio-zx.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	gpioiev = readw_relaxed(chip->base + ZX_GPIO_IV);
+drivers/gpio/gpio-zx.c:	gpiois = readw_relaxed(chip->base + ZX_GPIO_IVE);
+drivers/gpio/gpio-zx.c:	gpioi_epos = readw_relaxed(chip->base + ZX_GPIO_IEP);
+drivers/gpio/gpio-zx.c:	gpioi_eneg = readw_relaxed(chip->base + ZX_GPIO_IEN);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpiois, chip->base + ZX_GPIO_IVE);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioi_epos, chip->base + ZX_GPIO_IEP);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioi_eneg, chip->base + ZX_GPIO_IEN);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioiev, chip->base + ZX_GPIO_IV);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	pending = readw_relaxed(chip->base + ZX_GPIO_MIS);
+drivers/gpio/gpio-zx.c:	writew_relaxed(pending, chip->base + ZX_GPIO_IC);
+drivers/gpio/gpio-zx.c:	raw_spin_lock(&chip->lock);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IM) | mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IM);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IE) & ~mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IE);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock(&chip->lock);
+drivers/gpio/gpio-zx.c:	raw_spin_lock(&chip->lock);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IM) & ~mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IM);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IE) | mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IE);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock(&chip->lock);
+drivers/gpio/gpio-zx.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-zx.c:	if (IS_ERR(chip->base))
+drivers/gpio/gpio-zx.c:		return PTR_ERR(chip->base);
+drivers/gpio/gpio-zx.c:	raw_spin_lock_init(&chip->lock);
+drivers/gpio/gpio-zx.c:		chip->gc.request = gpiochip_generic_request;
+drivers/gpio/gpio-zx.c:		chip->gc.free = gpiochip_generic_free;
+drivers/gpio/gpio-zx.c:	chip->gc.direction_input = zx_direction_input;
+drivers/gpio/gpio-zx.c:	chip->gc.direction_output = zx_direction_output;
+drivers/gpio/gpio-zx.c:	chip->gc.get = zx_get_value;
+drivers/gpio/gpio-zx.c:	chip->gc.set = zx_set_value;
+drivers/gpio/gpio-zx.c:	chip->gc.base = ZX_GPIO_NR * id;
+drivers/gpio/gpio-zx.c:	chip->gc.ngpio = ZX_GPIO_NR;
+drivers/gpio/gpio-zx.c:	chip->gc.label = dev_name(dev);
+drivers/gpio/gpio-zx.c:	chip->gc.parent = dev;
+drivers/gpio/gpio-zx.c:	chip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-zx.c:	writew_relaxed(0xffff, chip->base + ZX_GPIO_IM);
+drivers/gpio/gpio-zx.c:	writew_relaxed(0, chip->base + ZX_GPIO_IE);
+drivers/gpio/gpio-zx.c:	girq = &chip->gc.irq;
+drivers/gpio/gpio-zx.c:	ret = gpiochip_add_data(&chip->gc, chip);
+drivers/gpio/gpio-zynq.c:	ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-zynq.c:	pm_runtime_put(chip->parent);
+drivers/gpio/gpio-zynq.c:	ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-zynq.c:	pm_runtime_put(chip->parent);
+drivers/gpio/gpio-zynq.c:	chip->label = gpio->p_data->label;
+drivers/gpio/gpio-zynq.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-zynq.c:	chip->parent = &pdev->dev;
+drivers/gpio/gpio-zynq.c:	chip->get = zynq_gpio_get_value;
+drivers/gpio/gpio-zynq.c:	chip->set = zynq_gpio_set_value;
+drivers/gpio/gpio-zynq.c:	chip->request = zynq_gpio_request;
+drivers/gpio/gpio-zynq.c:	chip->free = zynq_gpio_free;
+drivers/gpio/gpio-zynq.c:	chip->direction_input = zynq_gpio_dir_in;
+drivers/gpio/gpio-zynq.c:	chip->direction_output = zynq_gpio_dir_out;
+drivers/gpio/gpio-zynq.c:	chip->get_direction = zynq_gpio_get_direction;
+drivers/gpio/gpio-zynq.c:	chip->base = of_alias_get_id(pdev->dev.of_node, "gpio");
+drivers/gpio/gpio-zynq.c:	chip->ngpio = gpio->p_data->ngpio;
+drivers/gpio/gpio-zynq.c:	girq = &chip->irq;
+drivers/gpio/gpiolib-acpi.c:		dev_err(acpi_gpio->chip->parent,
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:	if (!chip->parent || !chip->to_irq)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:	if (!chip->parent || !chip->to_irq)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	status = acpi_buffer_to_resource(achip->conn_info.connection,
+drivers/gpio/gpiolib-acpi.c:					 achip->conn_info.length, &ares);
+drivers/gpio/gpiolib-acpi.c:		mutex_lock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:		list_for_each_entry(conn, &achip->conns, node) {
+drivers/gpio/gpiolib-acpi.c:			list_for_each_entry(event, &achip->events, node) {
+drivers/gpio/gpiolib-acpi.c:				mutex_unlock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:				mutex_unlock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:			list_add_tail(&conn->node, &achip->conns);
+drivers/gpio/gpiolib-acpi.c:		mutex_unlock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	acpi_handle handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:	INIT_LIST_HEAD(&achip->conns);
+drivers/gpio/gpiolib-acpi.c:	mutex_init(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	acpi_handle handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:	list_for_each_entry_safe_reverse(conn, tmp, &achip->conns, node) {
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	device_for_each_child_node(chip->parent, fwnode) {
+drivers/gpio/gpiolib-acpi.c:			dev_err(chip->parent, "Failed to hog GPIO\n");
+drivers/gpio/gpiolib-acpi.c:	if (!chip || !chip->parent)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent, "Failed to attach ACPI GPIO chip\n");
+drivers/gpio/gpiolib-acpi.c:	if (!chip->names)
+drivers/gpio/gpiolib-acpi.c:		devprop_gpiochip_set_names(chip, dev_fwnode(chip->parent));
+drivers/gpio/gpiolib-acpi.c:	if (!chip || !chip->parent)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_warn(chip->parent, "Failed to retrieve ACPI GPIO chip\n");
+drivers/gpio/gpiolib-devprop.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib-of.c:	return chip->gpiodev->dev.of_node == gpiospec->np &&
+drivers/gpio/gpiolib-of.c:				chip->of_xlate &&
+drivers/gpio/gpiolib-of.c:				chip->of_xlate(chip, gpiospec, NULL) >= 0;
+drivers/gpio/gpiolib-of.c:	if (chip->of_gpio_n_cells != gpiospec->args_count)
+drivers/gpio/gpiolib-of.c:	ret = chip->of_xlate(chip, gpiospec, flags);
+drivers/gpio/gpiolib-of.c:	chip_np = chip->of_node;
+drivers/gpio/gpiolib-of.c:	for_each_available_child_of_node(chip->of_node, np) {
+drivers/gpio/gpiolib-of.c:	struct device_node *np = chip->of_node;
+drivers/gpio/gpiolib-of.c:		if (start >= chip->ngpio || start + count >= chip->ngpio)
+drivers/gpio/gpiolib-of.c:		bitmap_clear(chip->valid_mask, start, count);
+drivers/gpio/gpiolib-of.c:	struct device_node *np = chip->of_node;
+drivers/gpio/gpiolib-of.c:	if (!chip->of_node)
+drivers/gpio/gpiolib-of.c:	if (!chip->of_xlate) {
+drivers/gpio/gpiolib-of.c:		chip->of_gpio_n_cells = 2;
+drivers/gpio/gpiolib-of.c:		chip->of_xlate = of_gpio_simple_xlate;
+drivers/gpio/gpiolib-of.c:	if (chip->of_gpio_n_cells > MAX_PHANDLE_ARGS)
+drivers/gpio/gpiolib-of.c:	if (!chip->names)
+drivers/gpio/gpiolib-of.c:					   of_fwnode_handle(chip->of_node));
+drivers/gpio/gpiolib-of.c:	of_node_get(chip->of_node);
+drivers/gpio/gpiolib-of.c:		of_node_put(chip->of_node);
+drivers/gpio/gpiolib-of.c:	of_node_put(chip->of_node);
+drivers/gpio/gpiolib-sysfs.c:	return sprintf(buf, "%d\n", chip->base);
+drivers/gpio/gpiolib-sysfs.c:	return sprintf(buf, "%s\n", chip->label ? : "");
+drivers/gpio/gpiolib-sysfs.c:	return sprintf(buf, "%u\n", chip->ngpio);
+drivers/gpio/gpiolib-sysfs.c:	if (chip->direction_input && chip->direction_output)
+drivers/gpio/gpiolib-sysfs.c:	if (chip->names && chip->names[offset])
+drivers/gpio/gpiolib-sysfs.c:		ioname = chip->names[offset];
+drivers/gpio/gpiolib-sysfs.c:	if (chip->parent)
+drivers/gpio/gpiolib-sysfs.c:		parent = chip->parent;
+drivers/gpio/gpiolib-sysfs.c:	/* use chip->base for the ID; it's already known to be unique */
+drivers/gpio/gpiolib-sysfs.c:					"gpiochip%d", chip->base);
+drivers/gpio/gpiolib-sysfs.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpiolib-sysfs.c:	 * We run before arch_initcall() so chip->dev nodes can have
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	if (!chip->get_direction)
+drivers/gpio/gpiolib.c:	ret = chip->get_direction(chip, offset);
+drivers/gpio/gpiolib.c:	p = bitmap_alloc(chip->ngpio, GFP_KERNEL);
+drivers/gpio/gpiolib.c:	bitmap_fill(p, chip->ngpio);
+drivers/gpio/gpiolib.c:	bitmap_free(gpiochip->valid_mask);
+drivers/gpio/gpiolib.c:	gpiochip->valid_mask = NULL;
+drivers/gpio/gpiolib.c:	if (likely(!gpiochip->valid_mask))
+drivers/gpio/gpiolib.c:	return test_bit(offset, gpiochip->valid_mask);
+drivers/gpio/gpiolib.c:		    !pinctrl_gpio_can_use_line(chip->base + lineinfo.line_offset))
+drivers/gpio/gpiolib.c:		 dev_name(&gdev->dev), gdev->chip->label ? : "generic");
+drivers/gpio/gpiolib.c:		       __func__, chip->label, hog->chip_hwnum, rv);
+drivers/gpio/gpiolib.c:		if (!strcmp(chip->label, hog->chip_label))
+drivers/gpio/gpiolib.c:	int		base = chip->base;
+drivers/gpio/gpiolib.c:	chip->gpiodev = gdev;
+drivers/gpio/gpiolib.c:	if (chip->parent) {
+drivers/gpio/gpiolib.c:		gdev->dev.parent = chip->parent;
+drivers/gpio/gpiolib.c:		gdev->dev.of_node = chip->parent->of_node;
+drivers/gpio/gpiolib.c:	if (chip->of_node)
+drivers/gpio/gpiolib.c:		gdev->dev.of_node = chip->of_node;
+drivers/gpio/gpiolib.c:		chip->of_node = gdev->dev.of_node;
+drivers/gpio/gpiolib.c:	if (chip->parent && chip->parent->driver)
+drivers/gpio/gpiolib.c:		gdev->owner = chip->parent->driver->owner;
+drivers/gpio/gpiolib.c:	else if (chip->owner)
+drivers/gpio/gpiolib.c:		/* TODO: remove chip->owner */
+drivers/gpio/gpiolib.c:		gdev->owner = chip->owner;
+drivers/gpio/gpiolib.c:	gdev->descs = kcalloc(chip->ngpio, sizeof(gdev->descs[0]), GFP_KERNEL);
+drivers/gpio/gpiolib.c:	if (chip->ngpio == 0) {
+drivers/gpio/gpiolib.c:	if (chip->ngpio > FASTPATH_NGPIO)
+drivers/gpio/gpiolib.c:		chip->ngpio, FASTPATH_NGPIO);
+drivers/gpio/gpiolib.c:	gdev->label = kstrdup_const(chip->label ?: "unknown", GFP_KERNEL);
+drivers/gpio/gpiolib.c:	gdev->ngpio = chip->ngpio;
+drivers/gpio/gpiolib.c:		base = gpiochip_find_base(chip->ngpio);
+drivers/gpio/gpiolib.c:		chip->base = base;
+drivers/gpio/gpiolib.c:	for (i = 0; i < chip->ngpio; i++)
+drivers/gpio/gpiolib.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpiolib.c:		if (chip->get_direction && gpiochip_line_is_valid(chip, i)) {
+drivers/gpio/gpiolib.c:			if (!chip->get_direction(chip, i))
+drivers/gpio/gpiolib.c:			if (!chip->direction_input)
+drivers/gpio/gpiolib.c:	       chip->label ? : "generic", ret);
+drivers/gpio/gpiolib.c:	return chip->gpiodev->data;
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c: * @chip: the chip to register, with chip->base initialized
+drivers/gpio/gpiolib.c: * chip->base is invalid or already associated with a different chip.
+drivers/gpio/gpiolib.c:	return !strcmp(chip->label, name);
+drivers/gpio/gpiolib.c:	bitmap_free(gpiochip->irq.valid_mask);
+drivers/gpio/gpiolib.c:	gpiochip->irq.valid_mask = NULL;
+drivers/gpio/gpiolib.c:	if (likely(!gpiochip->irq.valid_mask))
+drivers/gpio/gpiolib.c:	return test_bit(offset, gpiochip->irq.valid_mask);
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.threaded) {
+drivers/gpio/gpiolib.c:	irq_set_lockdep_class(irq, chip->irq.lock_key, chip->irq.request_key);
+drivers/gpio/gpiolib.c:	irq_set_chip_and_handler(irq, chip->irq.chip, chip->irq.handler);
+drivers/gpio/gpiolib.c:	if (chip->irq.threaded)
+drivers/gpio/gpiolib.c:	if (chip->irq.num_parents == 1)
+drivers/gpio/gpiolib.c:		ret = irq_set_parent(irq, chip->irq.parents[0]);
+drivers/gpio/gpiolib.c:	else if (chip->irq.map)
+drivers/gpio/gpiolib.c:		ret = irq_set_parent(irq, chip->irq.map[hwirq]);
+drivers/gpio/gpiolib.c:	if (chip->irq.default_type != IRQ_TYPE_NONE)
+drivers/gpio/gpiolib.c:		irq_set_irq_type(irq, chip->irq.default_type);
+drivers/gpio/gpiolib.c:	if (chip->irq.threaded)
+drivers/gpio/gpiolib.c:	struct irq_domain *domain = chip->irq.domain;
+drivers/gpio/gpiolib.c:		spec.param[0] = chip->irq.child_offset_to_irq(chip, offset);
+drivers/gpio/gpiolib.c:	if (chip->irq.irq_enable)
+drivers/gpio/gpiolib.c:		chip->irq.irq_enable(d);
+drivers/gpio/gpiolib.c:		chip->irq.chip->irq_unmask(d);
+drivers/gpio/gpiolib.c:	if (chip->irq.irq_disable)
+drivers/gpio/gpiolib.c:		chip->irq.irq_disable(d);
+drivers/gpio/gpiolib.c:		chip->irq.chip->irq_mask(d);
+drivers/gpio/gpiolib.c:	struct irq_chip *irqchip = gpiochip->irq.chip;
+drivers/gpio/gpiolib.c:	if (!irqchip->irq_request_resources &&
+drivers/gpio/gpiolib.c:	    !irqchip->irq_release_resources) {
+drivers/gpio/gpiolib.c:		irqchip->irq_request_resources = gpiochip_irq_reqres;
+drivers/gpio/gpiolib.c:		irqchip->irq_release_resources = gpiochip_irq_relres;
+drivers/gpio/gpiolib.c:	if (WARN_ON(gpiochip->irq.irq_enable))
+drivers/gpio/gpiolib.c:	if (irqchip->irq_enable == gpiochip_irq_enable) {
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_enable = irqchip->irq_enable;
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_disable = irqchip->irq_disable;
+drivers/gpio/gpiolib.c:	irqchip->irq_enable = gpiochip_irq_enable;
+drivers/gpio/gpiolib.c:	irqchip->irq_disable = gpiochip_irq_disable;
+drivers/gpio/gpiolib.c:	struct irq_chip *irqchip = gpiochip->irq.chip;
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.parent_handler && gpiochip->can_sleep) {
+drivers/gpio/gpiolib.c:	np = gpiochip->gpiodev->dev.of_node;
+drivers/gpio/gpiolib.c:	type = gpiochip->irq.default_type;
+drivers/gpio/gpiolib.c:	if (has_acpi_companion(gpiochip->parent) && type != IRQ_TYPE_NONE) {
+drivers/gpio/gpiolib.c:		acpi_handle_warn(ACPI_HANDLE(gpiochip->parent),
+drivers/gpio/gpiolib.c:	gpiochip->to_irq = gpiochip_to_irq;
+drivers/gpio/gpiolib.c:	gpiochip->irq.default_type = type;
+drivers/gpio/gpiolib.c:	gpiochip->irq.lock_key = lock_key;
+drivers/gpio/gpiolib.c:	gpiochip->irq.request_key = request_key;
+drivers/gpio/gpiolib.c:		if (gpiochip->irq.domain_ops)
+drivers/gpio/gpiolib.c:			ops = gpiochip->irq.domain_ops;
+drivers/gpio/gpiolib.c:		gpiochip->irq.domain = irq_domain_add_simple(np,
+drivers/gpio/gpiolib.c:			gpiochip->ngpio,
+drivers/gpio/gpiolib.c:			gpiochip->irq.first,
+drivers/gpio/gpiolib.c:		if (!gpiochip->irq.domain)
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.parent_handler) {
+drivers/gpio/gpiolib.c:		void *data = gpiochip->irq.parent_handler_data ?: gpiochip;
+drivers/gpio/gpiolib.c:		for (i = 0; i < gpiochip->irq.num_parents; i++) {
+drivers/gpio/gpiolib.c:			irq_set_chained_handler_and_data(gpiochip->irq.parents[i],
+drivers/gpio/gpiolib.c:							 gpiochip->irq.parent_handler,
+drivers/gpio/gpiolib.c:	struct irq_chip *irqchip = gpiochip->irq.chip;
+drivers/gpio/gpiolib.c:	if (irqchip && gpiochip->irq.parent_handler) {
+drivers/gpio/gpiolib.c:		struct gpio_irq_chip *irq = &gpiochip->irq;
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.domain) {
+drivers/gpio/gpiolib.c:		for (offset = 0; offset < gpiochip->ngpio; offset++) {
+drivers/gpio/gpiolib.c:			irq = irq_find_mapping(gpiochip->irq.domain, offset);
+drivers/gpio/gpiolib.c:		irq_domain_remove(gpiochip->irq.domain);
+drivers/gpio/gpiolib.c:		if (irqchip->irq_request_resources == gpiochip_irq_reqres) {
+drivers/gpio/gpiolib.c:			irqchip->irq_request_resources = NULL;
+drivers/gpio/gpiolib.c:			irqchip->irq_release_resources = NULL;
+drivers/gpio/gpiolib.c:		if (irqchip->irq_enable == gpiochip_irq_enable) {
+drivers/gpio/gpiolib.c:			irqchip->irq_enable = gpiochip->irq.irq_enable;
+drivers/gpio/gpiolib.c:			irqchip->irq_disable = gpiochip->irq.irq_disable;
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_enable = NULL;
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_disable = NULL;
+drivers/gpio/gpiolib.c:	gpiochip->irq.chip = NULL;
+drivers/gpio/gpiolib.c:	if (!gpiochip->parent) {
+drivers/gpio/gpiolib.c:	gpiochip->irq.threaded = threaded;
+drivers/gpio/gpiolib.c:	of_node = gpiochip->parent->of_node;
+drivers/gpio/gpiolib.c:	 * FIXME: get rid of this and use gpiochip->parent->of_node
+drivers/gpio/gpiolib.c:	if (gpiochip->of_node)
+drivers/gpio/gpiolib.c:		of_node = gpiochip->of_node;
+drivers/gpio/gpiolib.c:	if (has_acpi_companion(gpiochip->parent) && type != IRQ_TYPE_NONE) {
+drivers/gpio/gpiolib.c:		acpi_handle_warn(ACPI_HANDLE(gpiochip->parent),
+drivers/gpio/gpiolib.c:	gpiochip->irq.chip = irqchip;
+drivers/gpio/gpiolib.c:	gpiochip->irq.handler = handler;
+drivers/gpio/gpiolib.c:	gpiochip->irq.default_type = type;
+drivers/gpio/gpiolib.c:	gpiochip->to_irq = gpiochip_to_irq;
+drivers/gpio/gpiolib.c:	gpiochip->irq.lock_key = lock_key;
+drivers/gpio/gpiolib.c:	gpiochip->irq.request_key = request_key;
+drivers/gpio/gpiolib.c:	gpiochip->irq.domain = irq_domain_add_simple(of_node,
+drivers/gpio/gpiolib.c:					gpiochip->ngpio, first_irq,
+drivers/gpio/gpiolib.c:	if (!gpiochip->irq.domain) {
+drivers/gpio/gpiolib.c:		gpiochip->irq.chip = NULL;
+drivers/gpio/gpiolib.c:	return pinctrl_gpio_request(chip->gpiodev->base + offset);
+drivers/gpio/gpiolib.c:	pinctrl_gpio_free(chip->gpiodev->base + offset);
+drivers/gpio/gpiolib.c:	return pinctrl_gpio_set_config(chip->gpiodev->base + offset, config);
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	pin_range->range.name = chip->label;
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	pin_range->range.name = chip->label;
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	if (chip->request) {
+drivers/gpio/gpiolib.c:		/* chip->request may sleep */
+drivers/gpio/gpiolib.c:			ret = chip->request(chip, offset);
+drivers/gpio/gpiolib.c:	if (chip->get_direction) {
+drivers/gpio/gpiolib.c:		/* chip->get_direction may sleep */
+drivers/gpio/gpiolib.c:		if (chip->free) {
+drivers/gpio/gpiolib.c:			might_sleep_if(chip->can_sleep);
+drivers/gpio/gpiolib.c:			chip->free(chip, gpio_chip_hwgpio(desc));
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	desc = &chip->gpiodev->descs[offset];
+drivers/gpio/gpiolib.c:	if (!chip->get && chip->direction_input) {
+drivers/gpio/gpiolib.c:	if (chip->direction_input) {
+drivers/gpio/gpiolib.c:		ret = chip->direction_input(chip, gpio_chip_hwgpio(desc));
+drivers/gpio/gpiolib.c:	} else if (chip->get_direction &&
+drivers/gpio/gpiolib.c:		  (chip->get_direction(chip, gpio_chip_hwgpio(desc)) != 1)) {
+drivers/gpio/gpiolib.c:	if (!chip->set || !chip->set_config) {
+drivers/gpio/gpiolib.c:	return chip->set_config(chip, gpio_chip_hwgpio(desc), config);
+drivers/gpio/gpiolib.c:	if (!chip->set_config)
+drivers/gpio/gpiolib.c:	rc = chip->set_config(chip, gpio, packed);
+drivers/gpio/gpiolib.c:	value = chip->get ? chip->get(chip, offset) : -EIO;
+drivers/gpio/gpiolib.c:	if (chip->get_multiple) {
+drivers/gpio/gpiolib.c:		return chip->get_multiple(chip, mask, bits);
+drivers/gpio/gpiolib.c:	} else if (chip->get) {
+drivers/gpio/gpiolib.c:		for_each_set_bit(i, mask, chip->ngpio) {
+drivers/gpio/gpiolib.c:			value = chip->get(chip, i);
+drivers/gpio/gpiolib.c:			WARN_ON(array_info->chip->can_sleep);
+drivers/gpio/gpiolib.c:		if (likely(chip->ngpio <= FASTPATH_NGPIO)) {
+drivers/gpio/gpiolib.c:			mask = kmalloc_array(2 * BITS_TO_LONGS(chip->ngpio),
+drivers/gpio/gpiolib.c:		bits = mask + BITS_TO_LONGS(chip->ngpio);
+drivers/gpio/gpiolib.c:		bitmap_zero(mask, chip->ngpio);
+drivers/gpio/gpiolib.c:			WARN_ON(chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:		ret = chip->direction_input(chip, offset);
+drivers/gpio/gpiolib.c:		ret = chip->direction_output(chip, offset, 0);
+drivers/gpio/gpiolib.c:		ret = chip->direction_output(chip, offset, 1);
+drivers/gpio/gpiolib.c:		ret = chip->direction_input(chip, offset);
+drivers/gpio/gpiolib.c:	chip->set(chip, gpio_chip_hwgpio(desc), value);
+drivers/gpio/gpiolib.c:	if (chip->set_multiple) {
+drivers/gpio/gpiolib.c:		chip->set_multiple(chip, mask, bits);
+drivers/gpio/gpiolib.c:		for_each_set_bit(i, mask, chip->ngpio)
+drivers/gpio/gpiolib.c:			chip->set(chip, i, test_bit(i, bits));
+drivers/gpio/gpiolib.c:			WARN_ON(array_info->chip->can_sleep);
+drivers/gpio/gpiolib.c:		if (likely(chip->ngpio <= FASTPATH_NGPIO)) {
+drivers/gpio/gpiolib.c:			mask = kmalloc_array(2 * BITS_TO_LONGS(chip->ngpio),
+drivers/gpio/gpiolib.c:		bits = mask + BITS_TO_LONGS(chip->ngpio);
+drivers/gpio/gpiolib.c:		bitmap_zero(mask, chip->ngpio);
+drivers/gpio/gpiolib.c:			WARN_ON(chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:	return desc->gdev->chip->can_sleep;
+drivers/gpio/gpiolib.c:	if (chip->to_irq) {
+drivers/gpio/gpiolib.c:		int retirq = chip->to_irq(chip, offset);
+drivers/gpio/gpiolib.c:	if (!chip->can_sleep && chip->get_direction) {
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return test_bit(FLAG_USED_AS_IRQ, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:	if (!try_module_get(chip->gpiodev->owner))
+drivers/gpio/gpiolib.c:		module_put(chip->gpiodev->owner);
+drivers/gpio/gpiolib.c:	module_put(chip->gpiodev->owner);
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return test_bit(FLAG_OPEN_DRAIN, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return test_bit(FLAG_OPEN_SOURCE, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return !test_bit(FLAG_TRANSITORY, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:		if (chip->ngpio <= p->chip_hwnum) {
+drivers/gpio/gpiolib.c:				idx, p->chip_hwnum, chip->ngpio - 1,
+drivers/gpio/gpiolib.c:				chip->label);
+drivers/gpio/gpiolib.c:		       name, chip->label, hwnum, ret);
+drivers/gpio/gpiolib.c:	for (id = 0; id < chip->ngpio; id++) {
+drivers/gpio/gpiolib.c:		if (test_bit(FLAG_IS_HOGGED, &chip->gpiodev->descs[id].flags))
+drivers/gpio/gpiolib.c:			gpiochip_free_own_desc(&chip->gpiodev->descs[id]);
+drivers/gpio/gpiolib.c:			bitmap_size = BITS_TO_LONGS(chip->ngpio > count ?
+drivers/gpio/gpiolib.c:						    chip->ngpio : count);
+drivers/gpio/gpiolib.c:			array_info->chip->label, array_info->size,
+drivers/gpio/gpiolib.c:			chip->get ? (chip->get(chip, i) ? "hi" : "lo") : "?  ",
+drivers/gpio/gpiolib.c:	parent = chip->parent;
+drivers/gpio/gpiolib.c:	if (chip->label)
+drivers/gpio/gpiolib.c:		seq_printf(s, ", %s", chip->label);
+drivers/gpio/gpiolib.c:	if (chip->can_sleep)
+drivers/gpio/gpiolib.c:	if (chip->dbg_show)
+drivers/gpio/gpiolib.c:		chip->dbg_show(s, chip);
+drivers/gpio/gpiolib.h:	dev_emerg(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_crit(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_err(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_warn(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_info(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_dbg(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->arch_id	= malidp_read32(reg_base, GLB_ARCH_ID);
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->core_id	= malidp_read32(reg_base, GLB_CORE_ID);
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->core_info	= malidp_read32(reg_base, GLB_CORE_INFO);
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->bus_width	= D71_BUS_WIDTH_16_BYTES;
+drivers/gpu/drm/nouveau/dispnv04/nvreg.h:#	define NV_CIO_CRE_59			0x59	/* related to on/off-chip-ness of digital outputs */
+drivers/gpu/drm/nouveau/nvkm/core/firmware.c:	strncpy(cname, device->chip->name, sizeof(cname));
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:			   device->chip->name, boot0);
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:		device->name = device->chip->name;
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:	if (device->chip->m && (subdev_mask & (1ULL << (s)))) {                \
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:		ret = device->chip->m(device, (s), &device->m);                \
+drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:	strncpy(args->v0.chip, device->chip->name, sizeof(args->v0.chip));
+drivers/gpu/drm/nouveau/nvkm/subdev/secboot/base.c:	/* Call chip-specific init function */
+drivers/gpu/drm/rockchip/analogix_dp-rockchip.c:		   .name = "rockchip-dp",
+drivers/gpu/drm/rockchip/rk3066_hdmi.c:		.name = "rockchip-rk3066-hdmi",
+drivers/gpu/drm/rockchip/rockchip_drm_drv.c:		.name = "rockchip-drm",
+drivers/gpu/drm/rockchip/rockchip_lvds.c:		   .name = "rockchip-lvds",
+drivers/gpu/drm/rockchip/rockchip_vop_reg.c:		.name = "rockchip-vop",
+drivers/hwmon/ad7314.c:	ret = spi_read(chip->spi_dev, (u8 *)&chip->rx, sizeof(chip->rx));
+drivers/hwmon/ad7314.c:		dev_err(&chip->spi_dev->dev, "SPI read error\n");
+drivers/hwmon/ad7314.c:	return be16_to_cpu(chip->rx);
+drivers/hwmon/ad7314.c:	switch (spi_get_device_id(chip->spi_dev)->driver_data) {
+drivers/hwmon/ad7314.c:	chip->spi_dev = spi_dev;
+drivers/hwmon/dme1737.c:/* chip-dependent features */
+drivers/hwmon/dme1737.c:	/* Create chip-dependent sysfs attributes */
+drivers/hwmon/dme1737.c:		/* Change permissions of chip-dependent sysfs attributes */
+drivers/hwmon/hwmon.c:	ret = hwdev->chip->ops->read(&hwdev->dev, hwmon_temp, hwmon_temp_input,
+drivers/hwmon/hwmon.c:	for (i = 0; chip->info[i]; i++)
+drivers/hwmon/hwmon.c:		nattrs += hwmon_num_channel_attrs(chip->info[i]);
+drivers/hwmon/hwmon.c:	for (i = 0; chip->info[i]; i++) {
+drivers/hwmon/hwmon.c:		ret = hwmon_genattrs(dev, drvdata, &attrs[aindex], chip->ops,
+drivers/hwmon/hwmon.c:				     chip->info[i]);
+drivers/hwmon/hwmon.c:	if (dev && dev->of_node && chip && chip->ops->read &&
+drivers/hwmon/hwmon.c:	    chip->info[0]->type == hwmon_chip &&
+drivers/hwmon/hwmon.c:	    (chip->info[0]->config[0] & HWMON_C_REGISTER_TZ)) {
+drivers/hwmon/hwmon.c:		const struct hwmon_channel_info **info = chip->info;
+drivers/hwmon/hwmon.c:				if (!chip->ops->is_visible(drvdata, hwmon_temp,
+drivers/hwmon/hwmon.c:	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
+drivers/hwmon/ibmpowernv.c:	if (!of_property_read_u32(np, "ibm,chip-id", &id))
+drivers/hwmon/jc42.c:		if (manid == chip->manid &&
+drivers/hwmon/jc42.c:		    (devid & chip->devid_mask) == chip->devid) {
+drivers/hwmon/max6697.c:	for (i = 0; i < data->chip->channels; i++) {
+drivers/hwmon/max6697.c:		if (data->chip->have_ext & (1 << i)) {
+drivers/hwmon/max6697.c:		if (data->chip->have_crit & (1 << i)) {
+drivers/hwmon/max6697.c:	if (data->chip->alarm_map)
+drivers/hwmon/max6697.c:		index = data->chip->alarm_map[index];
+drivers/hwmon/max6697.c:	if (channel >= chip->channels)
+drivers/hwmon/max6697.c:	if ((nr == 3 || nr == 4) && !(chip->have_crit & (1 << channel)))
+drivers/hwmon/max6697.c:	if (nr == 5 && !(chip->have_fault & (1 << channel)))
+drivers/hwmon/max6697.c:	int factor = chip->channels;
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6697_CONF_TIMEOUT)) {
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6581_CONF_EXTENDED)) {
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6697_CONF_RESISTANCE)) {
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6693_CONF_BETA)) {
+drivers/hwmon/tmp401.c: * temperature measured since power-on, chip-reset, or
+drivers/hwmon/w83627hf.c:	/* Register chip-specific device attributes */
+drivers/i2c/busses/i2c-i801.c:	unsigned gpios[2];		/* Relative to gpio_chip->base */
+drivers/i2c/i2c-stub.c:	list_for_each_entry(b, &chip->smbus_blocks, node) {
+drivers/i2c/i2c-stub.c:		list_add(&rb->node, &chip->smbus_blocks);
+drivers/i2c/i2c-stub.c:	if (chip->bank_sel &&
+drivers/i2c/i2c-stub.c:	    offset >= chip->bank_start && offset <= chip->bank_end)
+drivers/i2c/i2c-stub.c:		return chip->bank_words +
+drivers/i2c/i2c-stub.c:		       (chip->bank_sel - 1) * chip->bank_size +
+drivers/i2c/i2c-stub.c:		       offset - chip->bank_start;
+drivers/i2c/i2c-stub.c:		return chip->words + offset;
+drivers/i2c/i2c-stub.c:			chip->pointer = command;
+drivers/i2c/i2c-stub.c:			wordp = stub_get_wordp(chip, chip->pointer++);
+drivers/i2c/i2c-stub.c:			if (chip->bank_words && command == chip->bank_reg) {
+drivers/i2c/i2c-stub.c:				chip->bank_sel =
+drivers/i2c/i2c-stub.c:					(data->byte >> chip->bank_shift)
+drivers/i2c/i2c-stub.c:					& chip->bank_mask;
+drivers/i2c/i2c-stub.c:					chip->bank_sel);
+drivers/i2c/i2c-stub.c:		chip->pointer = command + 1;
+drivers/i2c/i2c-stub.c:				chip->words[command + i] &= 0xff00;
+drivers/i2c/i2c-stub.c:				chip->words[command + i] |= data->block[1 + i];
+drivers/i2c/i2c-stub.c:					chip->words[command + i] & 0xff;
+drivers/i2c/i2c-stub.c:			chip->words[command] = (b->block[0] << 8) | b->len;
+drivers/i2c/i2c-stub.c:	chip->bank_reg = bank_reg[i];
+drivers/i2c/i2c-stub.c:	chip->bank_start = bank_start[i];
+drivers/i2c/i2c-stub.c:	chip->bank_end = bank_end[i];
+drivers/i2c/i2c-stub.c:	chip->bank_size = bank_end[i] - bank_start[i] + 1;
+drivers/i2c/i2c-stub.c:	chip->bank_mask = bank_mask[i];
+drivers/i2c/i2c-stub.c:	while (!(chip->bank_mask & 1)) {
+drivers/i2c/i2c-stub.c:		chip->bank_shift++;
+drivers/i2c/i2c-stub.c:		chip->bank_mask >>= 1;
+drivers/i2c/i2c-stub.c:	chip->bank_words = kcalloc(chip->bank_mask * chip->bank_size,
+drivers/i2c/i2c-stub.c:	if (!chip->bank_words)
+drivers/i2c/i2c-stub.c:		 chip->bank_mask, chip->bank_size, chip->bank_start,
+drivers/i2c/i2c-stub.c:		 chip->bank_end);
+drivers/i2c/muxes/i2c-mux-ltc4306.c:	if (!data->chip->num_gpios)
+drivers/i2c/muxes/i2c-mux-ltc4306.c:	data->gpiochip.ngpio = data->chip->num_gpios;
+drivers/i2c/muxes/i2c-mux-ltc4306.c:			     chip->nchans, sizeof(*data),
+drivers/i2c/muxes/i2c-mux-ltc4306.c:	for (num = 0; num < chip->nchans; num++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	if (chip->muxtype == pca954x_ismux)
+drivers/i2c/muxes/i2c-mux-pca954x.c:		regval = chan | chip->enable;
+drivers/i2c/muxes/i2c-mux-pca954x.c:	    (val < 0 || val >= data->chip->nchans))
+drivers/i2c/muxes/i2c-mux-pca954x.c:	for (i = 0; i < data->chip->nchans; i++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	if (!data->chip->has_irq || client->irq <= 0)
+drivers/i2c/muxes/i2c-mux-pca954x.c:					  data->chip->nchans,
+drivers/i2c/muxes/i2c-mux-pca954x.c:	for (c = 0; c < data->chip->nchans; c++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:		for (c = 0; c < data->chip->nchans; c++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	if (data->chip->id.manufacturer_id != I2C_DEVICE_ID_NONE) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:		    (id.manufacturer_id != data->chip->id.manufacturer_id ||
+drivers/i2c/muxes/i2c-mux-pca954x.c:		     id.part_id != data->chip->id.part_id)) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	for (num = 0; num < data->chip->nchans; num++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:		 num, data->chip->muxtype == pca954x_ismux
+drivers/iio/accel/mc3230.c:	/* First check chip-id and product-id */
+drivers/iio/adc/ad7291.c:	struct i2c_client *client = chip->client;
+drivers/iio/adc/ad7291.c:	return i2c_smbus_write_word_swapped(chip->client, reg, data);
+drivers/iio/adc/ad7291.c:	command = chip->command | AD7291_ALERT_CLEAR;
+drivers/iio/adc/ad7291.c:	command = chip->command & ~AD7291_ALERT_CLEAR;
+drivers/iio/adc/ad7291.c:		return !!(chip->c_mask & BIT(15 - chan->channel));
+drivers/iio/adc/ad7291.c:	mutex_lock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:	regval = chip->command;
+drivers/iio/adc/ad7291.c:		if ((!state) && (chip->c_mask & mask))
+drivers/iio/adc/ad7291.c:			chip->c_mask &= ~mask;
+drivers/iio/adc/ad7291.c:		else if (state && (!(chip->c_mask & mask)))
+drivers/iio/adc/ad7291.c:			chip->c_mask |= mask;
+drivers/iio/adc/ad7291.c:		regval |= chip->c_mask;
+drivers/iio/adc/ad7291.c:		if (chip->c_mask) /* Enable autocycle? */
+drivers/iio/adc/ad7291.c:		chip->command = regval;
+drivers/iio/adc/ad7291.c:	mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			mutex_lock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			if (chip->command & AD7291_AUTOCYCLE) {
+drivers/iio/adc/ad7291.c:				mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			regval = chip->command & (~AD7291_VOLTAGE_MASK);
+drivers/iio/adc/ad7291.c:				mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/iio/adc/ad7291.c:				mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/iio/adc/ad7291.c:		ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/iio/adc/ad7291.c:			if (chip->reg) {
+drivers/iio/adc/ad7291.c:				vref = regulator_get_voltage(chip->reg);
+drivers/iio/adc/ad7291.c:		chip->reg = devm_regulator_get(&client->dev, "vref");
+drivers/iio/adc/ad7291.c:		if (IS_ERR(chip->reg))
+drivers/iio/adc/ad7291.c:			return PTR_ERR(chip->reg);
+drivers/iio/adc/ad7291.c:		ret = regulator_enable(chip->reg);
+drivers/iio/adc/ad7291.c:	mutex_init(&chip->state_lock);
+drivers/iio/adc/ad7291.c:	chip->client = client;
+drivers/iio/adc/ad7291.c:	chip->command = AD7291_NOISE_DELAY |
+drivers/iio/adc/ad7291.c:		chip->command |= AD7291_EXT_REF;
+drivers/iio/adc/ad7291.c:	ret = ad7291_i2c_write(chip, AD7291_COMMAND, chip->command);
+drivers/iio/adc/ad7291.c:	if (chip->reg)
+drivers/iio/adc/ad7291.c:		regulator_disable(chip->reg);
+drivers/iio/adc/ad7291.c:	if (chip->reg)
+drivers/iio/adc/ad7291.c:		regulator_disable(chip->reg);
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap, chan->address, &regval);
+drivers/iio/adc/ina2xx-adc.c:			*val >>= chip->config->bus_voltage_shift;
+drivers/iio/adc/ina2xx-adc.c:		*val = chip->avg;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->int_time_vshunt;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->int_time_vbus;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->shunt_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->bus_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->shunt_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->shunt_resistor_uohm;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->power_lsb_factor *
+drivers/iio/adc/ina2xx-adc.c:			       chip->config->shunt_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->shunt_resistor_uohm;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->pga_gain_vshunt;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->range_vbus == 32 ? 1 : 2;
+drivers/iio/adc/ina2xx-adc.c:	chip->avg = ina226_avg_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vbus = ina226_conv_time_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vshunt = ina226_conv_time_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vbus = val_us_best;
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vshunt = val_us_best;
+drivers/iio/adc/ina2xx-adc.c:		chip->range_vbus = 32;
+drivers/iio/adc/ina2xx-adc.c:		chip->range_vbus = 16;
+drivers/iio/adc/ina2xx-adc.c:	chip->pga_gain_vshunt = ina219_vshunt_gain_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	mutex_lock(&chip->state_lock);
+drivers/iio/adc/ina2xx-adc.c:	ret = regmap_read(chip->regmap, INA2XX_CONFIG, &config);
+drivers/iio/adc/ina2xx-adc.c:		if (chip->config->chip_id == ina226) {
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_write(chip->regmap, INA2XX_CONFIG, tmp);
+drivers/iio/adc/ina2xx-adc.c:	mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ina2xx-adc.c:	return sprintf(buf, "%d\n", chip->allow_async_readout);
+drivers/iio/adc/ina2xx-adc.c:	chip->allow_async_readout = val;
+drivers/iio/adc/ina2xx-adc.c:	return regmap_write(chip->regmap, INA2XX_CALIBRATION,
+drivers/iio/adc/ina2xx-adc.c:			    chip->config->calibration_value);
+drivers/iio/adc/ina2xx-adc.c:	chip->shunt_resistor_uohm = val;
+drivers/iio/adc/ina2xx-adc.c:	int vals[2] = { chip->shunt_resistor_uohm, 1000000 };
+drivers/iio/adc/ina2xx-adc.c:	if (chip->config->chip_id == ina226) {
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap,
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap,
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap,
+drivers/iio/adc/ina2xx-adc.c:	if (!chip->allow_async_readout)
+drivers/iio/adc/ina2xx-adc.c:		while (!chip->allow_async_readout) {
+drivers/iio/adc/ina2xx-adc.c:		1000000 / sampling_us, chip->avg);
+drivers/iio/adc/ina2xx-adc.c:		chip->allow_async_readout);
+drivers/iio/adc/ina2xx-adc.c:	chip->task = task;
+drivers/iio/adc/ina2xx-adc.c:	if (chip->task) {
+drivers/iio/adc/ina2xx-adc.c:		kthread_stop(chip->task);
+drivers/iio/adc/ina2xx-adc.c:		put_task_struct(chip->task);
+drivers/iio/adc/ina2xx-adc.c:		chip->task = NULL;
+drivers/iio/adc/ina2xx-adc.c:		return regmap_write(chip->regmap, reg, writeval);
+drivers/iio/adc/ina2xx-adc.c:	return regmap_read(chip->regmap, reg, readval);
+drivers/iio/adc/ina2xx-adc.c:	int ret = regmap_write(chip->regmap, INA2XX_CONFIG, config);
+drivers/iio/adc/ina2xx-adc.c:	chip->regmap = devm_regmap_init_i2c(client, &ina2xx_regmap_config);
+drivers/iio/adc/ina2xx-adc.c:	if (IS_ERR(chip->regmap)) {
+drivers/iio/adc/ina2xx-adc.c:		return PTR_ERR(chip->regmap);
+drivers/iio/adc/ina2xx-adc.c:	chip->config = &ina2xx_config[type];
+drivers/iio/adc/ina2xx-adc.c:	mutex_init(&chip->state_lock);
+drivers/iio/adc/ina2xx-adc.c:	val = chip->config->config_default;
+drivers/iio/adc/ina2xx-adc.c:		chip->avg = 1;
+drivers/iio/adc/ina2xx-adc.c:	return regmap_update_bits(chip->regmap, INA2XX_CONFIG,
+drivers/iio/adc/rockchip_saradc.c:		.name	= "rockchip-saradc",
+drivers/iio/adc/stx104.c:	chip->set(chip, offset, value);
+drivers/iio/chemical/atlas-ph-sensor.c:	ret = regmap_bulk_read(data->regmap, data->chip->data_reg,
+drivers/iio/chemical/atlas-ph-sensor.c:			      sizeof(__be32) * (data->chip->num_channels - 2));
+drivers/iio/chemical/atlas-ph-sensor.c:		msleep(data->chip->delay);
+drivers/iio/chemical/atlas-ph-sensor.c:	indio_dev->channels = chip->channels;
+drivers/iio/chemical/atlas-ph-sensor.c:	indio_dev->num_channels = chip->num_channels;
+drivers/iio/chemical/atlas-ph-sensor.c:	ret = chip->calibration(data);
+drivers/iio/chemical/vz89x.c:	return !!(data->buffer[data->chip->read_size - 1] > 0);
+drivers/iio/chemical/vz89x.c:	for (i = 0; i < (data->chip->read_size - 1); i++) {
+drivers/iio/chemical/vz89x.c:	return !((0xff - crc) == data->buffer[data->chip->read_size - 1]);
+drivers/iio/chemical/vz89x.c:	msg[0].len = chip->write_size;
+drivers/iio/chemical/vz89x.c:	msg[1].len = chip->read_size;
+drivers/iio/chemical/vz89x.c:	for (i = 0; i < data->chip->read_size; i++) {
+drivers/iio/chemical/vz89x.c:	ret = data->xfer(data, chip->cmd);
+drivers/iio/chemical/vz89x.c:	ret = chip->valid(data);
+drivers/iio/chemical/vz89x.c:	indio_dev->channels = data->chip->channels;
+drivers/iio/chemical/vz89x.c:	indio_dev->num_channels = data->chip->num_channels;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	chip->als_info = &cm3232_als_info_default;
+drivers/iio/light/cm3232.c:		dev_err(&chip->client->dev, "Error reading addr_id\n");
+drivers/iio/light/cm3232.c:	if ((ret & 0xFF) != chip->als_info->hw_id)
+drivers/iio/light/cm3232.c:	chip->regs_cmd = CM3232_CMD_ALS_DISABLE | CM3232_CMD_ALS_RESET;
+drivers/iio/light/cm3232.c:					chip->regs_cmd);
+drivers/iio/light/cm3232.c:		dev_err(&chip->client->dev, "Error writing reg_cmd\n");
+drivers/iio/light/cm3232.c:	chip->regs_cmd = chip->als_info->regs_cmd_default;
+drivers/iio/light/cm3232.c:					chip->regs_cmd);
+drivers/iio/light/cm3232.c:		dev_err(&chip->client->dev, "Error writing reg_cmd\n");
+drivers/iio/light/cm3232.c:	als_it = chip->regs_cmd;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:			cmd = chip->regs_cmd & ~CM3232_CMD_ALS_IT_MASK;
+drivers/iio/light/cm3232.c:			chip->regs_cmd = cmd;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	struct cm3232_als_info *als_info = chip->als_info;
+drivers/iio/light/cm3232.c:	chip->regs_als = (u16)ret;
+drivers/iio/light/cm3232.c:	lux *= chip->regs_als;
+drivers/iio/light/cm3232.c:	struct cm3232_als_info *als_info = chip->als_info;
+drivers/iio/light/cm3232.c:	struct cm3232_als_info *als_info = chip->als_info;
+drivers/iio/light/cm3232.c:	chip->client = client;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	chip->regs_cmd |= CM3232_CMD_ALS_DISABLE;
+drivers/iio/light/cm3232.c:					chip->regs_cmd);
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	chip->regs_cmd &= ~CM3232_CMD_ALS_DISABLE;
+drivers/iio/light/cm3232.c:					chip->regs_cmd | CM3232_CMD_ALS_RESET);
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_int_utimes[chip->type]); ++i) {
+drivers/iio/light/isl29018.c:		if (utime == isl29018_int_utimes[chip->type][i]) {
+drivers/iio/light/isl29018.c:	if (i >= ARRAY_SIZE(isl29018_int_utimes[chip->type]))
+drivers/iio/light/isl29018.c:	ret = regmap_update_bits(chip->regmap, ISL29018_REG_ADD_COMMAND2,
+drivers/iio/light/isl29018.c:	int_time = chip->int_time;
+drivers/iio/light/isl29018.c:		if (chip->scale.scale == isl29018_scales[int_time][i].scale &&
+drivers/iio/light/isl29018.c:		    chip->scale.uscale == isl29018_scales[int_time][i].uscale) {
+drivers/iio/light/isl29018.c:			chip->scale = isl29018_scales[new_int_time][i];
+drivers/iio/light/isl29018.c:	chip->int_time = new_int_time;
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_scales[chip->int_time]); ++i) {
+drivers/iio/light/isl29018.c:		if (scale == isl29018_scales[chip->int_time][i].scale &&
+drivers/iio/light/isl29018.c:		    uscale == isl29018_scales[chip->int_time][i].uscale) {
+drivers/iio/light/isl29018.c:			new_scale = isl29018_scales[chip->int_time][i];
+drivers/iio/light/isl29018.c:	if (i >= ARRAY_SIZE(isl29018_scales[chip->int_time]))
+drivers/iio/light/isl29018.c:	ret = regmap_update_bits(chip->regmap, ISL29018_REG_ADD_COMMAND2,
+drivers/iio/light/isl29018.c:	chip->scale = new_scale;
+drivers/iio/light/isl29018.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29018.c:	status = regmap_write(chip->regmap, ISL29018_REG_ADD_COMMAND1,
+drivers/iio/light/isl29018.c:	status = regmap_read(chip->regmap, ISL29018_REG_ADD_DATA_LSB, &lsb);
+drivers/iio/light/isl29018.c:	status = regmap_read(chip->regmap, ISL29018_REG_ADD_DATA_MSB, &msb);
+drivers/iio/light/isl29018.c:	data_x_range = lux_data * chip->scale.scale +
+drivers/iio/light/isl29018.c:		       lux_data * chip->scale.uscale / 1000000;
+drivers/iio/light/isl29018.c:	*lux = data_x_range * chip->calibscale +
+drivers/iio/light/isl29018.c:	       data_x_range * chip->ucalibscale / 1000000;
+drivers/iio/light/isl29018.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29018.c:	status = regmap_update_bits(chip->regmap, ISL29018_REG_ADD_COMMAND2,
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_scales[chip->int_time]); ++i)
+drivers/iio/light/isl29018.c:			       isl29018_scales[chip->int_time][i].scale,
+drivers/iio/light/isl29018.c:			       isl29018_scales[chip->int_time][i].uscale);
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_int_utimes[chip->type]); ++i)
+drivers/iio/light/isl29018.c:			       isl29018_int_utimes[chip->type][i]);
+drivers/iio/light/isl29018.c:	return sprintf(buf, "%d\n", chip->prox_scheme);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	chip->prox_scheme = val;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	if (chip->suspended) {
+drivers/iio/light/isl29018.c:			chip->calibscale = val;
+drivers/iio/light/isl29018.c:			chip->ucalibscale = val2;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	if (chip->suspended) {
+drivers/iio/light/isl29018.c:							 chip->prox_scheme,
+drivers/iio/light/isl29018.c:			*val2 = isl29018_int_utimes[chip->type][chip->int_time];
+drivers/iio/light/isl29018.c:			*val = chip->scale.scale;
+drivers/iio/light/isl29018.c:			*val2 = chip->scale.uscale;
+drivers/iio/light/isl29018.c:			*val = chip->calibscale;
+drivers/iio/light/isl29018.c:			*val2 = chip->ucalibscale;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29018.c:	if (chip->type == isl29035) {
+drivers/iio/light/isl29018.c:		status = regmap_read(chip->regmap, ISL29035_REG_DEVICE_ID, &id);
+drivers/iio/light/isl29018.c:		status = regmap_update_bits(chip->regmap,
+drivers/iio/light/isl29018.c:	status = regmap_write(chip->regmap, ISL29018_REG_TEST, 0x0);
+drivers/iio/light/isl29018.c:	status = regmap_write(chip->regmap, ISL29018_REG_ADD_COMMAND1, 0);
+drivers/iio/light/isl29018.c:	status = isl29018_set_scale(chip, chip->scale.scale,
+drivers/iio/light/isl29018.c:				    chip->scale.uscale);
+drivers/iio/light/isl29018.c:			isl29018_int_utimes[chip->type][chip->int_time]);
+drivers/iio/light/isl29018.c:	err = regulator_disable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	mutex_init(&chip->lock);
+drivers/iio/light/isl29018.c:	chip->type = dev_id;
+drivers/iio/light/isl29018.c:	chip->calibscale = 1;
+drivers/iio/light/isl29018.c:	chip->ucalibscale = 0;
+drivers/iio/light/isl29018.c:	chip->int_time = ISL29018_INT_TIME_16;
+drivers/iio/light/isl29018.c:	chip->scale = isl29018_scales[chip->int_time][0];
+drivers/iio/light/isl29018.c:	chip->suspended = false;
+drivers/iio/light/isl29018.c:	chip->vcc_reg = devm_regulator_get(&client->dev, "vcc");
+drivers/iio/light/isl29018.c:	if (IS_ERR(chip->vcc_reg)) {
+drivers/iio/light/isl29018.c:		err = PTR_ERR(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	err = regulator_enable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	chip->regmap = devm_regmap_init_i2c(client,
+drivers/iio/light/isl29018.c:	if (IS_ERR(chip->regmap)) {
+drivers/iio/light/isl29018.c:		err = PTR_ERR(chip->regmap);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	chip->suspended = true;
+drivers/iio/light/isl29018.c:	ret = regulator_disable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	err = regulator_enable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:		mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:		chip->suspended = false;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	chip->prox_sampling_int = sampling_int;
+drivers/iio/light/isl29028.c:	chip->prox_sampling_frac = sampling_fract;
+drivers/iio/light/isl29028.c:	ret = isl29028_set_proxim_sampling(chip, chip->prox_sampling_int,
+drivers/iio/light/isl29028.c:					   chip->prox_sampling_frac);
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	prox_index = isl29028_find_prox_sleep_index(chip->prox_sampling_int,
+drivers/iio/light/isl29028.c:						    chip->prox_sampling_frac);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	chip->lux_scale = lux_scale;
+drivers/iio/light/isl29028.c:	if (chip->als_ir_mode == mode)
+drivers/iio/light/isl29028.c:	ret = isl29028_set_als_scale(chip, chip->lux_scale);
+drivers/iio/light/isl29028.c:		ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:		ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:		ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:		return regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	chip->als_ir_mode = mode;
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_read(chip->regmap, ISL29028_REG_ALSIR_L, &lsb);
+drivers/iio/light/isl29028.c:	ret = regmap_read(chip->regmap, ISL29028_REG_ALSIR_U, &msb);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	if (!chip->enable_prox) {
+drivers/iio/light/isl29028.c:		chip->enable_prox = true;
+drivers/iio/light/isl29028.c:	ret = regmap_read(chip->regmap, ISL29028_REG_PROX_DATA, &data);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	if (chip->lux_scale == 125)
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29028.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29028.c:		*val = chip->prox_sampling_int;
+drivers/iio/light/isl29028.c:		*val2 = chip->prox_sampling_frac;
+drivers/iio/light/isl29028.c:		*val = chip->lux_scale;
+drivers/iio/light/isl29028.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_write(chip->regmap, ISL29028_REG_CONFIGURE, 0x0);
+drivers/iio/light/isl29028.c:	chip->als_ir_mode = ISL29028_MODE_NONE;
+drivers/iio/light/isl29028.c:	chip->enable_prox = false;
+drivers/iio/light/isl29028.c:	mutex_init(&chip->lock);
+drivers/iio/light/isl29028.c:	chip->regmap = devm_regmap_init_i2c(client, &isl29028_regmap_config);
+drivers/iio/light/isl29028.c:	if (IS_ERR(chip->regmap)) {
+drivers/iio/light/isl29028.c:		ret = PTR_ERR(chip->regmap);
+drivers/iio/light/isl29028.c:	chip->enable_prox  = false;
+drivers/iio/light/isl29028.c:	chip->prox_sampling_int = 20;
+drivers/iio/light/isl29028.c:	chip->prox_sampling_frac = 0;
+drivers/iio/light/isl29028.c:	chip->lux_scale = 2000;
+drivers/iio/light/isl29028.c:	ret = regmap_write(chip->regmap, ISL29028_REG_TEST1_MODE, 0x0);
+drivers/iio/light/isl29028.c:	ret = regmap_write(chip->regmap, ISL29028_REG_TEST2_MODE, 0x0);
+drivers/iio/light/isl29028.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29028.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			chip->high_thres & 0xFF);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			(chip->high_thres >> 8) & 0xFF);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			chip->low_thres & 0xFF);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			(chip->low_thres >> 8) & 0xFF);
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	switch (chip->gainlevel->gaintime & TSL2563_TIMING_MASK) {
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	if (adc > chip->gainlevel->max || adc < chip->gainlevel->min) {
+drivers/iio/light/tsl2563.c:		(adc > chip->gainlevel->max) ?
+drivers/iio/light/tsl2563.c:			chip->gainlevel++ : chip->gainlevel--;
+drivers/iio/light/tsl2563.c:					  chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	if (chip->suspended)
+drivers/iio/light/tsl2563.c:	if (!chip->int_enabled) {
+drivers/iio/light/tsl2563.c:		cancel_delayed_work(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:	chip->data0 = tsl2563_normalize_adc(adc0, chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	chip->data1 = tsl2563_normalize_adc(adc1, chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	if (!chip->int_enabled)
+drivers/iio/light/tsl2563.c:		schedule_delayed_work(&chip->poweroff_work, 5 * HZ);
+drivers/iio/light/tsl2563.c:		chip->calib0 = tsl2563_calib_from_sysfs(val);
+drivers/iio/light/tsl2563.c:		chip->calib1 = tsl2563_calib_from_sysfs(val);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:			calib0 = tsl2563_calib_adc(chip->data0, chip->calib0) *
+drivers/iio/light/tsl2563.c:				chip->cover_comp_gain;
+drivers/iio/light/tsl2563.c:			calib1 = tsl2563_calib_adc(chip->data1, chip->calib1) *
+drivers/iio/light/tsl2563.c:				chip->cover_comp_gain;
+drivers/iio/light/tsl2563.c:				*val = chip->data0;
+drivers/iio/light/tsl2563.c:				*val = chip->data1;
+drivers/iio/light/tsl2563.c:			*val = tsl2563_calib_to_sysfs(chip->calib0);
+drivers/iio/light/tsl2563.c:			*val = tsl2563_calib_to_sysfs(chip->calib1);
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:		*val = chip->high_thres;
+drivers/iio/light/tsl2563.c:		*val = chip->low_thres;
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client, TSL2563_CMD | address,
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:		chip->high_thres = val;
+drivers/iio/light/tsl2563.c:		chip->low_thres = val;
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	i2c_smbus_write_byte(chip->client, TSL2563_CMD | TSL2563_CLEARINT);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	if (state && !(chip->intr & 0x30)) {
+drivers/iio/light/tsl2563.c:		chip->intr &= ~0x30;
+drivers/iio/light/tsl2563.c:		chip->intr |= 0x10;
+drivers/iio/light/tsl2563.c:		cancel_delayed_work(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:						chip->intr);
+drivers/iio/light/tsl2563.c:		chip->int_enabled = true;
+drivers/iio/light/tsl2563.c:	if (!state && (chip->intr & 0x30)) {
+drivers/iio/light/tsl2563.c:		chip->intr &= ~0x30;
+drivers/iio/light/tsl2563.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:						chip->intr);
+drivers/iio/light/tsl2563.c:		chip->int_enabled = false;
+drivers/iio/light/tsl2563.c:		schedule_delayed_work(&chip->poweroff_work, 5 * HZ);
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->client = client;
+drivers/iio/light/tsl2563.c:	mutex_init(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->low_thres = 0x0;
+drivers/iio/light/tsl2563.c:	chip->high_thres = 0xffff;
+drivers/iio/light/tsl2563.c:	chip->gainlevel = tsl2563_gainlevel_table;
+drivers/iio/light/tsl2563.c:	chip->intr = TSL2563_INT_PERSIST(4);
+drivers/iio/light/tsl2563.c:	chip->calib0 = tsl2563_calib_from_sysfs(CALIB_BASE_SYSFS);
+drivers/iio/light/tsl2563.c:	chip->calib1 = tsl2563_calib_from_sysfs(CALIB_BASE_SYSFS);
+drivers/iio/light/tsl2563.c:		chip->cover_comp_gain = pdata->cover_comp_gain;
+drivers/iio/light/tsl2563.c:				     &chip->cover_comp_gain);
+drivers/iio/light/tsl2563.c:		chip->cover_comp_gain = 1;
+drivers/iio/light/tsl2563.c:	INIT_DELAYED_WORK(&chip->poweroff_work, tsl2563_poweroff_work);
+drivers/iio/light/tsl2563.c:	schedule_delayed_work(&chip->poweroff_work, 5 * HZ);
+drivers/iio/light/tsl2563.c:	cancel_delayed_work_sync(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:	if (!chip->int_enabled)
+drivers/iio/light/tsl2563.c:		cancel_delayed_work(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:	chip->intr &= ~0x30;
+drivers/iio/light/tsl2563.c:	i2c_smbus_write_byte_data(chip->client, TSL2563_CMD | TSL2563_REG_INT,
+drivers/iio/light/tsl2563.c:				  chip->intr);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->suspended = true;
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->suspended = false;
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_time = 100;
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_gain = 0;
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_gain_trim = 1000;
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_cal_target = 130;
+drivers/iio/light/tsl2583.c:	memcpy(chip->als_settings.als_device_lux, tsl2583_default_lux,
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_read_byte_data(chip->client, TSL2583_CMD_REG);
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to read CMD_REG register\n",
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: data not valid; returning last value\n",
+drivers/iio/light/tsl2583.c:		ret = chip->als_cur_info.lux; /* return LAST VALUE */
+drivers/iio/light/tsl2583.c:		ret = i2c_smbus_read_byte_data(chip->client, reg);
+drivers/iio/light/tsl2583.c:			dev_err(&chip->client->dev, "%s: failed to read register %x\n",
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to clear the interrupt bit\n",
+drivers/iio/light/tsl2583.c:	chip->als_cur_info.als_ch0 = ch0;
+drivers/iio/light/tsl2583.c:	chip->als_cur_info.als_ch1 = ch1;
+drivers/iio/light/tsl2583.c:	if ((ch0 >= chip->als_saturation) || (ch1 >= chip->als_saturation))
+drivers/iio/light/tsl2583.c:		chip->als_cur_info.lux = 0;
+drivers/iio/light/tsl2583.c:	for (p = (struct tsl2583_lux *)chip->als_settings.als_device_lux;
+drivers/iio/light/tsl2583.c:			  (gainadj[chip->als_settings.als_gain].ch0 >> 1))
+drivers/iio/light/tsl2583.c:			 / gainadj[chip->als_settings.als_gain].ch0;
+drivers/iio/light/tsl2583.c:			  (gainadj[chip->als_settings.als_gain].ch1 >> 1))
+drivers/iio/light/tsl2583.c:			 / gainadj[chip->als_settings.als_gain].ch1;
+drivers/iio/light/tsl2583.c:			dev_dbg(&chip->client->dev, "%s: No Data - Returning 0\n",
+drivers/iio/light/tsl2583.c:			chip->als_cur_info.lux = 0;
+drivers/iio/light/tsl2583.c:	if (chip->als_time_scale == 0)
+drivers/iio/light/tsl2583.c:		lux = (lux + (chip->als_time_scale >> 1)) /
+drivers/iio/light/tsl2583.c:			chip->als_time_scale;
+drivers/iio/light/tsl2583.c:	lux64 = lux64 * chip->als_settings.als_gain_trim;
+drivers/iio/light/tsl2583.c:	chip->als_cur_info.lux = lux;
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to get lux\n",
+drivers/iio/light/tsl2583.c:	gain_trim_val = (unsigned int)(((chip->als_settings.als_cal_target)
+drivers/iio/light/tsl2583.c:			* chip->als_settings.als_gain_trim) / lux_val);
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_gain_trim = (int)gain_trim_val;
+drivers/iio/light/tsl2583.c:	als_count = (chip->als_settings.als_time * 100 + 135) / 270;
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to set the als time to %d\n",
+drivers/iio/light/tsl2583.c:	chip->als_saturation = als_count * 922; /* 90% of full scale */
+drivers/iio/light/tsl2583.c:	chip->als_time_scale = (als_time + 25) / 50;
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:					chip->als_settings.als_gain);
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:			chip->als_settings.als_gain);
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	ret = sprintf(buf, "%d\n", chip->als_settings.als_cal_target);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_cal_target = value;
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	for (i = 0; i < ARRAY_SIZE(chip->als_settings.als_device_lux); i++) {
+drivers/iio/light/tsl2583.c:				  chip->als_settings.als_device_lux[i].ratio,
+drivers/iio/light/tsl2583.c:				  chip->als_settings.als_device_lux[i].ch0,
+drivers/iio/light/tsl2583.c:				  chip->als_settings.als_device_lux[i].ch1);
+drivers/iio/light/tsl2583.c:		if (chip->als_settings.als_device_lux[i].ratio == 0) {
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	memcpy(chip->als_settings.als_device_lux, &value[1],
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:		ret = pm_runtime_get_sync(&chip->client->dev);
+drivers/iio/light/tsl2583.c:			pm_runtime_put_noidle(&chip->client->dev);
+drivers/iio/light/tsl2583.c:		pm_runtime_mark_last_busy(&chip->client->dev);
+drivers/iio/light/tsl2583.c:		ret = pm_runtime_put_autosuspend(&chip->client->dev);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:				*val = chip->als_cur_info.als_ch0;
+drivers/iio/light/tsl2583.c:				*val = chip->als_cur_info.als_ch1;
+drivers/iio/light/tsl2583.c:			*val = chip->als_settings.als_gain_trim;
+drivers/iio/light/tsl2583.c:			*val = gainadj[chip->als_settings.als_gain].mean;
+drivers/iio/light/tsl2583.c:			*val2 = chip->als_settings.als_time;
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:			chip->als_settings.als_gain_trim = val;
+drivers/iio/light/tsl2583.c:					chip->als_settings.als_gain = i;
+drivers/iio/light/tsl2583.c:			chip->als_settings.als_time = val2;
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	chip->client = clientp;
+drivers/iio/light/tsl2583.c:	mutex_init(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	indio_dev->name = chip->client->name;
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	if (chip->tsl2772_chip_status != TSL2772_CHIP_WORKING) {
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev, "%s: device is not enabled\n",
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		ret = chip->als_cur_info.lux; /* return LAST VALUE */
+drivers/iio/light/tsl2772.c:	chip->als_cur_info.als_ch0 = ret;
+drivers/iio/light/tsl2772.c:	chip->als_cur_info.als_ch1 = ret;
+drivers/iio/light/tsl2772.c:	if (chip->als_cur_info.als_ch0 >= chip->als_saturation) {
+drivers/iio/light/tsl2772.c:	if (!chip->als_cur_info.als_ch0) {
+drivers/iio/light/tsl2772.c:		ret = chip->als_cur_info.lux;
+drivers/iio/light/tsl2772.c:	for (p = (struct tsl2772_lux *)chip->tsl2772_device_lux; p->ch0 != 0;
+drivers/iio/light/tsl2772.c:		lux = ((chip->als_cur_info.als_ch0 * p->ch0) -
+drivers/iio/light/tsl2772.c:		       (chip->als_cur_info.als_ch1 * p->ch1)) /
+drivers/iio/light/tsl2772.c:			chip->als_gain_time_scale;
+drivers/iio/light/tsl2772.c:		lux = (lux * chip->settings.als_gain_trim) / 1000;
+drivers/iio/light/tsl2772.c:	chip->als_cur_info.lux = max_lux;
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c: *                      chip->prox_data.
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	switch (chip->id) {
+drivers/iio/light/tsl2772.c:	chip->prox_data = ret;
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	struct device_node *of_node = chip->client->dev.of_node;
+drivers/iio/light/tsl2772.c:			chip->settings.prox_power = tsl2772_led_currents[i][1];
+drivers/iio/light/tsl2772.c:	dev_err(&chip->client->dev, "Invalid value %d for led-max-microamp\n",
+drivers/iio/light/tsl2772.c:	struct device_node *of_node = chip->client->dev.of_node;
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:			dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	if (chip->pdata && chip->pdata->platform_default_settings)
+drivers/iio/light/tsl2772.c:		memcpy(&chip->settings, chip->pdata->platform_default_settings,
+drivers/iio/light/tsl2772.c:		memcpy(&chip->settings, &tsl2772_default_settings,
+drivers/iio/light/tsl2772.c:	if (chip->pdata && chip->pdata->platform_lux_table[0].ch0 != 0)
+drivers/iio/light/tsl2772.c:		memcpy(chip->tsl2772_device_lux,
+drivers/iio/light/tsl2772.c:		       chip->pdata->platform_lux_table,
+drivers/iio/light/tsl2772.c:		       sizeof(chip->pdata->platform_lux_table));
+drivers/iio/light/tsl2772.c:		memcpy(chip->tsl2772_device_lux,
+drivers/iio/light/tsl2772.c:		       tsl2772_default_lux_table_group[chip->id],
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = (chip->settings.als_cal_target * chip->settings.als_gain_trim) /
+drivers/iio/light/tsl2772.c:	chip->settings.als_gain_trim = ret;
+drivers/iio/light/tsl2772.c:	regulator_bulk_disable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_TIME] = chip->settings.als_time;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_TIME] = chip->settings.prox_time;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_WAIT_TIME] = chip->settings.wait_time;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_PRX_CONFIG] =
+drivers/iio/light/tsl2772.c:		chip->settings.als_prox_config;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MINTHRESHLO] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_low) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MINTHRESHHI] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_low >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MAXTHRESHLO] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_high) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MAXTHRESHHI] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_high >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PERSISTENCE] =
+drivers/iio/light/tsl2772.c:		(chip->settings.prox_persistence & 0xFF) << 4 |
+drivers/iio/light/tsl2772.c:		(chip->settings.als_persistence & 0xFF);
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_COUNT] =
+drivers/iio/light/tsl2772.c:			chip->settings.prox_pulse_count;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MINTHRESHLO] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_low) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MINTHRESHHI] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_low >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MAXTHRESHLO] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_high) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MAXTHRESHHI] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_high >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	if (chip->tsl2772_chip_status == TSL2772_CHIP_WORKING) {
+drivers/iio/light/tsl2772.c:		dev_info(&chip->client->dev, "device is already enabled\n");
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_GAIN] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_gain & 0xFF) |
+drivers/iio/light/tsl2772.c:		((chip->settings.prox_gain & 0xFF) << 2) |
+drivers/iio/light/tsl2772.c:		(chip->settings.prox_diode << 4) |
+drivers/iio/light/tsl2772.c:		(chip->settings.prox_power << 6);
+drivers/iio/light/tsl2772.c:	als_count = 256 - chip->settings.als_time;
+drivers/iio/light/tsl2772.c:	als_time_us = als_count * tsl2772_int_time_avail[chip->id][3];
+drivers/iio/light/tsl2772.c:	chip->als_saturation = als_count * 768; /* 75% of full scale */
+drivers/iio/light/tsl2772.c:	chip->als_gain_time_scale = als_time_us *
+drivers/iio/light/tsl2772.c:		tsl2772_als_gain[chip->settings.als_gain];
+drivers/iio/light/tsl2772.c:	for (i = 0, dev_reg = chip->tsl2772_config;
+drivers/iio/light/tsl2772.c:		ret = i2c_smbus_write_byte_data(chip->client, reg,
+drivers/iio/light/tsl2772.c:			dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	if (chip->settings.als_interrupt_en)
+drivers/iio/light/tsl2772.c:	if (chip->settings.prox_interrupt_en)
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	chip->tsl2772_chip_status = TSL2772_CHIP_WORKING;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_chip_status = TSL2772_CHIP_SUSPENDED;
+drivers/iio/light/tsl2772.c:	int device_status = chip->tsl2772_chip_status;
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	if (chip->settings.prox_max_samples_cal < 1 ||
+drivers/iio/light/tsl2772.c:	    chip->settings.prox_max_samples_cal > MAX_SAMPLES_CAL)
+drivers/iio/light/tsl2772.c:	for (i = 0; i < chip->settings.prox_max_samples_cal; i++) {
+drivers/iio/light/tsl2772.c:		prox_history[i] = chip->prox_data;
+drivers/iio/light/tsl2772.c:	for (i = 0; i < chip->settings.prox_max_samples_cal; i++) {
+drivers/iio/light/tsl2772.c:	mean = sample_sum / chip->settings.prox_max_samples_cal;
+drivers/iio/light/tsl2772.c:	chip->settings.prox_thres_high = (max << 1) - mean;
+drivers/iio/light/tsl2772.c:		*length = ARRAY_SIZE(tsl2772_int_time_avail[chip->id]);
+drivers/iio/light/tsl2772.c:		*vals = tsl2772_int_time_avail[chip->id];
+drivers/iio/light/tsl2772.c:	return snprintf(buf, PAGE_SIZE, "%d\n", chip->settings.als_cal_target);
+drivers/iio/light/tsl2772.c:	chip->settings.als_cal_target = value;
+drivers/iio/light/tsl2772.c:			chip->tsl2772_device_lux[i].ch0,
+drivers/iio/light/tsl2772.c:			chip->tsl2772_device_lux[i].ch1);
+drivers/iio/light/tsl2772.c:		if (chip->tsl2772_device_lux[i].ch0 == 0) {
+drivers/iio/light/tsl2772.c:	int value[ARRAY_SIZE(chip->tsl2772_device_lux) * 2 + 1];
+drivers/iio/light/tsl2772.c:	    n > ((ARRAY_SIZE(chip->tsl2772_device_lux) - 1) * 2))
+drivers/iio/light/tsl2772.c:	if (chip->tsl2772_chip_status == TSL2772_CHIP_WORKING) {
+drivers/iio/light/tsl2772.c:	memset(chip->tsl2772_device_lux, 0, sizeof(chip->tsl2772_device_lux));
+drivers/iio/light/tsl2772.c:	memcpy(chip->tsl2772_device_lux, &value[1], (value[0] * 4));
+drivers/iio/light/tsl2772.c:		return chip->settings.als_interrupt_en;
+drivers/iio/light/tsl2772.c:		return chip->settings.prox_interrupt_en;
+drivers/iio/light/tsl2772.c:		chip->settings.als_interrupt_en = val ? true : false;
+drivers/iio/light/tsl2772.c:		chip->settings.prox_interrupt_en = val ? true : false;
+drivers/iio/light/tsl2772.c:				chip->settings.als_thresh_high = val;
+drivers/iio/light/tsl2772.c:				chip->settings.als_thresh_low = val;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_thres_high = val;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_thres_low = val;
+drivers/iio/light/tsl2772.c:			time = chip->settings.als_time;
+drivers/iio/light/tsl2772.c:			time = chip->settings.prox_time;
+drivers/iio/light/tsl2772.c:			(count * tsl2772_int_time_avail[chip->id][3]);
+drivers/iio/light/tsl2772.c:			chip->settings.als_persistence = persistence;
+drivers/iio/light/tsl2772.c:			chip->settings.prox_persistence = persistence;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.als_thresh_high;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.als_thresh_low;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.prox_thres_high;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.prox_thres_low;
+drivers/iio/light/tsl2772.c:			time = chip->settings.als_time;
+drivers/iio/light/tsl2772.c:			persistence = chip->settings.als_persistence;
+drivers/iio/light/tsl2772.c:			time = chip->settings.prox_time;
+drivers/iio/light/tsl2772.c:			persistence = chip->settings.prox_persistence;
+drivers/iio/light/tsl2772.c:			tsl2772_int_time_avail[chip->id][3];
+drivers/iio/light/tsl2772.c:			*val = chip->als_cur_info.lux;
+drivers/iio/light/tsl2772.c:				*val = chip->als_cur_info.als_ch0;
+drivers/iio/light/tsl2772.c:				*val = chip->als_cur_info.als_ch1;
+drivers/iio/light/tsl2772.c:			*val = chip->prox_data;
+drivers/iio/light/tsl2772.c:			*val = tsl2772_als_gain[chip->settings.als_gain];
+drivers/iio/light/tsl2772.c:			*val = tsl2772_prox_gain[chip->settings.prox_gain];
+drivers/iio/light/tsl2772.c:		*val = chip->settings.als_gain_trim;
+drivers/iio/light/tsl2772.c:		*val2 = (256 - chip->settings.als_time) *
+drivers/iio/light/tsl2772.c:			tsl2772_int_time_avail[chip->id][3];
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 0;
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 1;
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 2;
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 3;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 0;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 1;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 2;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 3;
+drivers/iio/light/tsl2772.c:		chip->settings.als_gain_trim = val;
+drivers/iio/light/tsl2772.c:		if (val != 0 || val2 < tsl2772_int_time_avail[chip->id][1] ||
+drivers/iio/light/tsl2772.c:		    val2 > tsl2772_int_time_avail[chip->id][5])
+drivers/iio/light/tsl2772.c:		chip->settings.als_time = 256 -
+drivers/iio/light/tsl2772.c:			(val2 / tsl2772_int_time_avail[chip->id][3]);
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	chip->client = clientp;
+drivers/iio/light/tsl2772.c:	chip->supplies[TSL2772_SUPPLY_VDD].supply = "vdd";
+drivers/iio/light/tsl2772.c:	chip->supplies[TSL2772_SUPPLY_VDDIO].supply = "vddio";
+drivers/iio/light/tsl2772.c:				      ARRAY_SIZE(chip->supplies),
+drivers/iio/light/tsl2772.c:				      chip->supplies);
+drivers/iio/light/tsl2772.c:	ret = regulator_bulk_enable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_info(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	mutex_init(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	mutex_init(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	chip->tsl2772_chip_status = TSL2772_CHIP_UNKNOWN;
+drivers/iio/light/tsl2772.c:	chip->pdata = dev_get_platdata(&clientp->dev);
+drivers/iio/light/tsl2772.c:	chip->id = id->driver_data;
+drivers/iio/light/tsl2772.c:	chip->chip_info =
+drivers/iio/light/tsl2772.c:	indio_dev->info = chip->chip_info->info;
+drivers/iio/light/tsl2772.c:	indio_dev->name = chip->client->name;
+drivers/iio/light/tsl2772.c:	indio_dev->num_channels = chip->chip_info->chan_table_elements;
+drivers/iio/light/tsl2772.c:		indio_dev->channels = chip->chip_info->channel_with_events;
+drivers/iio/light/tsl2772.c:		indio_dev->channels = chip->chip_info->channel_without_events;
+drivers/iio/light/tsl2772.c:	regulator_bulk_disable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/light/tsl2772.c:	ret = regulator_bulk_enable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/temperature/maxim_thermocouple.c:	unsigned int storage_bytes = data->chip->read_size;
+drivers/iio/temperature/maxim_thermocouple.c:	if (*val & data->chip->status_bit)
+drivers/iio/temperature/maxim_thermocouple.c:	ret = spi_read(data->spi, data->buffer, data->chip->read_size);
+drivers/iio/temperature/maxim_thermocouple.c:	indio_dev->channels = chip->channels;
+drivers/iio/temperature/maxim_thermocouple.c:	indio_dev->available_scan_masks = chip->scan_masks;
+drivers/iio/temperature/maxim_thermocouple.c:	indio_dev->num_channels = chip->num_channels;
+drivers/infiniband/hw/hfi1/chip.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/hfi1/init.c: * "extra" is for chip-specific data.
+drivers/infiniband/hw/hfi1/init.c: * Do all the generic driver unit- and chip-independent memory
+drivers/infiniband/hw/hfi1/pcie.c: * Do PCIe cleanup related to dd, after chip-specific cleanup, etc.  Just prior
+drivers/infiniband/hw/hfi1/qsfp.h: * differ (in the chip-specific section), we need a pointer to its head.
+drivers/infiniband/hw/qib/qib.h: * is chip-specific, per-port
+drivers/infiniband/hw/qib/qib.h:	struct qib_chippport_specific *cpspec; /* chip-specific per-port */
+drivers/infiniband/hw/qib/qib.h:	/* last ibcstatus.  opaque outside chip-specific code */
+drivers/infiniband/hw/qib/qib.h: * described above) while fields only used by a particular chip-type are in
+drivers/infiniband/hw/qib/qib.h:	struct qib_chip_specific *cspec; /* chip-specific */
+drivers/infiniband/hw/qib/qib.h:	/* fill out chip-specific fields */
+drivers/infiniband/hw/qib/qib.h:	/* Read/modify/write of GPIO pins (potentially chip-specific */
+drivers/infiniband/hw/qib/qib.h:	 * modify rcvctrl shadow[s] and write to appropriate chip-regs.
+drivers/infiniband/hw/qib/qib.h:/* clean up any per-chip chip-specific stuff */
+drivers/infiniband/hw/qib/qib_diag.c: * @offs: the offset in chip-space
+drivers/infiniband/hw/qib/qib_diag.c:	 * chip-specific code here, so should not make many assumptions.
+drivers/infiniband/hw/qib/qib_eeprom.c:	 * figures out device. This will migrate to chip-specific.
+drivers/infiniband/hw/qib/qib_file_ops.c:	 * array for time being.  If rcd->ctxt > chip-supported,
+drivers/infiniband/hw/qib/qib_iba6120.c: * This file contains all the chip-specific register information and
+drivers/infiniband/hw/qib/qib_iba6120.c:	/* chip-specific hardware errors */
+drivers/infiniband/hw/qib/qib_iba6120.c: * This is in chip-specific code because of all of the register accesses,
+drivers/infiniband/hw/qib/qib_iba6120.c: * Only chip-specific because it's all register accesses
+drivers/infiniband/hw/qib/qib_iba6120.c: * qib_6120_setup_cleanup - clean up any per-chip chip-specific stuff
+drivers/infiniband/hw/qib/qib_iba6120.c: * Set up our chip-specific interrupt handler
+drivers/infiniband/hw/qib/qib_iba6120.c: * qib_6120_get_base_info - set chip-specific flags for user code
+drivers/infiniband/hw/qib/qib_iba6120.c: * Modify the RCVCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba6120.c: * location is chip-specific, but the needed operations are
+drivers/infiniband/hw/qib/qib_iba6120.c: * Modify the SENDCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba6120.c: * qib_init_iba6120_funcs - set up the chip-specific function pointers
+drivers/infiniband/hw/qib/qib_iba6120.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/qib/qib_iba6120.c:	/* initialize chip-specific variables */
+drivers/infiniband/hw/qib/qib_iba7220.c: * This file contains almost all the chip-specific register information and
+drivers/infiniband/hw/qib/qib_iba7220.c:	/* chip-specific hardware errors */
+drivers/infiniband/hw/qib/qib_iba7220.c: * This is in chip-specific code because of all of the register accesses,
+drivers/infiniband/hw/qib/qib_iba7220.c: * Only chip-specific because it's all register accesses
+drivers/infiniband/hw/qib/qib_iba7220.c: * qib_setup_7220_cleanup - clean up any per-chip chip-specific stuff
+drivers/infiniband/hw/qib/qib_iba7220.c: * Set up our chip-specific interrupt handler.
+drivers/infiniband/hw/qib/qib_iba7220.c: * qib_init_7220_get_base_info - set chip-specific flags for user code
+drivers/infiniband/hw/qib/qib_iba7220.c: * Modify the RCVCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7220.c: * location is chip-specifc, but the needed operations are
+drivers/infiniband/hw/qib/qib_iba7220.c: * Modify the SENDCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7220.c: * qib_init_iba7220_funcs - set up the chip-specific function pointers
+drivers/infiniband/hw/qib/qib_iba7220.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/qib/qib_iba7220.c:	/* initialize chip-specific variables */
+drivers/infiniband/hw/qib/qib_iba7322.c: * This file contains almost all the chip-specific register information and
+drivers/infiniband/hw/qib/qib_iba7322.c: * This is in chip-specific code because of all of the register accesses,
+drivers/infiniband/hw/qib/qib_iba7322.c: * Only chip-specific because it's all register accesses
+drivers/infiniband/hw/qib/qib_iba7322.c: * Set up our chip-specific interrupt handler.
+drivers/infiniband/hw/qib/qib_iba7322.c: * qib_init_7322_get_base_info - set chip-specific flags for user code
+drivers/infiniband/hw/qib/qib_iba7322.c: * Modify the RCVCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7322.c: * location is chip-specifc, but the needed operations are
+drivers/infiniband/hw/qib/qib_iba7322.c: * Modify the SENDCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7322.c: * qib_init_iba7322_funcs - set up the chip-specific function pointers
+drivers/infiniband/hw/qib/qib_iba7322.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/qib/qib_iba7322.c:	/* initialize chip-specific variables */
+drivers/infiniband/hw/qib/qib_iba7322.c:	/* Get correct offset in chip-space, and in source table */
+drivers/infiniband/hw/qib/qib_init.c:	 * calculated in chip-specific code because it may cause some
+drivers/infiniband/hw/qib/qib_init.c:	 * chip-specific adjustments to be made.
+drivers/infiniband/hw/qib/qib_init.c:	/* Bypass most chip-init, to get to device creation */
+drivers/infiniband/hw/qib/qib_init.c: * "extra" is for chip-specific data.
+drivers/infiniband/hw/qib/qib_init.c: * Do all the generic driver unit- and chip-independent memory
+drivers/infiniband/hw/qib/qib_init.c:	 * Clean up chip-specific stuff.
+drivers/infiniband/hw/qib/qib_intr.c:	 * call the chip-specific code to take appropriate actions.
+drivers/infiniband/hw/qib/qib_intr.c:			goto skip_ibchange; /* chip-code handled */
+drivers/infiniband/hw/qib/qib_intr.c:			goto skip_ibchange; /* chip-code handled */
+drivers/infiniband/hw/qib/qib_pcie.c: * from qib_pcie_params, which every chip-specific
+drivers/infiniband/hw/qib/qib_pcie.c: * Do PCIe cleanup, after chip-specific cleanup, etc.  Just prior
+drivers/infiniband/hw/qib/qib_pcie.c: * to move all the pcie code out of the chip-specific driver code.
+drivers/infiniband/hw/qib/qib_qsfp.h: * it will be part of port-chip-specific data if a board supports QSFP.
+drivers/infiniband/hw/qib/qib_qsfp.h: * differ (in the chip-specific section), we need a pointer to its head.
+drivers/infiniband/hw/qib/qib_sd7220.c:		 * Suppress it around the reset, both in chip-level
+drivers/infiniband/hw/qib/qib_sd7220.c:			 * loc encodes chip-select as well as address
+drivers/infiniband/hw/qib/qib_twsi.c: * have been moved to chip-specific files.
+drivers/input/keyboard/mcs_touchkey.c:	val = i2c_smbus_read_byte_data(client, chip->status_reg);
+drivers/input/keyboard/mcs_touchkey.c:	pressed = (val & (1 << chip->pressbit)) >> chip->pressbit;
+drivers/input/keyboard/mcs_touchkey.c:	if (chip->press_invert)
+drivers/input/keyboard/mcs_touchkey.c:		pressed ^= chip->press_invert;
+drivers/input/keyboard/mcs_touchkey.c:		key_val = val & (0xff >> (8 - chip->pressbit));
+drivers/input/keyboard/mcs_touchkey.c:		key_val -= chip->baseval;
+drivers/input/keyboard/mtk-pmic-keys.c:	keys->regmap = pmic_chip->regmap;
+drivers/input/keyboard/tca6416-keypad.c:	error = chip->io_size > 8 ?
+drivers/input/keyboard/tca6416-keypad.c:		i2c_smbus_write_word_data(chip->client, reg << 1, val) :
+drivers/input/keyboard/tca6416-keypad.c:		i2c_smbus_write_byte_data(chip->client, reg, val);
+drivers/input/keyboard/tca6416-keypad.c:		dev_err(&chip->client->dev,
+drivers/input/keyboard/tca6416-keypad.c:	retval = chip->io_size > 8 ?
+drivers/input/keyboard/tca6416-keypad.c:		 i2c_smbus_read_word_data(chip->client, reg << 1) :
+drivers/input/keyboard/tca6416-keypad.c:		 i2c_smbus_read_byte_data(chip->client, reg);
+drivers/input/keyboard/tca6416-keypad.c:		dev_err(&chip->client->dev, "%s failed, reg: %d, error: %d\n",
+drivers/input/keyboard/tca6416-keypad.c:	struct input_dev *input = chip->input;
+drivers/input/keyboard/tca6416-keypad.c:	reg_val &= chip->pinmask;
+drivers/input/keyboard/tca6416-keypad.c:	val = reg_val ^ chip->reg_input;
+drivers/input/keyboard/tca6416-keypad.c:	chip->reg_input = reg_val;
+drivers/input/keyboard/tca6416-keypad.c:			struct tca6416_button *button = &chip->buttons[pin_index];
+drivers/input/keyboard/tca6416-keypad.c:		if (chip->pinmask & (1 << i))
+drivers/input/keyboard/tca6416-keypad.c:	schedule_delayed_work(&chip->dwork, msecs_to_jiffies(100));
+drivers/input/keyboard/tca6416-keypad.c:	if (chip->use_polling)
+drivers/input/keyboard/tca6416-keypad.c:		schedule_delayed_work(&chip->dwork, msecs_to_jiffies(100));
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	if (chip->use_polling)
+drivers/input/keyboard/tca6416-keypad.c:		cancel_delayed_work_sync(&chip->dwork);
+drivers/input/keyboard/tca6416-keypad.c:		disable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_OUTPUT, &chip->reg_output);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_DIRECTION, &chip->reg_direction);
+drivers/input/keyboard/tca6416-keypad.c:				  chip->reg_direction | chip->pinmask);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_DIRECTION, &chip->reg_direction);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_INPUT, &chip->reg_input);
+drivers/input/keyboard/tca6416-keypad.c:	chip->reg_input &= chip->pinmask;
+drivers/input/keyboard/tca6416-keypad.c:	chip->client = client;
+drivers/input/keyboard/tca6416-keypad.c:	chip->input = input;
+drivers/input/keyboard/tca6416-keypad.c:	chip->io_size = id->driver_data;
+drivers/input/keyboard/tca6416-keypad.c:	chip->pinmask = pdata->pinmask;
+drivers/input/keyboard/tca6416-keypad.c:	chip->use_polling = pdata->use_polling;
+drivers/input/keyboard/tca6416-keypad.c:	INIT_DELAYED_WORK(&chip->dwork, tca6416_keys_work_func);
+drivers/input/keyboard/tca6416-keypad.c:		chip->buttons[i] = pdata->buttons[i];
+drivers/input/keyboard/tca6416-keypad.c:	if (!chip->use_polling) {
+drivers/input/keyboard/tca6416-keypad.c:			chip->irqnum = gpio_to_irq(client->irq);
+drivers/input/keyboard/tca6416-keypad.c:			chip->irqnum = client->irq;
+drivers/input/keyboard/tca6416-keypad.c:		error = request_threaded_irq(chip->irqnum, NULL,
+drivers/input/keyboard/tca6416-keypad.c:				chip->irqnum, error);
+drivers/input/keyboard/tca6416-keypad.c:		disable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	if (!chip->use_polling) {
+drivers/input/keyboard/tca6416-keypad.c:		free_irq(chip->irqnum, chip);
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	if (!chip->use_polling) {
+drivers/input/keyboard/tca6416-keypad.c:		free_irq(chip->irqnum, chip);
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	input_unregister_device(chip->input);
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq_wake(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:		disable_irq_wake(chip->irqnum);
+drivers/input/misc/88pm860x_onkey.c:	info->i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/input/misc/88pm860x_onkey.c:		dev_err(chip->dev, "Failed to allocate input dev\n");
+drivers/input/misc/88pm860x_onkey.c:		dev_err(chip->dev, "Can't register input device: %d\n", ret);
+drivers/input/misc/88pm860x_onkey.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/input/misc/88pm860x_onkey.c:		chip->wakeup_flag |= 1 << PM8607_IRQ_ONKEY;
+drivers/input/misc/88pm860x_onkey.c:		chip->wakeup_flag &= ~(1 << PM8607_IRQ_ONKEY);
+drivers/input/misc/ad714x-i2c.c:	struct i2c_client *client = to_i2c_client(chip->dev);
+drivers/input/misc/ad714x-i2c.c:	chip->xfer_buf[0] = cpu_to_be16(reg);
+drivers/input/misc/ad714x-i2c.c:	chip->xfer_buf[1] = cpu_to_be16(data);
+drivers/input/misc/ad714x-i2c.c:	error = i2c_master_send(client, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-i2c.c:				2 * sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-i2c.c:	struct i2c_client *client = to_i2c_client(chip->dev);
+drivers/input/misc/ad714x-i2c.c:	chip->xfer_buf[0] = cpu_to_be16(reg);
+drivers/input/misc/ad714x-i2c.c:	error = i2c_master_send(client, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-i2c.c:				sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-i2c.c:		error = i2c_master_recv(client, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-i2c.c:					len * sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-i2c.c:		data[i] = be16_to_cpu(chip->xfer_buf[i]);
+drivers/input/misc/ad714x-spi.c:	struct spi_device *spi = to_spi_device(chip->dev);
+drivers/input/misc/ad714x-spi.c:	chip->xfer_buf[0] = cpu_to_be16(AD714x_SPI_CMD_PREFIX |
+drivers/input/misc/ad714x-spi.c:	xfer[0].tx_buf = &chip->xfer_buf[0];
+drivers/input/misc/ad714x-spi.c:	xfer[0].len = sizeof(chip->xfer_buf[0]);
+drivers/input/misc/ad714x-spi.c:	xfer[1].rx_buf = &chip->xfer_buf[1];
+drivers/input/misc/ad714x-spi.c:	xfer[1].len = sizeof(chip->xfer_buf[1]) * len;
+drivers/input/misc/ad714x-spi.c:		dev_err(chip->dev, "SPI read error: %d\n", error);
+drivers/input/misc/ad714x-spi.c:		data[i] = be16_to_cpu(chip->xfer_buf[i + 1]);
+drivers/input/misc/ad714x-spi.c:	struct spi_device *spi = to_spi_device(chip->dev);
+drivers/input/misc/ad714x-spi.c:	chip->xfer_buf[0] = cpu_to_be16(AD714x_SPI_CMD_PREFIX | reg);
+drivers/input/misc/ad714x-spi.c:	chip->xfer_buf[1] = cpu_to_be16(data);
+drivers/input/misc/ad714x-spi.c:	error = spi_write(spi, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-spi.c:			  2 * sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-spi.c:		dev_err(chip->dev, "SPI write error: %d\n", error);
+drivers/input/misc/max8925_onkey.c:	info->i2c = chip->i2c;
+drivers/input/misc/max8925_onkey.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/input/misc/max8925_onkey.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/input/misc/max8925_onkey.c:		dev_err(chip->dev, "Can't register input device: %d\n", error);
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag |= 1 << info->irq[0];
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag |= 1 << info->irq[1];
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag &= ~(1 << info->irq[0]);
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag &= ~(1 << info->irq[1]);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_EXTERNAL_MODE) {
+drivers/input/misc/max8997_haptic.c:		unsigned int duty = chip->pwm_period * chip->level / 100;
+drivers/input/misc/max8997_haptic.c:		ret = pwm_config(chip->pwm, duty, chip->pwm_period);
+drivers/input/misc/max8997_haptic.c:			if (chip->level <= i * 100 / 64) {
+drivers/input/misc/max8997_haptic.c:		switch (chip->internal_mode_pattern) {
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:	value = chip->type << MAX8997_MOTOR_TYPE_SHIFT |
+drivers/input/misc/max8997_haptic.c:		chip->enabled << MAX8997_ENABLE_SHIFT |
+drivers/input/misc/max8997_haptic.c:		chip->mode << MAX8997_MODE_SHIFT | chip->pwm_divisor;
+drivers/input/misc/max8997_haptic.c:	max8997_write_reg(chip->client, MAX8997_HAPTIC_REG_CONF2, value);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_INTERNAL_MODE && chip->enabled) {
+drivers/input/misc/max8997_haptic.c:		value = chip->internal_mode_pattern << MAX8997_CYCLE_SHIFT |
+drivers/input/misc/max8997_haptic.c:			chip->internal_mode_pattern << MAX8997_SIG_PERIOD_SHIFT |
+drivers/input/misc/max8997_haptic.c:			chip->internal_mode_pattern << MAX8997_SIG_DUTY_SHIFT |
+drivers/input/misc/max8997_haptic.c:			chip->internal_mode_pattern << MAX8997_PWM_DUTY_SHIFT;
+drivers/input/misc/max8997_haptic.c:		max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:		switch (chip->internal_mode_pattern) {
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle << 4;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle << 4;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:	mutex_lock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:		dev_err(chip->dev, "set_pwm_cycle failed, error: %d\n", error);
+drivers/input/misc/max8997_haptic.c:	if (!chip->enabled) {
+drivers/input/misc/max8997_haptic.c:		error = regulator_enable(chip->regulator);
+drivers/input/misc/max8997_haptic.c:			dev_err(chip->dev, "Failed to enable regulator\n");
+drivers/input/misc/max8997_haptic.c:		if (chip->mode == MAX8997_EXTERNAL_MODE) {
+drivers/input/misc/max8997_haptic.c:			error = pwm_enable(chip->pwm);
+drivers/input/misc/max8997_haptic.c:				dev_err(chip->dev, "Failed to enable PWM\n");
+drivers/input/misc/max8997_haptic.c:				regulator_disable(chip->regulator);
+drivers/input/misc/max8997_haptic.c:		chip->enabled = true;
+drivers/input/misc/max8997_haptic.c:	mutex_unlock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	mutex_lock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	if (chip->enabled) {
+drivers/input/misc/max8997_haptic.c:		chip->enabled = false;
+drivers/input/misc/max8997_haptic.c:		if (chip->mode == MAX8997_EXTERNAL_MODE)
+drivers/input/misc/max8997_haptic.c:			pwm_disable(chip->pwm);
+drivers/input/misc/max8997_haptic.c:		regulator_disable(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	mutex_unlock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	if (chip->level)
+drivers/input/misc/max8997_haptic.c:	chip->level = effect->u.rumble.strong_magnitude;
+drivers/input/misc/max8997_haptic.c:	if (!chip->level)
+drivers/input/misc/max8997_haptic.c:		chip->level = effect->u.rumble.weak_magnitude;
+drivers/input/misc/max8997_haptic.c:	schedule_work(&chip->work);
+drivers/input/misc/max8997_haptic.c:	cancel_work_sync(&chip->work);
+drivers/input/misc/max8997_haptic.c:	INIT_WORK(&chip->work, max8997_haptic_play_effect_work);
+drivers/input/misc/max8997_haptic.c:	mutex_init(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	chip->client = iodev->haptic;
+drivers/input/misc/max8997_haptic.c:	chip->dev = &pdev->dev;
+drivers/input/misc/max8997_haptic.c:	chip->input_dev = input_dev;
+drivers/input/misc/max8997_haptic.c:	chip->pwm_period = haptic_pdata->pwm_period;
+drivers/input/misc/max8997_haptic.c:	chip->type = haptic_pdata->type;
+drivers/input/misc/max8997_haptic.c:	chip->mode = haptic_pdata->mode;
+drivers/input/misc/max8997_haptic.c:	chip->pwm_divisor = haptic_pdata->pwm_divisor;
+drivers/input/misc/max8997_haptic.c:	switch (chip->mode) {
+drivers/input/misc/max8997_haptic.c:		chip->internal_mode_pattern =
+drivers/input/misc/max8997_haptic.c:		chip->pattern_cycle = haptic_pdata->pattern_cycle;
+drivers/input/misc/max8997_haptic.c:		chip->pattern_signal_period =
+drivers/input/misc/max8997_haptic.c:		chip->pwm = pwm_request(haptic_pdata->pwm_channel_id,
+drivers/input/misc/max8997_haptic.c:		if (IS_ERR(chip->pwm)) {
+drivers/input/misc/max8997_haptic.c:			error = PTR_ERR(chip->pwm);
+drivers/input/misc/max8997_haptic.c:		pwm_apply_args(chip->pwm);
+drivers/input/misc/max8997_haptic.c:			"Invalid chip mode specified (%d)\n", chip->mode);
+drivers/input/misc/max8997_haptic.c:	chip->regulator = regulator_get(&pdev->dev, "inmotor");
+drivers/input/misc/max8997_haptic.c:	if (IS_ERR(chip->regulator)) {
+drivers/input/misc/max8997_haptic.c:		error = PTR_ERR(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	regulator_put(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_EXTERNAL_MODE)
+drivers/input/misc/max8997_haptic.c:		pwm_free(chip->pwm);
+drivers/input/misc/max8997_haptic.c:	input_unregister_device(chip->input_dev);
+drivers/input/misc/max8997_haptic.c:	regulator_put(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_EXTERNAL_MODE)
+drivers/input/misc/max8997_haptic.c:		pwm_free(chip->pwm);
+drivers/input/touchscreen/88pm860x-ts.c:			dev_dbg(chip->dev, "z1:%d, z2:%d, rt:%d\n",
+drivers/input/touchscreen/88pm860x-ts.c:		dev_dbg(chip->dev, "pen down at [%d, %d].\n", x, y);
+drivers/input/touchscreen/88pm860x-ts.c:		dev_dbg(chip->dev, "pen release\n");
+drivers/input/touchscreen/88pm860x-ts.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
+drivers/input/touchscreen/88pm860x-ts.c:				 : chip->companion;
+drivers/input/touchscreen/88pm860x-ts.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
+drivers/input/touchscreen/88pm860x-ts.c:				 : chip->companion;
+drivers/input/touchscreen/88pm860x-ts.c:		dev_err(chip->dev, "Failed to register touch!\n");
+drivers/input/touchscreen/goodix.c:	return ts->chip->check_config(ts, cfg);
+drivers/input/touchscreen/goodix.c:	error = goodix_i2c_write(ts->client, ts->chip->config_addr, cfg->data,
+drivers/input/touchscreen/goodix.c:	error = goodix_i2c_read(ts->client, ts->chip->config_addr,
+drivers/input/touchscreen/goodix.c:				config, ts->chip->config_len);
+drivers/input/touchscreen/ili210x.c:	for (i = 0; i < priv->chip->max_touches; i++) {
+drivers/input/touchscreen/ili210x.c:		touch = priv->chip->parse_touch_data(touchdata, i, &x, &y);
+drivers/input/touchscreen/ili210x.c:		error = chip->get_touch_data(client, touchdata);
+drivers/input/touchscreen/ili210x.c:		keep_polling = chip->continue_polling(touchdata, touch);
+drivers/input/touchscreen/ili210x.c:	return priv->chip->has_calibrate_reg;
+drivers/input/touchscreen/ili210x.c:	max_xy = (chip->resolution ?: SZ_64K) - 1;
+drivers/input/touchscreen/ili210x.c:	error = input_mt_init_slots(input, priv->chip->max_touches,
+drivers/input/touchscreen/pixcir_i2c_ts.c:	i = chip->has_hw_ids ? 1 : 0;
+drivers/input/touchscreen/pixcir_i2c_ts.c:	readsize = 2 + tsdata->chip->max_fingers * (4 + i);
+drivers/input/touchscreen/pixcir_i2c_ts.c:	if (touch > tsdata->chip->max_fingers)
+drivers/input/touchscreen/pixcir_i2c_ts.c:		touch = tsdata->chip->max_fingers;
+drivers/input/touchscreen/pixcir_i2c_ts.c:		if (chip->has_hw_ids) {
+drivers/input/touchscreen/pixcir_i2c_ts.c:	if (!ts->chip->has_hw_ids)
+drivers/input/touchscreen/pixcir_i2c_ts.c:		if (chip->has_hw_ids) {
+drivers/input/touchscreen/pixcir_i2c_ts.c:	error = input_mt_init_slots(input, tsdata->chip->max_fingers,
+drivers/iommu/Makefile:obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o
+drivers/iommu/amd_iommu.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/iommu/hyperv-iommu.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/iommu/intel_irq_remapping.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/irqchip/exynos-combiner.c:	if (chip && chip->irq_set_affinity)
+drivers/irqchip/exynos-combiner.c:		return chip->irq_set_affinity(data, mask_val, force);
+drivers/irqchip/irq-alpine-msi.c:	d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-gic-v2m.c:	d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-gic-v3-mbi.c:	return d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-gic.c:IRQCHIP_DECLARE(arm1176jzf_dc_gic, "arm,arm1176jzf-devchip-gic", gic_of_init);
+drivers/irqchip/irq-mbigen.c:				      &mbigen_irq_chip, mgn_chip->base);
+drivers/irqchip/irq-mbigen.c:	mgn_chip->pdev = pdev;
+drivers/irqchip/irq-mbigen.c:	mgn_chip->base = devm_ioremap(&pdev->dev, res->start,
+drivers/irqchip/irq-mbigen.c:	if (!mgn_chip->base) {
+drivers/irqchip/irq-mtk-cirq.c:	ret = data->chip->irq_set_type(data, type);
+drivers/irqchip/irq-mtk-sysirq.c:	ret = data->chip->irq_set_type(data, type);
+drivers/irqchip/irq-mvebu-odmi.c:	d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->name = dev_name(&pdev->dev);
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->irq_mask = mvebu_pic_mask_irq;
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->irq_unmask = mvebu_pic_unmask_irq;
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->irq_eoi = mvebu_pic_eoi_irq;
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_mask)
+drivers/irqchip/irq-partition-percpu.c:		chip->irq_mask(data);
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_unmask)
+drivers/irqchip/irq-partition-percpu.c:		chip->irq_unmask(data);
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_set_irqchip_state)
+drivers/irqchip/irq-partition-percpu.c:		return chip->irq_set_irqchip_state(data, which, val);
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_get_irqchip_state)
+drivers/irqchip/irq-partition-percpu.c:		return chip->irq_get_irqchip_state(data, which, val);
+drivers/irqchip/irq-partition-percpu.c:	if (chip->irq_set_type)
+drivers/irqchip/irq-partition-percpu.c:		return chip->irq_set_type(data, type);
+drivers/irqchip/irq-partition-percpu.c:	seq_printf(p, " %5s-%lu", chip->name, data->hwirq);
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->name = "intc-irqpin";
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->parent_device = dev;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_mask = disable_fn;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_unmask = enable_fn;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_set_type = intc_irqpin_irq_set_type;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_set_wake = intc_irqpin_irq_set_wake;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->flags	= IRQCHIP_MASK_ON_SUSPEND;
+drivers/irqchip/irq-tango.c:	return readl_relaxed(chip->base + reg);
+drivers/irqchip/irq-tango.c:	writel_relaxed(val, chip->base + reg);
+drivers/irqchip/irq-tango.c:	status_lo = intc_readl(chip, chip->ctl + IRQ_STATUS);
+drivers/irqchip/irq-tango.c:	status_hi = intc_readl(chip, chip->ctl + IRQ_CTL_HI + IRQ_STATUS);
+drivers/irqchip/irq-tango.c:	unsigned long ctl_base = chip->ctl + ctl_offs;
+drivers/irqchip/irq-tango.c:	gc->reg_base = chip->base;
+drivers/irqchip/irq-tango.c:	chip->ctl = res.start - baseres->start;
+drivers/irqchip/irq-tango.c:	chip->base = base;
+drivers/irqchip/irq-ts4800.c:	irq_chip->name = dev_name(&pdev->dev);
+drivers/irqchip/irq-ts4800.c:	irq_chip->irq_mask = ts4800_irq_mask;
+drivers/irqchip/irq-ts4800.c:	irq_chip->irq_unmask = ts4800_irq_unmask;
+drivers/leds/leds-88pm860x.c:	dev_dbg(chip->dev, "Update LED. (reg:%d, brightness:%d)\n",
+drivers/leds/leds-88pm860x.c:	data->i2c = (chip->id == CHIP_PM8606) ? chip->client : chip->companion;
+drivers/leds/leds-88pm860x.c:	ret = devm_led_classdev_register(chip->dev, &data->cdev);
+drivers/leds/leds-an30259a.c:	mutex_lock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:	ret = regmap_read(led->chip->regmap, AN30259A_REG_LED_ON, &led_on);
+drivers/leds/leds-an30259a.c:		ret = regmap_write(led->chip->regmap,
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LED_ON, led_on);
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCC(led->num),
+drivers/leds/leds-an30259a.c:	mutex_unlock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:	mutex_lock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCNT2(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCNT3(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCNT4(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_SLOPE(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_read(led->chip->regmap, AN30259A_REG_LED_ON, &led_on);
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LED_ON, led_on);
+drivers/leds/leds-an30259a.c:	mutex_unlock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:		led = &chip->leds[i];
+drivers/leds/leds-an30259a.c:	chip->num_leds = i;
+drivers/leds/leds-an30259a.c:		err = regmap_read(chip->regmap, AN30259A_REG_LED_ON, &led_on);
+drivers/leds/leds-an30259a.c:		regmap_read(chip->regmap, AN30259A_REG_LEDCC(led->num),
+drivers/leds/leds-an30259a.c:	mutex_init(&chip->mutex);
+drivers/leds/leds-an30259a.c:	chip->client = client;
+drivers/leds/leds-an30259a.c:	chip->regmap = devm_regmap_init_i2c(client, &an30259a_regmap_config);
+drivers/leds/leds-an30259a.c:	if (IS_ERR(chip->regmap)) {
+drivers/leds/leds-an30259a.c:		err = PTR_ERR(chip->regmap);
+drivers/leds/leds-an30259a.c:	for (i = 0; i < chip->num_leds; i++) {
+drivers/leds/leds-an30259a.c:		an30259a_init_default_state(&chip->leds[i]);
+drivers/leds/leds-an30259a.c:		chip->leds[i].cdev.brightness_set_blocking =
+drivers/leds/leds-an30259a.c:		chip->leds[i].cdev.blink_set = an30259a_blink_set;
+drivers/leds/leds-an30259a.c:		init_data.fwnode = chip->leds[i].fwnode;
+drivers/leds/leds-an30259a.c:						 &chip->leds[i].cdev,
+drivers/leds/leds-an30259a.c:	mutex_destroy(&chip->mutex);
+drivers/leds/leds-an30259a.c:	mutex_destroy(&chip->mutex);
+drivers/leds/leds-is31fl32xx.c: * struct is31fl32xx_chipdef - chip-specific attributes
+drivers/leds/leds-lm355x.c:	struct lm355x_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lm355x.c:	switch (chip->type) {
+drivers/leds/leds-lm355x.c:		ret = regmap_update_bits(chip->regmap, 0xE0, 0x28, reg_val);
+drivers/leds/leds-lm355x.c:		ret = regmap_update_bits(chip->regmap, 0xA0, 0x04, reg_val);
+drivers/leds/leds-lm355x.c:		ret = regmap_update_bits(chip->regmap, 0x0A, 0xC4, reg_val);
+drivers/leds/leds-lm355x.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm355x.c:	struct lm355x_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lm355x.c:	struct lm355x_reg_data *preg = chip->regs;
+drivers/leds/leds-lm355x.c:	ret = regmap_read(chip->regmap, preg[REG_FLAG].regno, &chip->last_flag);
+drivers/leds/leds-lm355x.c:	if (chip->last_flag & preg[REG_FLAG].mask)
+drivers/leds/leds-lm355x.c:		dev_info(chip->dev, "%s Last FLAG is 0x%x\n",
+drivers/leds/leds-lm355x.c:			 lm355x_name[chip->type],
+drivers/leds/leds-lm355x.c:			 chip->last_flag & preg[REG_FLAG].mask);
+drivers/leds/leds-lm355x.c:		    regmap_update_bits(chip->regmap, preg[REG_TORCH_CTRL].regno,
+drivers/leds/leds-lm355x.c:			    regmap_update_bits(chip->regmap,
+drivers/leds/leds-lm355x.c:			dev_info(chip->dev,
+drivers/leds/leds-lm355x.c:		    regmap_update_bits(chip->regmap, preg[REG_FLASH_CTRL].regno,
+drivers/leds/leds-lm355x.c:			if (chip->type == CHIP_LM3554)
+drivers/leds/leds-lm355x.c:			    regmap_update_bits(chip->regmap,
+drivers/leds/leds-lm355x.c:			dev_info(chip->dev,
+drivers/leds/leds-lm355x.c:		    regmap_update_bits(chip->regmap, preg[REG_INDI_CTRL].regno,
+drivers/leds/leds-lm355x.c:			    regmap_update_bits(chip->regmap,
+drivers/leds/leds-lm355x.c:	ret = regmap_update_bits(chip->regmap, preg[REG_OPMODE].regno,
+drivers/leds/leds-lm355x.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm355x.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm355x.c:	ret = regmap_write(chip->regmap, 0x04,
+drivers/leds/leds-lm355x.c:	ret = regmap_write(chip->regmap, 0x05,
+drivers/leds/leds-lm355x.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm355x.c:	chip->dev = &client->dev;
+drivers/leds/leds-lm355x.c:	chip->type = id->driver_data;
+drivers/leds/leds-lm355x.c:		chip->regs = lm3554_regs;
+drivers/leds/leds-lm355x.c:		chip->regs = lm3556_regs;
+drivers/leds/leds-lm355x.c:	chip->pdata = pdata;
+drivers/leds/leds-lm355x.c:	chip->regmap = devm_regmap_init_i2c(client, &lm355x_regmap);
+drivers/leds/leds-lm355x.c:	if (IS_ERR(chip->regmap)) {
+drivers/leds/leds-lm355x.c:		err = PTR_ERR(chip->regmap);
+drivers/leds/leds-lm355x.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.name = "flash";
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.max_brightness = 16;
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.brightness_set_blocking = lm355x_strobe_brightness_set;
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.default_trigger = "flash";
+drivers/leds/leds-lm355x.c:				    &client->dev, &chip->cdev_flash);
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.name = "torch";
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.max_brightness = 8;
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.brightness_set_blocking = lm355x_torch_brightness_set;
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.default_trigger = "torch";
+drivers/leds/leds-lm355x.c:				    &client->dev, &chip->cdev_torch);
+drivers/leds/leds-lm355x.c:	chip->cdev_indicator.name = "indicator";
+drivers/leds/leds-lm355x.c:		chip->cdev_indicator.max_brightness = 4;
+drivers/leds/leds-lm355x.c:		chip->cdev_indicator.max_brightness = 8;
+drivers/leds/leds-lm355x.c:	chip->cdev_indicator.brightness_set_blocking =
+drivers/leds/leds-lm355x.c:		chip->cdev_indicator.groups = lm355x_indicator_groups;
+drivers/leds/leds-lm355x.c:				    &client->dev, &chip->cdev_indicator);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm355x.c:	struct lm355x_reg_data *preg = chip->regs;
+drivers/leds/leds-lm355x.c:	regmap_write(chip->regmap, preg[REG_OPMODE].regno, 0);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_indicator);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm355x.c:	dev_info(&client->dev, "%s is removed\n", lm355x_name[chip->type]);
+drivers/leds/leds-lm3642.c:	struct lm3642_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE, EX_PIN_ENABLE_MASK,
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "Failed to update REG_ENABLE Register\n");
+drivers/leds/leds-lm3642.c:	ret = regmap_read(chip->regmap, REG_FLAG, &chip->last_flag);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "Failed to read REG_FLAG Register\n");
+drivers/leds/leds-lm3642.c:	if (chip->last_flag)
+drivers/leds/leds-lm3642.c:		dev_info(chip->dev, "Last FLAG is 0x%x\n", chip->last_flag);
+drivers/leds/leds-lm3642.c:		ret = regmap_update_bits(chip->regmap, REG_I_CTRL,
+drivers/leds/leds-lm3642.c:		if (chip->torch_pin)
+drivers/leds/leds-lm3642.c:		ret = regmap_update_bits(chip->regmap, REG_I_CTRL,
+drivers/leds/leds-lm3642.c:		if (chip->strobe_pin)
+drivers/leds/leds-lm3642.c:		ret = regmap_update_bits(chip->regmap, REG_I_CTRL,
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "Failed to write REG_I_CTRL Register\n");
+drivers/leds/leds-lm3642.c:	if (chip->tx_pin)
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE,
+drivers/leds/leds-lm3642.c:	chip->torch_pin = state;
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE,
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s: fail to change str to int\n", __func__);
+drivers/leds/leds-lm3642.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->br_torch = brightness;
+drivers/leds/leds-lm3642.c:	ret = lm3642_control(chip, chip->br_torch, MODES_TORCH);
+drivers/leds/leds-lm3642.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->strobe_pin = state;
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE,
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s: fail to change str to int\n", __func__);
+drivers/leds/leds-lm3642.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->br_flash = brightness;
+drivers/leds/leds-lm3642.c:	ret = lm3642_control(chip, chip->br_flash, MODES_FLASH);
+drivers/leds/leds-lm3642.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm3642.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->br_indicator = brightness;
+drivers/leds/leds-lm3642.c:	ret = lm3642_control(chip, chip->br_indicator, MODES_INDIC);
+drivers/leds/leds-lm3642.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->dev = &client->dev;
+drivers/leds/leds-lm3642.c:	chip->pdata = pdata;
+drivers/leds/leds-lm3642.c:	chip->tx_pin = pdata->tx_pin;
+drivers/leds/leds-lm3642.c:	chip->torch_pin = pdata->torch_pin;
+drivers/leds/leds-lm3642.c:	chip->strobe_pin = pdata->strobe_pin;
+drivers/leds/leds-lm3642.c:	chip->regmap = devm_regmap_init_i2c(client, &lm3642_regmap);
+drivers/leds/leds-lm3642.c:	if (IS_ERR(chip->regmap)) {
+drivers/leds/leds-lm3642.c:		err = PTR_ERR(chip->regmap);
+drivers/leds/leds-lm3642.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.name = "flash";
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.max_brightness = 16;
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.brightness_set_blocking = lm3642_strobe_brightness_set;
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.default_trigger = "flash";
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.groups = lm3642_flash_groups,
+drivers/leds/leds-lm3642.c:				    &client->dev, &chip->cdev_flash);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "failed to register flash\n");
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.name = "torch";
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.max_brightness = 8;
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.brightness_set_blocking = lm3642_torch_brightness_set;
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.default_trigger = "torch";
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.groups = lm3642_torch_groups,
+drivers/leds/leds-lm3642.c:				    &client->dev, &chip->cdev_torch);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "failed to register torch\n");
+drivers/leds/leds-lm3642.c:	chip->cdev_indicator.name = "indicator";
+drivers/leds/leds-lm3642.c:	chip->cdev_indicator.max_brightness = 8;
+drivers/leds/leds-lm3642.c:	chip->cdev_indicator.brightness_set_blocking =
+drivers/leds/leds-lm3642.c:				    &client->dev, &chip->cdev_indicator);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "failed to register indicator\n");
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_indicator);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm3642.c:	regmap_write(chip->regmap, REG_ENABLE, 0);
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5521.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp5521.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp5521.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp5521.c:		dev_err(&chip->cl->dev, "error in resetting chip\n");
+drivers/leds/leds-lp5521.c:		dev_err(&chip->cl->dev,
+drivers/leds/leds-lp5521.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_mode mode = chip->engines[nr - 1].mode;
+drivers/leds/leds-lp5521.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	chip->cl = client;
+drivers/leds/leds-lp5521.c:	chip->pdata = pdata;
+drivers/leds/leds-lp5521.c:	chip->cfg = &lp5521_cfg;
+drivers/leds/leds-lp5521.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5523.c:		chip->engine_idx = i;
+drivers/leds/leds-lp5523.c:		dev_err(&chip->cl->dev,
+drivers/leds/leds-lp5523.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp5523.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp5523.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_mode mode = chip->engines[nr - 1].mode;
+drivers/leds/leds-lp5523.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	lp5523_mux_to_array(chip->engines[nr - 1].led_mux, mux);
+drivers/leds/leds-lp5523.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5523.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->cl = client;
+drivers/leds/leds-lp5523.c:	chip->pdata = pdata;
+drivers/leds/leds-lp5523.c:	chip->cfg = &lp5523_cfg;
+drivers/leds/leds-lp5523.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lp5562.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5562.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5562.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp5562.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp5562.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp5562.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5562.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5562.c:	ptn = chip->pdata->patterns + (mode - 1);
+drivers/leds/leds-lp5562.c:		dev_err(&chip->cl->dev, "invalid pattern data\n");
+drivers/leds/leds-lp5562.c:		chip->engine_idx = i;
+drivers/leds/leds-lp5562.c:	struct lp55xx_predef_pattern *ptn = chip->pdata->patterns;
+drivers/leds/leds-lp5562.c:	int num_patterns = chip->pdata->num_patterns;
+drivers/leds/leds-lp5562.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5562.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5562.c:		enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5562.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5562.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5562.c:	chip->cl = client;
+drivers/leds/leds-lp5562.c:	chip->pdata = pdata;
+drivers/leds/leds-lp5562.c:	chip->cfg = &lp5562_cfg;
+drivers/leds/leds-lp5562.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	if (!chip->cfg->set_led_current)
+drivers/leds/leds-lp55xx-common.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	chip->cfg->set_led_current(led, (u8)curr);
+drivers/leds/leds-lp55xx-common.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = led->chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:			pdata->label ? : chip->cl->name, chan);
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp55xx-common.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	chip->engines[idx - 1].mode = LP55XX_ENGINE_LOAD;
+drivers/leds/leds-lp55xx-common.c:	chip->fw = fw;
+drivers/leds/leds-lp55xx-common.c:	if (chip->cfg->firmware_cb)
+drivers/leds/leds-lp55xx-common.c:		chip->cfg->firmware_cb(chip);
+drivers/leds/leds-lp55xx-common.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	release_firmware(chip->fw);
+drivers/leds/leds-lp55xx-common.c:	chip->fw = NULL;
+drivers/leds/leds-lp55xx-common.c:	const char *name = chip->cl->name;
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	return sprintf(buf, "%d\n", chip->engine_idx);
+drivers/leds/leds-lp55xx-common.c:		mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:		chip->engine_idx = val;
+drivers/leds/leds-lp55xx-common.c:		mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	if (chip->cfg->run_engine)
+drivers/leds/leds-lp55xx-common.c:		chip->cfg->run_engine(chip, start);
+drivers/leds/leds-lp55xx-common.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	return i2c_smbus_write_byte_data(chip->cl, reg, val);
+drivers/leds/leds-lp55xx-common.c:	ret = i2c_smbus_read_byte_data(chip->cl, reg);
+drivers/leds/leds-lp55xx-common.c:	clk = devm_clk_get(&chip->cl->dev, "32k_clk");
+drivers/leds/leds-lp55xx-common.c:	dev_info(&chip->cl->dev, "%dHz external clock used\n",	LP55XX_CLK_32K);
+drivers/leds/leds-lp55xx-common.c:	chip->clk = clk;
+drivers/leds/leds-lp55xx-common.c:	dev_info(&chip->cl->dev, "internal clock used\n");
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	if (chip->clk)
+drivers/leds/leds-lp55xx-common.c:		clk_disable_unprepare(chip->clk);
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:		dev_err(&chip->cl->dev, "empty brightness configuration\n");
+drivers/leds/leds-lp55xx-common.c:		chip->num_leds++;
+drivers/leds/leds-lp55xx-common.c:	for (i = 0; i < chip->num_leds; i++) {
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp8501.c:	if (chip->pdata->clock_mode != LP55XX_CLOCK_EXT)
+drivers/leds/leds-lp8501.c:				LP8501_PWR_CONFIG_M, chip->pdata->pwr_sel);
+drivers/leds/leds-lp8501.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp8501.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp8501.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp8501.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp8501.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp8501.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp8501.c:	chip->cl = client;
+drivers/leds/leds-lp8501.c:	chip->pdata = pdata;
+drivers/leds/leds-lp8501.c:	chip->cfg = &lp8501_cfg;
+drivers/leds/leds-lp8501.c:	mutex_init(&chip->lock);
+drivers/leds/leds-pca955x.c:	if (!count || count > chip->bits)
+drivers/leds/leds-pca955x.c:				   chip->bits, sizeof(struct pca955x_led),
+drivers/leds/leds-pca955x.c:		if ((res != 0) || (reg >= chip->bits))
+drivers/leds/leds-pca955x.c:	pdata->num_leds = chip->bits;
+drivers/leds/leds-pca955x.c:	if ((client->addr & ~((1 << chip->slv_addr_shift) - 1)) !=
+drivers/leds/leds-pca955x.c:	    chip->slv_addr) {
+drivers/leds/leds-pca955x.c:			client->name, chip->bits, client->addr);
+drivers/leds/leds-pca955x.c:	if (pdata->num_leds != chip->bits) {
+drivers/leds/leds-pca955x.c:			pdata->num_leds, chip->bits);
+drivers/leds/leds-pca955x.c:			chip->bits, sizeof(*pca955x_led), GFP_KERNEL);
+drivers/leds/leds-pca955x.c:	for (i = 0; i < chip->bits; i++) {
+drivers/leds/leds-pca963x.c:	u8 ledout_addr = pca963x->chip->chipdef->ledout_base
+drivers/leds/leds-pca963x.c:	ledout = i2c_smbus_read_byte_data(pca963x->chip->client, ledout_addr);
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:	u8 ledout_addr = pca963x->chip->chipdef->ledout_base +
+drivers/leds/leds-pca963x.c:	u8 mode2 = i2c_smbus_read_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:	i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:			pca963x->chip->chipdef->grppwm,	pca963x->gdc);
+drivers/leds/leds-pca963x.c:	i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:			pca963x->chip->chipdef->grpfreq, pca963x->gfrq);
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
+drivers/leds/leds-pca963x.c:	mutex_lock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	ledout = i2c_smbus_read_byte_data(pca963x->chip->client, ledout_addr);
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(pca963x->chip->client, ledout_addr,
+drivers/leds/leds-pca963x.c:	mutex_unlock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	unsigned long *leds_on = &pca963x->chip->leds_on;
+drivers/leds/leds-pca963x.c:	unsigned long cached_leds = pca963x->chip->leds_on;
+drivers/leds/leds-pca963x.c:		return i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:	mutex_lock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	mutex_unlock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	unsigned int scaling = pca963x->chip->chipdef->scaling;
+drivers/leds/leds-pca963x.c:	if (!count || count > chip->n_leds)
+drivers/leds/leds-pca963x.c:			chip->n_leds, sizeof(struct led_info), GFP_KERNEL);
+drivers/leds/leds-pca963x.c:		if ((res != 0) || (reg >= chip->n_leds))
+drivers/leds/leds-pca963x.c:	pdata->leds.num_leds = chip->n_leds;
+drivers/leds/leds-pca963x.c:				     &chip->scaling))
+drivers/leds/leds-pca963x.c:		chip->scaling = 1000;
+drivers/leds/leds-pca963x.c:				 pdata->leds.num_leds > chip->n_leds)) {
+drivers/leds/leds-pca963x.c:								chip->n_leds);
+drivers/leds/leds-pca963x.c:	pca963x = devm_kcalloc(&client->dev, chip->n_leds, sizeof(*pca963x),
+drivers/leds/leds-pca963x.c:	mutex_init(&pca963x_chip->mutex);
+drivers/leds/leds-pca963x.c:	pca963x_chip->chipdef = chip;
+drivers/leds/leds-pca963x.c:	pca963x_chip->client = client;
+drivers/leds/leds-pca963x.c:	pca963x_chip->leds = pca963x;
+drivers/leds/leds-pca963x.c:	for (i = 0; i < chip->n_leds / 4; i++)
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(client, chip->ledout_base + i, 0x00);
+drivers/leds/leds-pca963x.c:	for (i = 0; i < chip->n_leds; i++) {
+drivers/leds/leds-pca963x.c:		u8 mode2 = i2c_smbus_read_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
+drivers/macintosh/macio_asic.c:	if (dev->bus->chip->type != macio_gatwick)
+drivers/macintosh/macio_asic.c:	dev->bus = &chip->lbus;
+drivers/macintosh/macio_asic.c:	dev->ofdev.dev.archdata = chip->lbus.pdev->dev.archdata;
+drivers/macintosh/macio_asic.c:	dev->ofdev.dev.dma_ops = chip->lbus.pdev->dev.dma_ops;
+drivers/macintosh/macio_asic.c:	if (np == chip->of_node) {
+drivers/macintosh/macio_asic.c:			     chip->lbus.index,
+drivers/macintosh/macio_asic.c:			(unsigned int)pci_resource_start(chip->lbus.pdev, 0),
+drivers/macintosh/macio_asic.c:			     chip->lbus.index,
+drivers/macintosh/macio_asic.c:	if (chip->lbus.pdev) {
+drivers/macintosh/macio_asic.c:		parent = &chip->lbus.pdev->dev;
+drivers/macintosh/macio_asic.c:		root_res = &chip->lbus.pdev->resource[0];
+drivers/macintosh/macio_asic.c:	pnode = of_node_get(chip->of_node);
+drivers/macintosh/macio_asic.c:	if (chip->lbus.pdev == NULL) {
+drivers/macintosh/macio_asic.c:		chip->lbus.pdev = pdev;
+drivers/macintosh/macio_asic.c:		chip->lbus.chip = chip;
+drivers/macintosh/macio_asic.c:		pci_set_drvdata(pdev, &chip->lbus);
+drivers/macintosh/macio_asic.c:		chip->name);
+drivers/macintosh/macio_asic.c:	if (chip->type == macio_gatwick || chip->type == macio_ohareII)
+drivers/mailbox/Makefile:obj-$(CONFIG_ROCKCHIP_MBOX)	+= rockchip-mailbox.o
+drivers/mailbox/rockchip-mailbox.c:		.name = "rockchip-mailbox",
+drivers/media/common/b2c2/flexcop.h: * flexcop.h - private header file for all flexcop-chip-source files
+drivers/media/common/saa7146/saa7146_core.c:	/* get chip-revision; this is needed to enable bug-fixes */
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	clk_prepare_enable(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:	gpiod_set_value_cansleep(chip->reset_gpio, 1);
+drivers/media/dvb-frontends/mn88443x.c:	gpiod_set_value_cansleep(chip->reset_gpio, 0);
+drivers/media/dvb-frontends/mn88443x.c:	if (chip->spec->primary) {
+drivers/media/dvb-frontends/mn88443x.c:	gpiod_set_value_cansleep(chip->reset_gpio, 1);
+drivers/media/dvb-frontends/mn88443x.c:	clk_disable_unprepare(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_s = chip->regmap_s;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_s = chip->regmap_s;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct device *dev = &chip->client_s->dev;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	if (chip->clk_freq >= CLK_LOW && chip->clk_freq < CLK_DIRECT) {
+drivers/media/dvb-frontends/mn88443x.c:		chip->use_clkbuf = true;
+drivers/media/dvb-frontends/mn88443x.c:		chip->use_clkbuf = false;
+drivers/media/dvb-frontends/mn88443x.c:		adckt = chip->clk_freq;
+drivers/media/dvb-frontends/mn88443x.c:	if (!mn88443x_t_is_valid_clk(adckt, chip->if_freq)) {
+drivers/media/dvb-frontends/mn88443x.c:			chip->clk_freq, adckt, chip->if_freq);
+drivers/media/dvb-frontends/mn88443x.c:	if (chip->if_freq == DIRECT_IF_57MHZ ||
+drivers/media/dvb-frontends/mn88443x.c:	    chip->if_freq == DIRECT_IF_44MHZ)
+drivers/media/dvb-frontends/mn88443x.c:		nco = adckt * 2 - chip->if_freq;
+drivers/media/dvb-frontends/mn88443x.c:		nco = -((s64)chip->if_freq);
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_s = chip->regmap_s;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:		chip->spec = of_device_get_match_data(dev);
+drivers/media/dvb-frontends/mn88443x.c:		chip->spec = (struct mn88443x_spec *)id->driver_data;
+drivers/media/dvb-frontends/mn88443x.c:	if (!chip->spec)
+drivers/media/dvb-frontends/mn88443x.c:	chip->mclk = devm_clk_get(dev, "mclk");
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->mclk) && !conf) {
+drivers/media/dvb-frontends/mn88443x.c:			PTR_ERR(chip->mclk));
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:				   &chip->if_freq);
+drivers/media/dvb-frontends/mn88443x.c:	chip->reset_gpio = devm_gpiod_get_optional(dev, "reset",
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->reset_gpio)) {
+drivers/media/dvb-frontends/mn88443x.c:			PTR_ERR(chip->reset_gpio));
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->reset_gpio);
+drivers/media/dvb-frontends/mn88443x.c:		chip->mclk = conf->mclk;
+drivers/media/dvb-frontends/mn88443x.c:		chip->if_freq = conf->if_freq;
+drivers/media/dvb-frontends/mn88443x.c:		chip->reset_gpio = conf->reset_gpio;
+drivers/media/dvb-frontends/mn88443x.c:		*conf->fe = &chip->fe;
+drivers/media/dvb-frontends/mn88443x.c:	chip->client_s = client;
+drivers/media/dvb-frontends/mn88443x.c:	chip->regmap_s = devm_regmap_init_i2c(chip->client_s, &regmap_config);
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->regmap_s))
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->regmap_s);
+drivers/media/dvb-frontends/mn88443x.c:	chip->client_t = i2c_new_dummy_device(client->adapter, client->addr + 4);
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->client_t))
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->client_t);
+drivers/media/dvb-frontends/mn88443x.c:	chip->regmap_t = devm_regmap_init_i2c(chip->client_t, &regmap_config);
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->regmap_t)) {
+drivers/media/dvb-frontends/mn88443x.c:		ret = PTR_ERR(chip->regmap_t);
+drivers/media/dvb-frontends/mn88443x.c:	chip->clk_freq = clk_get_rate(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:	memcpy(&chip->fe.ops, &mn88443x_ops, sizeof(mn88443x_ops));
+drivers/media/dvb-frontends/mn88443x.c:	chip->fe.demodulator_priv = chip;
+drivers/media/dvb-frontends/mn88443x.c:	i2c_unregister_device(chip->client_t);
+drivers/media/dvb-frontends/mn88443x.c:	i2c_unregister_device(chip->client_t);
+drivers/media/dvb-frontends/stv0900_core.c:			((temp_chip->internal->i2c_adap != i2c_adap) ||
+drivers/media/dvb-frontends/stv0900_core.c:			(temp_chip->internal->i2c_addr != i2c_addr)))
+drivers/media/dvb-frontends/stv0900_core.c:			temp_chip = temp_chip->next_inode;
+drivers/media/i2c/mt9m111.c:	/* receiver samples on falling edge, chip-hw default is rising */
+drivers/media/i2c/tvaudio.c:	/* chip-specific description - should point to
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:		chip->shadow.bytes[1] = val;
+drivers/media/i2c/tvaudio.c:		if (subaddr + 1 >= ARRAY_SIZE(chip->shadow.bytes)) {
+drivers/media/i2c/tvaudio.c:		chip->shadow.bytes[subaddr+1] = val;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:			val = (chip->shadow.bytes[1] & ~mask) | (val & mask);
+drivers/media/i2c/tvaudio.c:			if (subaddr + 1 >= ARRAY_SIZE(chip->shadow.bytes)) {
+drivers/media/i2c/tvaudio.c:			val = (chip->shadow.bytes[subaddr+1] & ~mask) | (val & mask);
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	if (cmd->count + cmd->bytes[0] - 1 >= ARRAY_SIZE(chip->shadow.bytes)) {
+drivers/media/i2c/tvaudio.c:		chip->shadow.bytes[i+cmd->bytes[0]] = cmd->bytes[i];
+drivers/media/i2c/tvaudio.c:	wake_up_process(chip->thread);
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC  *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:		if (chip->radio)
+drivers/media/i2c/tvaudio.c:		if (mode == chip->prevmode)
+drivers/media/i2c/tvaudio.c:		chip->prevmode = mode;
+drivers/media/i2c/tvaudio.c:		switch (chip->audmode) {
+drivers/media/i2c/tvaudio.c:		mod_timer(&chip->wt, jiffies+msecs_to_jiffies(2000));
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	int t = chip->shadow.bytes[TDA9840_SW + 1] & ~0x7e;
+drivers/media/i2c/tvaudio.c:	int c6 = chip->shadow.bytes[TDA985x_C6+1] & 0x3f;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	int sw_data  = chip->shadow.bytes[TDA9873_SW+1] & ~ TDA9873_TR_MASK;
+drivers/media/i2c/tvaudio.c:	/*	int adj_data = chip->shadow.bytes[TDA9873_AD+1] ; */
+drivers/media/i2c/tvaudio.c:		 "tda9873_setaudmode(): chip->shadow.bytes[%d] = %d\n",
+drivers/media/i2c/tvaudio.c:		 TDA9873_SW+1, chip->shadow.bytes[TDA9873_SW+1]);
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	chip->shadow.bytes[MAXREGS-2] = dsr;
+drivers/media/i2c/tvaudio.c:	chip->shadow.bytes[MAXREGS-1] = nsr;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:		if(chip->shadow.bytes[MAXREGS-2] & 0x20) /* DSR.RSSF=1 */
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1;
+drivers/media/i2c/tvaudio.c:	/* v4l2_dbg(1, debug, &chip->sd,
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:		chip->muted = ctrl->val;
+drivers/media/i2c/tvaudio.c:		if (chip->muted)
+drivers/media/i2c/tvaudio.c:					desc->inputmap[chip->input],desc->inputmask);
+drivers/media/i2c/tvaudio.c:		volume = chip->volume->val;
+drivers/media/i2c/tvaudio.c:		balance = chip->balance->val;
+drivers/media/i2c/tvaudio.c:	chip->radio = 1;
+drivers/media/i2c/tvaudio.c:	/* del_timer(&chip->wt); */
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	chip->input = input;
+drivers/media/i2c/tvaudio.c:	if (chip->muted)
+drivers/media/i2c/tvaudio.c:			desc->inputmap[chip->input], desc->inputmask);
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	if (chip->radio)
+drivers/media/i2c/tvaudio.c:	chip->audmode = vt->audmode;
+drivers/media/i2c/tvaudio.c:	if (chip->thread)
+drivers/media/i2c/tvaudio.c:		wake_up_process(chip->thread);
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	if (chip->radio)
+drivers/media/i2c/tvaudio.c:	vt->audmode = chip->audmode;
+drivers/media/i2c/tvaudio.c:	chip->radio = 0;
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	if (chip->thread) {
+drivers/media/i2c/tvaudio.c:		chip->prevmode = -1; /* reset previous mode */
+drivers/media/i2c/tvaudio.c:		mod_timer(&chip->wt, jiffies+msecs_to_jiffies(2000));
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_log_status(&chip->hdl, sd->name);
+drivers/media/i2c/tvaudio.c:	sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	chip->desc = desc;
+drivers/media/i2c/tvaudio.c:	chip->shadow.count = desc->registers+1;
+drivers/media/i2c/tvaudio.c:	chip->prevmode = -1;
+drivers/media/i2c/tvaudio.c:	chip->audmode = V4L2_TUNER_MODE_LANG1;
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_init(&chip->hdl, 5);
+drivers/media/i2c/tvaudio.c:		v4l2_ctrl_new_std(&chip->hdl, &tvaudio_ctrl_ops,
+drivers/media/i2c/tvaudio.c:			chip->volume = v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:			chip->balance = v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:			v4l2_ctrl_cluster(2, &chip->volume);
+drivers/media/i2c/tvaudio.c:			v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:			v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:	sd->ctrl_handler = &chip->hdl;
+drivers/media/i2c/tvaudio.c:	if (chip->hdl.error) {
+drivers/media/i2c/tvaudio.c:		int err = chip->hdl.error;
+drivers/media/i2c/tvaudio.c:		v4l2_ctrl_handler_free(&chip->hdl);
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_setup(&chip->hdl);
+drivers/media/i2c/tvaudio.c:	chip->thread = NULL;
+drivers/media/i2c/tvaudio.c:	timer_setup(&chip->wt, chip_thread_wake, 0);
+drivers/media/i2c/tvaudio.c:		chip->thread = kthread_run(chip_thread, chip, "%s",
+drivers/media/i2c/tvaudio.c:		if (IS_ERR(chip->thread)) {
+drivers/media/i2c/tvaudio.c:			chip->thread = NULL;
+drivers/media/i2c/tvaudio.c:	del_timer_sync(&chip->wt);
+drivers/media/i2c/tvaudio.c:	if (chip->thread) {
+drivers/media/i2c/tvaudio.c:		kthread_stop(chip->thread);
+drivers/media/i2c/tvaudio.c:		chip->thread = NULL;
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_free(&chip->hdl);
+drivers/media/i2c/video-i2c.c:				data->chip->buffer_size);
+drivers/media/i2c/video-i2c.c:				data->chip->buffer_size);
+drivers/media/i2c/video-i2c.c:	for (n = 0; n < data->chip->num_frame_intervals - 1; n++) {
+drivers/media/i2c/video-i2c.c:				       data->chip->frame_intervals[n]))
+drivers/media/i2c/video-i2c.c:	idx = data->chip->num_frame_intervals - n - 1;
+drivers/media/i2c/video-i2c.c:	unsigned int size = data->chip->buffer_size;
+drivers/media/i2c/video-i2c.c:	unsigned int size = data->chip->buffer_size;
+drivers/media/i2c/video-i2c.c:			ret = data->chip->xfer(data, vbuf);
+drivers/media/i2c/video-i2c.c:	ret = data->chip->setup(data);
+drivers/media/i2c/video-i2c.c:	*fmt = *data->chip->format;
+drivers/media/i2c/video-i2c.c:	const struct v4l2_frmsize_discrete *size = data->chip->size;
+drivers/media/i2c/video-i2c.c:	if (fsize->pixel_format != data->chip->format->pixelformat)
+drivers/media/i2c/video-i2c.c:	const struct v4l2_frmsize_discrete *size = data->chip->size;
+drivers/media/i2c/video-i2c.c:	if (fe->index >= data->chip->num_frame_intervals)
+drivers/media/i2c/video-i2c.c:	fe->discrete = data->chip->frame_intervals[fe->index];
+drivers/media/i2c/video-i2c.c:	const struct v4l2_frmsize_discrete *size = data->chip->size;
+drivers/media/i2c/video-i2c.c:	unsigned int bpp = data->chip->bpp / 8;
+drivers/media/i2c/video-i2c.c:	pix->pixelformat = data->chip->format->pixelformat;
+drivers/media/i2c/video-i2c.c:	for (i = 0; i < data->chip->num_frame_intervals - 1; i++) {
+drivers/media/i2c/video-i2c.c:				       data->chip->frame_intervals[i]))
+drivers/media/i2c/video-i2c.c:	data->frame_interval = data->chip->frame_intervals[i];
+drivers/media/i2c/video-i2c.c:	data->regmap = regmap_init_i2c(client, data->chip->regmap_config);
+drivers/media/i2c/video-i2c.c:	data->frame_interval = data->chip->frame_intervals[0];
+drivers/media/i2c/video-i2c.c:	if (data->chip->set_power) {
+drivers/media/i2c/video-i2c.c:		ret = data->chip->set_power(data, true);
+drivers/media/i2c/video-i2c.c:	if (data->chip->hwmon_init) {
+drivers/media/i2c/video-i2c.c:		ret = data->chip->hwmon_init(data);
+drivers/media/i2c/video-i2c.c:	if (data->chip->nvmem_config) {
+drivers/media/i2c/video-i2c.c:		struct nvmem_config *config = data->chip->nvmem_config;
+drivers/media/i2c/video-i2c.c:	if (data->chip->set_power)
+drivers/media/i2c/video-i2c.c:		data->chip->set_power(data, false);
+drivers/media/i2c/video-i2c.c:	if (data->chip->set_power)
+drivers/media/i2c/video-i2c.c:		data->chip->set_power(data, false);
+drivers/media/i2c/video-i2c.c:	if (!data->chip->set_power)
+drivers/media/i2c/video-i2c.c:	return data->chip->set_power(data, false);
+drivers/media/i2c/video-i2c.c:	if (!data->chip->set_power)
+drivers/media/i2c/video-i2c.c:	return data->chip->set_power(data, true);
+drivers/media/pci/cx23885/altera-ci.c:				(temp_chip->internal->dev != dev))
+drivers/media/pci/cx23885/altera-ci.c:		temp_chip = temp_chip->next_inode;
+drivers/media/pci/cx23885/altera-ci.c:		if (temp_chip->internal != NULL) {
+drivers/media/pci/cx23885/altera-ci.c:			temp_int = temp_chip->internal;
+drivers/media/pci/cx23885/altera-ci.c:		temp_chip = temp_chip->next_inode;
+drivers/media/pci/cx23885/cx23885-alsa.c:			chip->dev->name, ##arg); \
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_dev *dev  = chip->dev;
+drivers/media/pci/cx23885/cx23885-alsa.c:	cx23885_sram_channel_setup(chip->dev, audio_ch, buf->bpl,
+drivers/media/pci/cx23885/cx23885-alsa.c:	atomic_set(&chip->count, 0);
+drivers/media/pci/cx23885/cx23885-alsa.c:		chip->num_periods, buf->bpl * chip->num_periods);
+drivers/media/pci/cx23885/cx23885-alsa.c:	cx_set(PCI_INT_MSK, chip->dev->pci_irqmask | PCI_MSK_AUD_INT);
+drivers/media/pci/cx23885/cx23885-alsa.c:		cx23885_sram_channel_dump(chip->dev, audio_ch);
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_dev *dev = chip->dev;
+drivers/media/pci/cx23885/cx23885-alsa.c:		cx23885_sram_channel_dump(chip->dev,
+drivers/media/pci/cx23885/cx23885-alsa.c:		atomic_set(&chip->count, cx_read(AUD_INT_A_GPCNT));
+drivers/media/pci/cx23885/cx23885-alsa.c:		snd_pcm_period_elapsed(chip->substream);
+drivers/media/pci/cx23885/cx23885-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx23885/cx23885-alsa.c:	cx23885_alsa_dma_free(chip->buf);
+drivers/media/pci/cx23885/cx23885-alsa.c:	risc = &chip->buf->risc;
+drivers/media/pci/cx23885/cx23885-alsa.c:	pci_free_consistent(chip->pci, risc->size, risc->cpu, risc->dma);
+drivers/media/pci/cx23885/cx23885-alsa.c:	kfree(chip->buf);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->dma_size = 0;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->substream = substream;
+drivers/media/pci/cx23885/cx23885-alsa.c:	if (chip->dev->sram_channels[AUDIO_SRAM_CHANNEL].fifo_size !=
+drivers/media/pci/cx23885/cx23885-alsa.c:		unsigned int bpl = chip->dev->
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->period_size = params_period_bytes(hw_params);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->num_periods = params_periods(hw_params);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->dma_size = chip->period_size * params_periods(hw_params);
+drivers/media/pci/cx23885/cx23885-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx23885/cx23885-alsa.c:	BUG_ON(chip->num_periods & (chip->num_periods-1));
+drivers/media/pci/cx23885/cx23885-alsa.c:	buf->bpl = chip->period_size;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->buf = buf;
+drivers/media/pci/cx23885/cx23885-alsa.c:			(PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT));
+drivers/media/pci/cx23885/cx23885-alsa.c:	ret = cx23885_risc_databuffer(chip->pci, &buf->risc, buf->sglist,
+drivers/media/pci/cx23885/cx23885-alsa.c:				   chip->period_size, chip->num_periods, 1);
+drivers/media/pci/cx23885/cx23885-alsa.c:	substream->runtime->dma_area = chip->buf->vaddr;
+drivers/media/pci/cx23885/cx23885-alsa.c:	substream->runtime->dma_bytes = chip->dma_size;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx23885/cx23885-alsa.c:	spin_lock(&chip->lock);
+drivers/media/pci/cx23885/cx23885-alsa.c:	spin_unlock(&chip->lock);
+drivers/media/pci/cx23885/cx23885-alsa.c:	count = atomic_read(&chip->count);
+drivers/media/pci/cx23885/cx23885-alsa.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->dev = dev;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->pci = dev->pci;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->card = card;
+drivers/media/pci/cx23885/cx23885-alsa.c:	spin_lock_init(&chip->lock);
+drivers/media/pci/cx23885/cx23885-alsa.c:	snd_card_free(chip->card);
+drivers/media/pci/cx23885/cx23885-ioctl.c:	if (chip->match.addr > 1)
+drivers/media/pci/cx23885/cx23885-ioctl.c:	if (chip->match.addr == 1) {
+drivers/media/pci/cx23885/cx23885-ioctl.c:		strscpy(chip->name, "cx23417", sizeof(chip->name));
+drivers/media/pci/cx23885/cx23885-ioctl.c:		strscpy(chip->name, dev->v4l2_dev.name, sizeof(chip->name));
+drivers/media/pci/cx25821/cx25821-alsa.c:		pr_info("%s/1: " fmt, chip->dev->name, ##arg);	\
+drivers/media/pci/cx25821/cx25821-alsa.c:		printk(KERN_DEBUG "%s/1: " fmt, chip->dev->name, ##arg); \
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx25821_set_gpiopin_direction(chip->dev, 0, 0);
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx25821_sram_channel_setup_audio(chip->dev, audio_ch, buf->bpl,
+drivers/media/pci/cx25821/cx25821-alsa.c:	atomic_set(&chip->count, 0);
+drivers/media/pci/cx25821/cx25821-alsa.c:		chip->num_periods, buf->bpl * chip->num_periods);
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx_set(PCI_INT_MSK, chip->dev->pci_irqmask | PCI_MSK_AUD_INT);
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:		atomic_set(&chip->count, cx_read(AUD_A_GPCNT));
+drivers/media/pci/cx25821/cx25821-alsa.c:		snd_pcm_period_elapsed(chip->substream);
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_riscmem *risc = &chip->buf->risc;
+drivers/media/pci/cx25821/cx25821-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx25821_alsa_dma_free(chip->buf);
+drivers/media/pci/cx25821/cx25821-alsa.c:	pci_free_consistent(chip->pci, risc->size, risc->cpu, risc->dma);
+drivers/media/pci/cx25821/cx25821-alsa.c:	kfree(chip->buf);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->dma_size = 0;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->substream = substream;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->period_size = params_period_bytes(hw_params);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->num_periods = params_periods(hw_params);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->dma_size = chip->period_size * params_periods(hw_params);
+drivers/media/pci/cx25821/cx25821-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx25821/cx25821-alsa.c:	BUG_ON(chip->num_periods & (chip->num_periods - 1));
+drivers/media/pci/cx25821/cx25821-alsa.c:	if (chip->period_size > AUDIO_LINE_SIZE)
+drivers/media/pci/cx25821/cx25821-alsa.c:		chip->period_size = AUDIO_LINE_SIZE;
+drivers/media/pci/cx25821/cx25821-alsa.c:	buf->bpl = chip->period_size;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->buf = buf;
+drivers/media/pci/cx25821/cx25821-alsa.c:			(PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT));
+drivers/media/pci/cx25821/cx25821-alsa.c:	ret = cx25821_risc_databuffer_audio(chip->pci, &buf->risc, buf->sglist,
+drivers/media/pci/cx25821/cx25821-alsa.c:			chip->period_size, chip->num_periods, 1);
+drivers/media/pci/cx25821/cx25821-alsa.c:	substream->runtime->dma_area = chip->buf->vaddr;
+drivers/media/pci/cx25821/cx25821-alsa.c:	substream->runtime->dma_bytes = chip->dma_size;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx25821/cx25821-alsa.c:	spin_lock(&chip->reg_lock);
+drivers/media/pci/cx25821/cx25821-alsa.c:	spin_unlock(&chip->reg_lock);
+drivers/media/pci/cx25821/cx25821-alsa.c:	count = atomic_read(&chip->count);
+drivers/media/pci/cx25821/cx25821-alsa.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+drivers/media/pci/cx25821/cx25821-alsa.c:	spin_lock_init(&chip->reg_lock);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->dev = dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->card = card;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->pci = dev->pci;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->iobase = pci_resource_start(dev->pci, 0);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->irq = dev->pci->irq;
+drivers/media/pci/cx25821/cx25821-alsa.c:			  IRQF_SHARED, chip->dev->name, chip);
+drivers/media/pci/cx25821/cx25821-alsa.c:		pr_err("ERROR %s: can't get IRQ %d for ALSA\n", chip->dev->name,
+drivers/media/pci/cx25821/cx25821-alsa.c:	sprintf(card->longname, "%s at 0x%lx irq %d", chip->dev->name,
+drivers/media/pci/cx25821/cx25821-alsa.c:		chip->iobase, chip->irq);
+drivers/media/pci/cx88/cx88-alsa.c:			chip->core->name, ##arg);			\
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	cx88_sram_channel_setup(chip->core, audio_ch, buf->bpl, buf->risc.dma);
+drivers/media/pci/cx88/cx88-alsa.c:	atomic_set(&chip->count, 0);
+drivers/media/pci/cx88/cx88-alsa.c:		chip->num_periods, buf->bpl * chip->num_periods);
+drivers/media/pci/cx88/cx88-alsa.c:	cx_set(MO_PCI_INTMSK, chip->core->pci_irqmask | PCI_INT_AUDINT);
+drivers/media/pci/cx88/cx88-alsa.c:		cx88_sram_channel_dump(chip->core, audio_ch);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:		cx88_sram_channel_dump(chip->core,
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:		atomic_set(&chip->count, cx_read(MO_AUDD_GPCNT));
+drivers/media/pci/cx88/cx88-alsa.c:		snd_pcm_period_elapsed(chip->substream);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_riscmem *risc = &chip->buf->risc;
+drivers/media/pci/cx88/cx88-alsa.c:	WARN_ON(!chip->dma_size);
+drivers/media/pci/cx88/cx88-alsa.c:	cx88_alsa_dma_free(chip->buf);
+drivers/media/pci/cx88/cx88-alsa.c:		pci_free_consistent(chip->pci, risc->size,
+drivers/media/pci/cx88/cx88-alsa.c:	kfree(chip->buf);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->substream = substream;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->period_size = params_period_bytes(hw_params);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->num_periods = params_periods(hw_params);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->dma_size = chip->period_size * params_periods(hw_params);
+drivers/media/pci/cx88/cx88-alsa.c:	WARN_ON(!chip->dma_size);
+drivers/media/pci/cx88/cx88-alsa.c:	WARN_ON(chip->num_periods & (chip->num_periods - 1));
+drivers/media/pci/cx88/cx88-alsa.c:	chip->buf = buf;
+drivers/media/pci/cx88/cx88-alsa.c:	buf->bpl = chip->period_size;
+drivers/media/pci/cx88/cx88-alsa.c:				 (PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT));
+drivers/media/pci/cx88/cx88-alsa.c:	ret = cx88_risc_databuffer(chip->pci, &buf->risc, buf->sglist,
+drivers/media/pci/cx88/cx88-alsa.c:				   chip->period_size, chip->num_periods, 1);
+drivers/media/pci/cx88/cx88-alsa.c:	substream->runtime->dma_area = chip->buf->vaddr;
+drivers/media/pci/cx88/cx88-alsa.c:	substream->runtime->dma_bytes = chip->dma_size;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	spin_unlock(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	count = atomic_read(&chip->count);
+drivers/media/pci/cx88/cx88-alsa.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	spin_unlock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	spin_unlock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	if (chip->irq >= 0)
+drivers/media/pci/cx88/cx88-alsa.c:		free_irq(chip->irq, chip);
+drivers/media/pci/cx88/cx88-alsa.c:	cx88_core_put(chip->core, chip->pci);
+drivers/media/pci/cx88/cx88-alsa.c:	pci_disable_device(chip->pci);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->card = card;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->pci = pci;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->irq = -1;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock_init(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->core = core;
+drivers/media/pci/cx88/cx88-alsa.c:	err = request_irq(chip->pci->irq, cx8801_irq,
+drivers/media/pci/cx88/cx88-alsa.c:			  IRQF_SHARED, chip->core->name, chip);
+drivers/media/pci/cx88/cx88-alsa.c:			chip->core->name, chip->pci->irq);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->irq = pci->irq;
+drivers/media/pci/cx88/cx88-alsa.c:	synchronize_irq(chip->irq);
+drivers/media/pci/saa7134/saa7134-alsa.c:	dev = chip->dev;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	old_addr = chip->capture_source_addr;
+drivers/media/pci/saa7134/saa7134-alsa.c:			 chip->capture_source[0] != left ||
+drivers/media/pci/saa7134/saa7134-alsa.c:			 chip->capture_source[1] != right;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_source[0] = left;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_source[1] = right;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_source_addr = addr;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_unlock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:			snd_ctl_notify(chip->card,
+drivers/media/pci/saa7134/saa7134-alsa.c:				       &chip->capture_ctl[addr]->id);
+drivers/media/pci/saa7134/saa7134-alsa.c:			snd_ctl_notify(chip->card,
+drivers/media/pci/saa7134/saa7134-alsa.c:				       &chip->capture_ctl[old_addr]->id);
+drivers/media/pci/saa7134/saa7134-alsa.c:	ucontrol->value.integer.value[0] = chip->mixer_volume[addr][0];
+drivers/media/pci/saa7134/saa7134-alsa.c:	ucontrol->value.integer.value[1] = chip->mixer_volume[addr][1];
+drivers/media/pci/saa7134/saa7134-alsa.c:	struct saa7134_dev *dev = chip->dev;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->mixer_volume[addr][0] != left) {
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->mixer_volume[addr][1] != right) {
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->mixer_volume[addr][0] = left;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->mixer_volume[addr][1] = right;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_unlock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->capture_source_addr == addr) {
+drivers/media/pci/saa7134/saa7134-alsa.c:		ucontrol->value.integer.value[0] = chip->capture_source[0];
+drivers/media/pci/saa7134/saa7134-alsa.c:		ucontrol->value.integer.value[1] = chip->capture_source[1];
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_unlock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	struct snd_card *card = chip->card;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_ctl[addr] = kcontrol;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->capture_source_addr = MIXER_ADDR_UNSELECTED;
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->dev->dmasound.priv_data == NULL)
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->irq >= 0)
+drivers/media/pci/saa7134/saa7134-alsa.c:		free_irq(chip->irq, &chip->dev->dmasound);
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->dev->dmasound.priv_data = NULL;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_init(&chip->lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_init(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->dev = dev;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->card = card;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->pci = dev->pci;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->iobase = pci_resource_start(dev->pci, 0);
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->irq = dev->pci->irq;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->dev->name, chip->iobase, chip->irq);
+drivers/media/platform/rockchip/rga/Makefile:rockchip-rga-objs := rga.o rga-hw.o rga-buf.o
+drivers/media/platform/rockchip/rga/Makefile:obj-$(CONFIG_VIDEO_ROCKCHIP_RGA) += rockchip-rga.o
+drivers/media/platform/rockchip/rga/rga.c:	strscpy(cap->card, "rockchip-rga", sizeof(cap->card));
+drivers/media/platform/rockchip/rga/rga.c:	.name = "rockchip-rga",
+drivers/media/platform/rockchip/rga/rga.h:#define RGA_NAME "rockchip-rga"
+drivers/media/usb/cx231xx/cx231xx-video.c:	switch (chip->match.addr) {
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "AFE (byte)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "Video (byte)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "I2S (byte)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "AFE (dword)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "Video (dword)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "I2S (dword)", sizeof(chip->name));
+drivers/media/usb/em28xx/em28xx-video.c:	if (chip->match.addr > 1)
+drivers/media/usb/em28xx/em28xx-video.c:	if (chip->match.addr == 1)
+drivers/media/usb/em28xx/em28xx-video.c:		strscpy(chip->name, "ac97", sizeof(chip->name));
+drivers/media/usb/em28xx/em28xx-video.c:		strscpy(chip->name,
+drivers/media/usb/em28xx/em28xx-video.c:			dev->v4l2->v4l2_dev.name, sizeof(chip->name));
+drivers/media/usb/gspca/gspca.c:	return chip->match.addr ? -EINVAL : 0;
+drivers/media/usb/gspca/sn9c20x.c:	if (chip->match.addr > 1)
+drivers/media/usb/gspca/sn9c20x.c:	if (chip->match.addr == 1)
+drivers/media/usb/gspca/sn9c20x.c:		strscpy(chip->name, "sensor", sizeof(chip->name));
+drivers/media/usb/pvrusb2/pvrusb2-devattr.h:	   interpreted by logic which must send commands to the chip-level
+drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c:		   that the normal i2c chip-level driver expects. */
+drivers/media/usb/tm6000/tm6000-alsa.c:		printk(KERN_INFO "%s/1: " fmt, chip->core->name , ## arg); \
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->substream = substream;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct snd_pcm_substream *substream = chip->substream;
+drivers/media/usb/tm6000/tm6000-alsa.c:	buf_pos = chip->buf_pos;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->buf_pos += length;
+drivers/media/usb/tm6000/tm6000-alsa.c:	if (chip->buf_pos >= runtime->buffer_size)
+drivers/media/usb/tm6000/tm6000-alsa.c:		chip->buf_pos -= runtime->buffer_size;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->period_pos += length;
+drivers/media/usb/tm6000/tm6000-alsa.c:	if (chip->period_pos >= runtime->period_size) {
+drivers/media/usb/tm6000/tm6000-alsa.c:		chip->period_pos -= runtime->period_size;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->buf_pos = 0;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->period_pos = 0;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	return chip->buf_pos;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->core = dev;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->card = card;
+drivers/media/usb/tm6000/tm6000-alsa.c:	spin_lock_init(&chip->reg_lock);
+drivers/media/usb/tm6000/tm6000-alsa.c:	if (!chip->card)
+drivers/media/usb/tm6000/tm6000-alsa.c:	snd_card_free(chip->card);
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->card = NULL;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_substream = substream;
+drivers/media/usb/usbtv/usbtv-audio.c:	if (atomic_read(&chip->snd_stream)) {
+drivers/media/usb/usbtv/usbtv-audio.c:		atomic_set(&chip->snd_stream, 0);
+drivers/media/usb/usbtv/usbtv-audio.c:		schedule_work(&chip->snd_trigger);
+drivers/media/usb/usbtv/usbtv-audio.c:		dev_warn(chip->dev, "pcm audio buffer allocation failure %i\n",
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_buffer_pos = 0;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_period_pos = 0;
+drivers/media/usb/usbtv/usbtv-audio.c:	struct snd_pcm_substream *substream = chip->snd_substream;
+drivers/media/usb/usbtv/usbtv-audio.c:		dev_warn(chip->dev, "unknown audio urb status %i\n",
+drivers/media/usb/usbtv/usbtv-audio.c:	if (!atomic_read(&chip->snd_stream))
+drivers/media/usb/usbtv/usbtv-audio.c:	buffer_pos = chip->snd_buffer_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	period_pos = chip->snd_period_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_buffer_pos = buffer_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_period_pos = period_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_bulk_urb = usb_alloc_urb(0, GFP_KERNEL);
+drivers/media/usb/usbtv/usbtv-audio.c:	if (chip->snd_bulk_urb == NULL)
+drivers/media/usb/usbtv/usbtv-audio.c:	pipe = usb_rcvbulkpipe(chip->udev, USBTV_AUDIO_ENDP);
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_bulk_urb->transfer_buffer = kzalloc(
+drivers/media/usb/usbtv/usbtv-audio.c:	if (chip->snd_bulk_urb->transfer_buffer == NULL)
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_fill_bulk_urb(chip->snd_bulk_urb, chip->udev, pipe,
+drivers/media/usb/usbtv/usbtv-audio.c:		chip->snd_bulk_urb->transfer_buffer, USBTV_AUDIO_URBSIZE,
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_clear_halt(chip->udev, pipe);
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_submit_urb(chip->snd_bulk_urb, GFP_ATOMIC);
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_free_urb(chip->snd_bulk_urb);
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_bulk_urb = NULL;
+drivers/media/usb/usbtv/usbtv-audio.c:	if (chip->snd_bulk_urb) {
+drivers/media/usb/usbtv/usbtv-audio.c:		usb_kill_urb(chip->snd_bulk_urb);
+drivers/media/usb/usbtv/usbtv-audio.c:		kfree(chip->snd_bulk_urb->transfer_buffer);
+drivers/media/usb/usbtv/usbtv-audio.c:		usb_free_urb(chip->snd_bulk_urb);
+drivers/media/usb/usbtv/usbtv-audio.c:		chip->snd_bulk_urb = NULL;
+drivers/media/usb/usbtv/usbtv-audio.c:	if (!chip->snd)
+drivers/media/usb/usbtv/usbtv-audio.c:	if (atomic_read(&chip->snd_stream))
+drivers/media/usb/usbtv/usbtv-audio.c:		atomic_set(&chip->snd_stream, 1);
+drivers/media/usb/usbtv/usbtv-audio.c:		atomic_set(&chip->snd_stream, 0);
+drivers/media/usb/usbtv/usbtv-audio.c:	schedule_work(&chip->snd_trigger);
+drivers/media/usb/usbtv/usbtv-audio.c:	return chip->snd_buffer_pos;
+drivers/memory/emif.h: * ZQ Calibration simultaneously on both chip-selects:
+drivers/memory/omap-gpmc.c:/* Define chip-selects as reserved by default until probe completes */
+drivers/memory/omap-gpmc.c: * gpmc_cs_remap - remaps a chip-select physical base address
+drivers/memory/omap-gpmc.c: * @cs:		chip-select to remap
+drivers/memory/omap-gpmc.c: * @base:	physical base address to re-map chip-select to
+drivers/memory/omap-gpmc.c: * Re-maps a chip-select to a new physical base address specified by
+drivers/memory/omap-gpmc.c:		pr_err("%s: requested chip-select is disabled\n", __func__);
+drivers/memory/omap-gpmc.c:		pr_err("%s: requested chip-select is disabled\n", __func__);
+drivers/memory/omap-gpmc.c: * @cs:		GPMC chip-select to program
+drivers/memory/omap-gpmc.c: * Programs non-timing related settings for a GPMC chip-select, such as
+drivers/memory/omap-gpmc.c: * for each chip-select that is being used and must be called before
+drivers/memory/omap-gpmc.c: * Allocates and configures a GPMC chip-select for a child device.
+drivers/memory/omap-gpmc.c:		pr_err("%s: number of chip-selects not defined\n", __func__);
+drivers/memory/omap-gpmc.c:		pr_err("%s: all chip-selects are disabled\n", __func__);
+drivers/memory/omap-gpmc.c:		pr_err("%s: number of supported chip-selects cannot be > %d\n",
+drivers/memory/ti-aemif.c: * @cs: chip-select number
+drivers/memory/ti-aemif.c: * @num_cs: number of assigned chip-selects
+drivers/memory/ti-aemif.c: * @cs_data: array of chip-select settings
+drivers/memory/ti-aemif.c: * chip-select.
+drivers/memstick/host/jmb38x_ms.c:		if (1 != dma_map_sg(&host->chip->pdev->dev, &host->req->sg, 1,
+drivers/memstick/host/jmb38x_ms.c:		dma_unmap_sg(&host->chip->pdev->dev, &host->req->sg, 1,
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "irq_status = %08x\n", irq_status);
+drivers/memstick/host/jmb38x_ms.c:				dev_dbg(&host->chip->pdev->dev, "TPC_ERR\n");
+drivers/memstick/host/jmb38x_ms.c:		dev_dbg(&host->chip->pdev->dev, "media changed\n");
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "abort\n");
+drivers/memstick/host/jmb38x_ms.c:			dev_dbg(&host->chip->pdev->dev, "tasklet req %d\n", rc);
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "reset_req timeout\n");
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "reset timeout\n");
+drivers/memstick/host/jmb38x_ms.c:			dev_dbg(&host->chip->pdev->dev, "power on\n");
+drivers/memstick/host/jmb38x_ms.c:			dev_dbg(&host->chip->pdev->dev, "power off\n");
+drivers/memstick/host/jmb38x_ms.c:		dev_dbg(&host->chip->pdev->dev,
+drivers/memstick/host/jmb38x_ms.c:		pci_write_config_byte(host->chip->pdev,
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->ReplyFifo, pa);
+drivers/message/fusion/mptbase.c:	u32 pa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo);
+drivers/message/fusion/mptbase.c:		pa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->RequestFifo, mf_dma_addr);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->RequestHiPriFifo, mf_dma_addr);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell,
+drivers/message/fusion/mptbase.c:	if (!(CHIPREG_READ32(&ioc->chip->Doorbell) & MPI_DOORBELL_ACTIVE))
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Doorbell, word);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	if (CHIPREG_READ32(&ioc->chip->Doorbell)
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell,
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	    CHIPREG_READ32(&ioc->chip->Doorbell));
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->alt_ioc->chip->IntMask,
+drivers/message/fusion/mptbase.c:				CHIPREG_WRITE32(&ioc->alt_ioc->chip->IntMask, MPI_HIM_DIM);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->alt_ioc->chip->IntMask,
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:	s = CHIPREG_READ32(&ioc->chip->Doorbell);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_PREVENT_IOC_BOOT | MPI_DIAG_DISABLE_ARM));
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_RESET_ADAPTER);
+drivers/message/fusion/mptbase.c:		diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_RW_ENABLE | MPI_DIAG_DISABLE_ARM));
+drivers/message/fusion/mptbase.c:	CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, pFwHeader->LoadStartAddress);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, *ptrFw++);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, load_addr);
+drivers/message/fusion/mptbase.c:			CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, *ptrFw++);
+drivers/message/fusion/mptbase.c:	CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, pFwHeader->IopResetRegAddr);
+drivers/message/fusion/mptbase.c:	CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, pFwHeader->IopResetVectorValue);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, 0x3F000000);
+drivers/message/fusion/mptbase.c:		diagRwData = CHIPREG_PIO_READ32(&ioc->pio_chip->DiagRwData);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, 0x3F000000);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, diagRwData);
+drivers/message/fusion/mptbase.c:		diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val |
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:			&ioc->chip->Doorbell, &ioc->chip->Reset_1078));
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Reset_1078, 0x07);
+drivers/message/fusion/mptbase.c:			doorbell = CHIPREG_READ32(&ioc->chip->Doorbell);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:				diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_DISABLE_ARM);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_RESET_ADAPTER);
+drivers/message/fusion/mptbase.c:				diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:				doorbell = CHIPREG_READ32(&ioc->chip->Doorbell);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell, reset_type<<MPI_DOORBELL_FUNCTION_SHIFT);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->ReplyFifo, alloc_dma);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell,
+drivers/message/fusion/mptbase.c:	if (!(CHIPREG_READ32(&ioc->chip->Doorbell) & MPI_DOORBELL_ACTIVE))
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->Doorbell, word);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:		hs_reply[u16cnt++] = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:			hs_reply[u16cnt++] = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:		hword = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Doorbell, 0xC0FFEE00);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM);
+drivers/mfd/88pm800.c:	struct pm80x_subchip *subchip = chip->subchip;
+drivers/mfd/88pm800.c:	struct regmap *map = subchip->regmap_gpadc;
+drivers/mfd/88pm800.c:		dev_warn(chip->dev,
+drivers/mfd/88pm800.c:	dev_info(chip->dev, "pm800 device_gpadc_init: Done\n");
+drivers/mfd/88pm800.c:	dev_info(chip->dev, "pm800 device_gpadc_init: Failed!\n");
+drivers/mfd/88pm800.c:	ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/88pm800.c:	ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0],
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/88pm800.c:	ret = mfd_add_devices(chip->dev, 0, &regulator_devs[0],
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add regulator subdev\n");
+drivers/mfd/88pm800.c:	struct regmap *map = chip->regmap;
+drivers/mfd/88pm800.c:	if (!map || !chip->irq) {
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "incorrect parameters\n");
+drivers/mfd/88pm800.c:	    regmap_add_irq_chip(chip->regmap, chip->irq, flags, -1,
+drivers/mfd/88pm800.c:				chip->regmap_irq_chip, &chip->irq_data);
+drivers/mfd/88pm800.c:	regmap_del_irq_chip(chip->irq, chip->irq_data);
+drivers/mfd/88pm800.c:	struct i2c_client *client = chip->client;
+drivers/mfd/88pm800.c:	subchip = chip->subchip;
+drivers/mfd/88pm800.c:	if (!subchip || !subchip->power_page_addr || !subchip->gpadc_page_addr)
+drivers/mfd/88pm800.c:	subchip->power_page = i2c_new_dummy_device(client->adapter,
+drivers/mfd/88pm800.c:					    subchip->power_page_addr);
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->power_page)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->power_page);
+drivers/mfd/88pm800.c:	subchip->regmap_power = devm_regmap_init_i2c(subchip->power_page,
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->regmap_power)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->regmap_power);
+drivers/mfd/88pm800.c:		dev_err(chip->dev,
+drivers/mfd/88pm800.c:	i2c_set_clientdata(subchip->power_page, chip);
+drivers/mfd/88pm800.c:	subchip->gpadc_page = i2c_new_dummy_device(client->adapter,
+drivers/mfd/88pm800.c:					    subchip->gpadc_page_addr);
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->gpadc_page)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->gpadc_page);
+drivers/mfd/88pm800.c:	subchip->regmap_gpadc = devm_regmap_init_i2c(subchip->gpadc_page,
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->regmap_gpadc)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->regmap_gpadc);
+drivers/mfd/88pm800.c:		dev_err(chip->dev,
+drivers/mfd/88pm800.c:	i2c_set_clientdata(subchip->gpadc_page, chip);
+drivers/mfd/88pm800.c:	subchip = chip->subchip;
+drivers/mfd/88pm800.c:	if (subchip && subchip->power_page)
+drivers/mfd/88pm800.c:		i2c_unregister_device(subchip->power_page);
+drivers/mfd/88pm800.c:	if (subchip && subchip->gpadc_page)
+drivers/mfd/88pm800.c:		i2c_unregister_device(subchip->gpadc_page);
+drivers/mfd/88pm800.c:	ret = regmap_read(chip->regmap, PM800_RTC_CONTROL, &val);
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to read RTC register: %d\n", ret);
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "[%s]Failed to init gpadc\n", __func__);
+drivers/mfd/88pm800.c:	chip->regmap_irq_chip = &pm800_irq_chip;
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "[%s]Failed to init pm800 irq\n", __func__);
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add regulators subdev\n");
+drivers/mfd/88pm800.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm800.c:	subchip->power_page_addr = client->addr + 1;
+drivers/mfd/88pm800.c:	subchip->gpadc_page_addr = client->addr + 2;
+drivers/mfd/88pm800.c:	chip->subchip = subchip;
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to initialize 88pm800 devices\n");
+drivers/mfd/88pm800.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm805.c:	struct regmap *map = chip->regmap;
+drivers/mfd/88pm805.c:	if (!map || !chip->irq) {
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "incorrect parameters\n");
+drivers/mfd/88pm805.c:	    regmap_add_irq_chip(chip->regmap, chip->irq, flags, -1,
+drivers/mfd/88pm805.c:				chip->regmap_irq_chip, &chip->irq_data);
+drivers/mfd/88pm805.c:	regmap_del_irq_chip(chip->irq, chip->irq_data);
+drivers/mfd/88pm805.c:	struct regmap *map = chip->regmap;
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "regmap is invalid\n");
+drivers/mfd/88pm805.c:	chip->regmap_irq_chip = &pm805_irq_chip;
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "Failed to init pm805 irq!\n");
+drivers/mfd/88pm805.c:	ret = mfd_add_devices(chip->dev, 0, &codec_devs[0],
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "Failed to add codec subdev\n");
+drivers/mfd/88pm805.c:		dev_info(chip->dev, "[%s]:Added mfd codec_devs\n", __func__);
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "Failed to initialize 88pm805 devices\n");
+drivers/mfd/88pm805.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm80x.c:	chip->client = client;
+drivers/mfd/88pm80x.c:	chip->regmap = map;
+drivers/mfd/88pm80x.c:	chip->irq = client->irq;
+drivers/mfd/88pm80x.c:	chip->dev = &client->dev;
+drivers/mfd/88pm80x.c:	dev_set_drvdata(chip->dev, chip);
+drivers/mfd/88pm80x.c:	i2c_set_clientdata(chip->client, chip);
+drivers/mfd/88pm80x.c:	ret = regmap_read(chip->regmap, PM80X_CHIP_ID, &val);
+drivers/mfd/88pm80x.c:		dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret);
+drivers/mfd/88pm80x.c:			chip->type = chip_mapping[i].type;
+drivers/mfd/88pm80x.c:		dev_err(chip->dev,
+drivers/mfd/88pm80x.c:		chip->companion = g_pm80x_chip->client;
+drivers/mfd/88pm80x.c:		g_pm80x_chip->companion = chip->client;
+drivers/mfd/88pm80x.c:	if (g_pm80x_chip->companion)
+drivers/mfd/88pm80x.c:		g_pm80x_chip->companion = NULL;
+drivers/mfd/88pm80x.c:	if (chip && chip->wu_flag)
+drivers/mfd/88pm80x.c:		if (device_may_wakeup(chip->dev))
+drivers/mfd/88pm80x.c:			enable_irq_wake(chip->irq);
+drivers/mfd/88pm80x.c:	if (chip && chip->wu_flag)
+drivers/mfd/88pm80x.c:		if (device_may_wakeup(chip->dev))
+drivers/mfd/88pm80x.c:			disable_irq_wake(chip->irq);
+drivers/mfd/88pm860x-core.c:	i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:			handle_nested_irq(chip->irq_base + i);
+drivers/mfd/88pm860x-core.c:	mutex_lock(&chip->irq_lock);
+drivers/mfd/88pm860x-core.c:	i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:			dev_err(chip->dev, "wrong IRQ\n");
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->irq_lock);
+drivers/mfd/88pm860x-core.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ?
+drivers/mfd/88pm860x-core.c:		chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:	chip->irq_mode = 0;
+drivers/mfd/88pm860x-core.c:		chip->irq_mode = 1;
+drivers/mfd/88pm860x-core.c:	if (chip->irq_mode) {
+drivers/mfd/88pm860x-core.c:	mutex_init(&chip->irq_lock);
+drivers/mfd/88pm860x-core.c:	chip->irq_base = irq_alloc_descs(irq_base, 0, nr_irqs, 0);
+drivers/mfd/88pm860x-core.c:	if (chip->irq_base < 0) {
+drivers/mfd/88pm860x-core.c:			chip->irq_base);
+drivers/mfd/88pm860x-core.c:	irq_domain_add_legacy(node, nr_irqs, chip->irq_base, 0,
+drivers/mfd/88pm860x-core.c:	chip->core_irq = i2c->irq;
+drivers/mfd/88pm860x-core.c:	if (!chip->core_irq)
+drivers/mfd/88pm860x-core.c:	ret = request_threaded_irq(chip->core_irq, NULL, pm860x_irq,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to request IRQ: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		chip->core_irq = 0;
+drivers/mfd/88pm860x-core.c:	chip->core_irq = 0;
+drivers/mfd/88pm860x-core.c:	if (chip->core_irq)
+drivers/mfd/88pm860x-core.c:		free_irq(chip->core_irq, chip);
+drivers/mfd/88pm860x-core.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8606) ?
+drivers/mfd/88pm860x-core.c:		chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): client=0x%x\n", __func__, client);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): vote=0x%x status=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status);
+drivers/mfd/88pm860x-core.c:	mutex_lock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	chip->osc_vote |= client;
+drivers/mfd/88pm860x-core.c:	if (chip->osc_status != PM8606_REF_GP_OSC_ON) {
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_UNKNOWN;
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_ON;
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(A): vote=0x%x status=%d ret=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status, ret);
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8606) ?
+drivers/mfd/88pm860x-core.c:		chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): client=0x%x\n", __func__, client);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): vote=0x%x status=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status);
+drivers/mfd/88pm860x-core.c:	mutex_lock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	chip->osc_vote &= ~(client);
+drivers/mfd/88pm860x-core.c:	if ((chip->osc_status != PM8606_REF_GP_OSC_OFF) &&
+drivers/mfd/88pm860x-core.c:			(chip->osc_vote == REF_GP_NO_CLIENTS)) {
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_UNKNOWN;
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_OFF;
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(A): vote=0x%x status=%d ret=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status, ret);
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	mutex_init(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	chip->osc_vote = REF_GP_NO_CLIENTS;
+drivers/mfd/88pm860x-core.c:	chip->osc_status = PM8606_REF_GP_OSC_OFF;
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, bk_devs,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add backlight subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, led_devs,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add led subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, reg_devs,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add regulator subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0],
+drivers/mfd/88pm860x-core.c:			      chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &touch_devs[0],
+drivers/mfd/88pm860x-core.c:			      chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add touch subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[0], 1,
+drivers/mfd/88pm860x-core.c:			      &battery_resources[0], chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add battery subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[1], 1,
+drivers/mfd/88pm860x-core.c:			      &charger_resources[0], chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add charger subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[2], 1,
+drivers/mfd/88pm860x-core.c:			      NULL, chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add preg subdev\n");
+drivers/mfd/88pm860x-core.c:		ret = mfd_add_devices(chip->dev, 0, &power_devs[3], 1,
+drivers/mfd/88pm860x-core.c:				      NULL, chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:			dev_err(chip->dev, "Failed to add chg-manager subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+drivers/mfd/88pm860x-core.c:			      chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &codec_devs[0],
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add codec subdev\n");
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		dev_info(chip->dev, "Marvell 88PM8607 (ID: %02x) detected\n",
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to read BUCK3 register: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		chip->buck3_double = 1;
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to read MISC1 register: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to access MISC1:%d\n", ret);
+drivers/mfd/88pm860x-core.c:	chip->core_irq = 0;
+drivers/mfd/88pm860x-core.c:	switch (chip->id) {
+drivers/mfd/88pm860x-core.c:		device_8606_init(chip, chip->client, pdata);
+drivers/mfd/88pm860x-core.c:		device_8607_init(chip, chip->client, pdata);
+drivers/mfd/88pm860x-core.c:	if (chip->companion) {
+drivers/mfd/88pm860x-core.c:		switch (chip->id) {
+drivers/mfd/88pm860x-core.c:			device_8606_init(chip, chip->companion, pdata);
+drivers/mfd/88pm860x-core.c:			device_8607_init(chip, chip->companion, pdata);
+drivers/mfd/88pm860x-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm860x-core.c:	chip->id = verify_addr(client);
+drivers/mfd/88pm860x-core.c:	chip->regmap = devm_regmap_init_i2c(client, &pm860x_regmap_config);
+drivers/mfd/88pm860x-core.c:	if (IS_ERR(chip->regmap)) {
+drivers/mfd/88pm860x-core.c:		ret = PTR_ERR(chip->regmap);
+drivers/mfd/88pm860x-core.c:	chip->client = client;
+drivers/mfd/88pm860x-core.c:	chip->dev = &client->dev;
+drivers/mfd/88pm860x-core.c:	dev_set_drvdata(chip->dev, chip);
+drivers/mfd/88pm860x-core.c:		chip->companion_addr = pdata->companion_addr;
+drivers/mfd/88pm860x-core.c:		chip->companion = i2c_new_dummy_device(chip->client->adapter,
+drivers/mfd/88pm860x-core.c:						chip->companion_addr);
+drivers/mfd/88pm860x-core.c:		if (IS_ERR(chip->companion)) {
+drivers/mfd/88pm860x-core.c:			return PTR_ERR(chip->companion);
+drivers/mfd/88pm860x-core.c:		chip->regmap_companion = regmap_init_i2c(chip->companion,
+drivers/mfd/88pm860x-core.c:		if (IS_ERR(chip->regmap_companion)) {
+drivers/mfd/88pm860x-core.c:			ret = PTR_ERR(chip->regmap_companion);
+drivers/mfd/88pm860x-core.c:			dev_err(&chip->companion->dev,
+drivers/mfd/88pm860x-core.c:			i2c_unregister_device(chip->companion);
+drivers/mfd/88pm860x-core.c:		i2c_set_clientdata(chip->companion, chip);
+drivers/mfd/88pm860x-core.c:	if (chip->companion) {
+drivers/mfd/88pm860x-core.c:		regmap_exit(chip->regmap_companion);
+drivers/mfd/88pm860x-core.c:		i2c_unregister_device(chip->companion);
+drivers/mfd/88pm860x-core.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/88pm860x-core.c:		enable_irq_wake(chip->core_irq);
+drivers/mfd/88pm860x-core.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/88pm860x-core.c:		disable_irq_wake(chip->core_irq);
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/ab3100-core.c: * and some basic chip-configuration.
+drivers/mfd/adp5520.c:	mutex_lock(&chip->lock);
+drivers/mfd/adp5520.c:	mutex_unlock(&chip->lock);
+drivers/mfd/adp5520.c:	mutex_lock(&chip->lock);
+drivers/mfd/adp5520.c:	ret = __adp5520_read(chip->client, reg, &reg_val);
+drivers/mfd/adp5520.c:		ret = __adp5520_write(chip->client, reg, reg_val);
+drivers/mfd/adp5520.c:	mutex_unlock(&chip->lock);
+drivers/mfd/adp5520.c:	mutex_lock(&chip->lock);
+drivers/mfd/adp5520.c:	ret = __adp5520_read(chip->client, reg, &reg_val);
+drivers/mfd/adp5520.c:		ret = __adp5520_write(chip->client, reg, reg_val);
+drivers/mfd/adp5520.c:	mutex_unlock(&chip->lock);
+drivers/mfd/adp5520.c:	if (chip->irq) {
+drivers/mfd/adp5520.c:		adp5520_set_bits(chip->dev, ADP5520_INTERRUPT_ENABLE,
+drivers/mfd/adp5520.c:		return blocking_notifier_chain_register(&chip->notifier_list,
+drivers/mfd/adp5520.c:	adp5520_clr_bits(chip->dev, ADP5520_INTERRUPT_ENABLE,
+drivers/mfd/adp5520.c:	return blocking_notifier_chain_unregister(&chip->notifier_list, nb);
+drivers/mfd/adp5520.c:	ret = __adp5520_read(chip->client, ADP5520_MODE_STATUS, &reg_val);
+drivers/mfd/adp5520.c:	blocking_notifier_call_chain(&chip->notifier_list, events, NULL);
+drivers/mfd/adp5520.c:	__adp5520_ack_bits(chip->client, ADP5520_MODE_STATUS, events);
+drivers/mfd/adp5520.c:	return device_for_each_child(chip->dev, NULL, __remove_subdev);
+drivers/mfd/adp5520.c:	chip->client = client;
+drivers/mfd/adp5520.c:	chip->dev = &client->dev;
+drivers/mfd/adp5520.c:	chip->irq = client->irq;
+drivers/mfd/adp5520.c:	chip->id = id->driver_data;
+drivers/mfd/adp5520.c:	mutex_init(&chip->lock);
+drivers/mfd/adp5520.c:	if (chip->irq) {
+drivers/mfd/adp5520.c:		BLOCKING_INIT_NOTIFIER_HEAD(&chip->notifier_list);
+drivers/mfd/adp5520.c:		ret = request_threaded_irq(chip->irq, NULL, adp5520_irq_thread,
+drivers/mfd/adp5520.c:					chip->irq);
+drivers/mfd/adp5520.c:	ret = adp5520_write(chip->dev, ADP5520_MODE_STATUS, ADP5520_nSTNBY);
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev, "adp5520-keys",
+drivers/mfd/adp5520.c:				chip->id, pdata->keys, sizeof(*pdata->keys));
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev, "adp5520-gpio",
+drivers/mfd/adp5520.c:				chip->id, pdata->gpio, sizeof(*pdata->gpio));
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev, "adp5520-led",
+drivers/mfd/adp5520.c:				chip->id, pdata->leds, sizeof(*pdata->leds));
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev,
+drivers/mfd/adp5520.c:						chip->id,
+drivers/mfd/adp5520.c:	if (chip->irq)
+drivers/mfd/adp5520.c:		free_irq(chip->irq, chip);
+drivers/mfd/adp5520.c:	adp5520_read(chip->dev, ADP5520_MODE_STATUS, &chip->mode);
+drivers/mfd/adp5520.c:	chip->mode &= ADP5520_BL_EN | ADP5520_DIM_EN | ADP5520_nSTNBY;
+drivers/mfd/adp5520.c:	adp5520_write(chip->dev, ADP5520_MODE_STATUS, 0);
+drivers/mfd/adp5520.c:	adp5520_write(chip->dev, ADP5520_MODE_STATUS, chip->mode);
+drivers/mfd/asic3.c:	data->chip->irq_ack(data);
+drivers/mfd/da903x.c:	chip->ops->unmask_events(chip, events);
+drivers/mfd/da903x.c:	return blocking_notifier_chain_register(&chip->notifier_list, nb);
+drivers/mfd/da903x.c:	chip->ops->mask_events(chip, events);
+drivers/mfd/da903x.c:	return blocking_notifier_chain_unregister(&chip->notifier_list, nb);
+drivers/mfd/da903x.c:	mutex_lock(&chip->lock);
+drivers/mfd/da903x.c:	ret = __da903x_read(chip->client, reg, &reg_val);
+drivers/mfd/da903x.c:		ret = __da903x_write(chip->client, reg, reg_val);
+drivers/mfd/da903x.c:	mutex_unlock(&chip->lock);
+drivers/mfd/da903x.c:	mutex_lock(&chip->lock);
+drivers/mfd/da903x.c:	ret = __da903x_read(chip->client, reg, &reg_val);
+drivers/mfd/da903x.c:		ret = __da903x_write(chip->client, reg, reg_val);
+drivers/mfd/da903x.c:	mutex_unlock(&chip->lock);
+drivers/mfd/da903x.c:	mutex_lock(&chip->lock);
+drivers/mfd/da903x.c:	ret = __da903x_read(chip->client, reg, &reg_val);
+drivers/mfd/da903x.c:		ret = __da903x_write(chip->client, reg, reg_val);
+drivers/mfd/da903x.c:	mutex_unlock(&chip->lock);
+drivers/mfd/da903x.c:	chip->ops->read_status(chip, &status);
+drivers/mfd/da903x.c:	err = __da903x_read(chip->client, DA9030_CHIP_ID, &chip_id);
+drivers/mfd/da903x.c:	err = __da903x_write(chip->client, DA9030_SYS_CTRL_A, 0xE8);
+drivers/mfd/da903x.c:	dev_info(chip->dev, "DA9030 (CHIP ID: 0x%02x) detected\n", chip_id);
+drivers/mfd/da903x.c:	chip->events_mask &= ~events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9030_IRQ_MASK_A, 3, v);
+drivers/mfd/da903x.c:	chip->events_mask |= events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9030_IRQ_MASK_A, 3, v);
+drivers/mfd/da903x.c:	ret = __da903x_reads(chip->client, DA9030_EVENT_A, 3, v);
+drivers/mfd/da903x.c:	return __da903x_read(chip->client, DA9030_STATUS, (uint8_t *)status);
+drivers/mfd/da903x.c:	err = __da903x_read(chip->client, DA9034_CHIP_ID, &chip_id);
+drivers/mfd/da903x.c:	err = __da903x_write(chip->client, DA9034_SYS_CTRL_A, 0xE8);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x10, 0x07);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x11, 0xff);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x12, 0xff);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, DA9034_SYS_CTRL_B, 0x20);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, DA9034_SYS_CTRL_A, 0x60);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x90, 0x01);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0xB0, 0x08);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x20, 0x00);
+drivers/mfd/da903x.c:	dev_info(chip->dev, "DA9034 (CHIP ID: 0x%02x) detected\n", chip_id);
+drivers/mfd/da903x.c:	chip->events_mask &= ~events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	v[3] = (chip->events_mask >> 24) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9034_IRQ_MASK_A, 4, v);
+drivers/mfd/da903x.c:	chip->events_mask |= events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	v[3] = (chip->events_mask >> 24) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9034_IRQ_MASK_A, 4, v);
+drivers/mfd/da903x.c:	ret = __da903x_reads(chip->client, DA9034_EVENT_A, 4, v);
+drivers/mfd/da903x.c:	ret = __da903x_reads(chip->client, DA9034_STATUS_A, 2, v);
+drivers/mfd/da903x.c:		if (chip->ops->read_events(chip, &events))
+drivers/mfd/da903x.c:		events &= ~chip->events_mask;
+drivers/mfd/da903x.c:				&chip->notifier_list, events, NULL);
+drivers/mfd/da903x.c:	enable_irq(chip->client->irq);
+drivers/mfd/da903x.c:	(void)schedule_work(&chip->irq_work);
+drivers/mfd/da903x.c:	return device_for_each_child(chip->dev, NULL, __remove_subdev);
+drivers/mfd/da903x.c:		pdev->dev.parent = chip->dev;
+drivers/mfd/da903x.c:	chip->client = client;
+drivers/mfd/da903x.c:	chip->dev = &client->dev;
+drivers/mfd/da903x.c:	chip->ops = &da903x_ops[id->driver_data];
+drivers/mfd/da903x.c:	mutex_init(&chip->lock);
+drivers/mfd/da903x.c:	INIT_WORK(&chip->irq_work, da903x_irq_work);
+drivers/mfd/da903x.c:	BLOCKING_INIT_NOTIFIER_HEAD(&chip->notifier_list);
+drivers/mfd/da903x.c:	ret = chip->ops->init_chip(chip);
+drivers/mfd/da903x.c:	chip->events_mask = 0xffffffff;
+drivers/mfd/da903x.c:	chip->ops->mask_events(chip, chip->events_mask);
+drivers/mfd/da903x.c:	chip->ops->read_events(chip, &tmp);
+drivers/mfd/da9062-core.c:	ret = regmap_read(chip->regmap, DA9062AA_FAULT_LOG, &fault_log);
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: TWD_ERROR\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: POR\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: VDD_FAULT\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: VDD_START\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: TEMP_CRIT\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: KEY_RESET\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: NSHUTDOWN\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: WAIT_SHUT\n");
+drivers/mfd/da9062-core.c:		ret = regmap_write(chip->regmap, DA9062AA_FAULT_LOG,
+drivers/mfd/da9062-core.c:	ret = regmap_read(chip->regmap, DA9062AA_DEVICE_ID, &device_id);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Cannot read chip ID.\n");
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Invalid device ID: 0x%02x\n", device_id);
+drivers/mfd/da9062-core.c:	ret = regmap_read(chip->regmap, DA9062AA_VARIANT_ID, &variant_id);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Cannot read chip variant id.\n");
+drivers/mfd/da9062-core.c:	dev_info(chip->dev,
+drivers/mfd/da9062-core.c:		dev_err(chip->dev,
+drivers/mfd/da9062-core.c:		chip->chip_type = (uintptr_t)match->data;
+drivers/mfd/da9062-core.c:		chip->chip_type = id->driver_data;
+drivers/mfd/da9062-core.c:	chip->dev = &i2c->dev;
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "No IRQ configured\n");
+drivers/mfd/da9062-core.c:	switch (chip->chip_type) {
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Unrecognised chip type\n");
+drivers/mfd/da9062-core.c:	chip->regmap = devm_regmap_init_i2c(i2c, config);
+drivers/mfd/da9062-core.c:	if (IS_ERR(chip->regmap)) {
+drivers/mfd/da9062-core.c:		ret = PTR_ERR(chip->regmap);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/mfd/da9062-core.c:		dev_warn(chip->dev, "Cannot clear fault log\n");
+drivers/mfd/da9062-core.c:	ret = regmap_add_irq_chip(chip->regmap, i2c->irq,
+drivers/mfd/da9062-core.c:			&chip->regmap_irq);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Failed to request IRQ %d: %d\n",
+drivers/mfd/da9062-core.c:	irq_base = regmap_irq_chip_get_base(chip->regmap_irq);
+drivers/mfd/da9062-core.c:	ret = mfd_add_devices(chip->dev, PLATFORM_DEVID_NONE, cell,
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Cannot register child devices\n");
+drivers/mfd/da9062-core.c:		regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
+drivers/mfd/da9062-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/da9062-core.c:	regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
+drivers/mfd/da9063-core.c:		 "Device detected (chip-ID: 0x%02X, var-ID: 0x%02X)\n",
+drivers/mfd/ezx-pcap.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+drivers/mfd/htc-i2cpld.c:	chip->irqs_enabled &= ~(1 << (data->irq - chip->irq_start));
+drivers/mfd/htc-i2cpld.c:	pr_debug("HTCPLD mask %d %04x\n", data->irq, chip->irqs_enabled);
+drivers/mfd/htc-i2cpld.c:	chip->irqs_enabled |= 1 << (data->irq - chip->irq_start);
+drivers/mfd/htc-i2cpld.c:	pr_debug("HTCPLD unmask %d %04x\n", data->irq, chip->irqs_enabled);
+drivers/mfd/htc-i2cpld.c:	chip->flow_type = flags;
+drivers/mfd/htc-i2cpld.c:		if (chip->nirqs == 0)
+drivers/mfd/htc-i2cpld.c:		client = chip->client;
+drivers/mfd/htc-i2cpld.c:		val = i2c_smbus_read_byte_data(client, chip->cache_out);
+drivers/mfd/htc-i2cpld.c:			dev_warn(chip->dev, "Unable to read from chip: %d\n",
+drivers/mfd/htc-i2cpld.c:		spin_lock_irqsave(&chip->lock, flags);
+drivers/mfd/htc-i2cpld.c:		old_val = chip->cache_in;
+drivers/mfd/htc-i2cpld.c:		chip->cache_in = uval;
+drivers/mfd/htc-i2cpld.c:		spin_unlock_irqrestore(&chip->lock, flags);
+drivers/mfd/htc-i2cpld.c:		for (irqpin = 0; irqpin < chip->nirqs; irqpin++) {
+drivers/mfd/htc-i2cpld.c:			unsigned oldb, newb, type = chip->flow_type;
+drivers/mfd/htc-i2cpld.c:			irq = chip->irq_start + irqpin;
+drivers/mfd/htc-i2cpld.c:	if (!strncmp(chip->label, "htcpld-out", 10)) {
+drivers/mfd/htc-i2cpld.c:	} else if (!strncmp(chip->label, "htcpld-in", 9)) {
+drivers/mfd/htc-i2cpld.c:	return (offset < chip->ngpio) ? 0 : -EINVAL;
+drivers/mfd/htc-i2cpld.c:	irq_end = chip->irq_start + chip->nirqs;
+drivers/mfd/htc-i2cpld.c:	for (irq = chip->irq_start; irq < irq_end; irq++) {
+drivers/mfd/htc-i2cpld.c:	chip->client = client;
+drivers/mfd/htc-i2cpld.c:	chip->cache_in = i2c_smbus_read_byte_data(client, chip->cache_out);
+drivers/mfd/htc-i2cpld.c:	i2c_unregister_device(chip->client);
+drivers/mfd/htc-i2cpld.c:	gpio_chip = &(chip->chip_out);
+drivers/mfd/htc-i2cpld.c:	gpio_chip->label           = "htcpld-out";
+drivers/mfd/htc-i2cpld.c:	gpio_chip->parent             = dev;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->owner           = THIS_MODULE;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->get             = htcpld_chip_get;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->set             = htcpld_chip_set;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_input = NULL;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_output = htcpld_direction_output;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->base            = plat_chip_data->gpio_out_base;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->ngpio           = plat_chip_data->num_gpios;
+drivers/mfd/htc-i2cpld.c:	gpio_chip = &(chip->chip_in);
+drivers/mfd/htc-i2cpld.c:	gpio_chip->label           = "htcpld-in";
+drivers/mfd/htc-i2cpld.c:	gpio_chip->parent             = dev;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->owner           = THIS_MODULE;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->get             = htcpld_chip_get;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->set             = NULL;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_input = htcpld_direction_input;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_output = NULL;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->to_irq          = htcpld_chip_to_irq;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->base            = plat_chip_data->gpio_in_base;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->ngpio           = plat_chip_data->num_gpios;
+drivers/mfd/htc-i2cpld.c:	ret = gpiochip_add_data(&(chip->chip_out), chip);
+drivers/mfd/htc-i2cpld.c:	ret = gpiochip_add_data(&(chip->chip_in), chip);
+drivers/mfd/htc-i2cpld.c:		gpiochip_remove(&(chip->chip_out));
+drivers/mfd/intel_soc_pmic_bxtwc.c:			pirq, chip->name, irq);
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_INTENLBT,
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to set GLBLM: %d\n", ret);
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_INTENLBT,
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to reset GLBLM: %d\n", ret);
+drivers/mfd/max77620.c:	switch (chip->chip_id) {
+drivers/mfd/max77620.c:	struct device *dev = chip->dev;
+drivers/mfd/max77620.c:	switch (chip->chip_id) {
+drivers/mfd/max77620.c:		chip->shutdown_fps_period[fps_id] = min(param_val,
+drivers/mfd/max77620.c:				chip->shutdown_fps_period[fps_id]);
+drivers/mfd/max77620.c:		chip->suspend_fps_period[fps_id] = min(param_val,
+drivers/mfd/max77620.c:	if (!chip->sleep_enable && !chip->enable_global_lpm) {
+drivers/mfd/max77620.c:				chip->sleep_enable = true;
+drivers/mfd/max77620.c:				chip->enable_global_lpm = true;
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_FPS_CFG0 + fps_id,
+drivers/mfd/max77620.c:	struct device *dev = chip->dev;
+drivers/mfd/max77620.c:		chip->shutdown_fps_period[fps_id] = -1;
+drivers/mfd/max77620.c:		chip->suspend_fps_period[fps_id] = -1;
+drivers/mfd/max77620.c:	config = chip->enable_global_lpm ? MAX77620_ONOFFCNFG2_SLP_LPM_MSK : 0;
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX77663)
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max77620.c:	if ((chip->chip_id == MAX20024) && chip->sleep_enable) {
+drivers/mfd/max77620.c:		ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1,
+drivers/mfd/max77620.c:		ret = regmap_read(chip->rmap, i, &val);
+drivers/mfd/max77620.c:			dev_err(chip->dev, "Failed to read CID: %d\n", ret);
+drivers/mfd/max77620.c:		dev_dbg(chip->dev, "CID%d: 0x%02x\n",
+drivers/mfd/max77620.c:	dev_info(chip->dev, "PMIC Version OTP:0x%02X and ES:0x%X\n",
+drivers/mfd/max77620.c:	regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1,
+drivers/mfd/max77620.c:	chip->dev = &client->dev;
+drivers/mfd/max77620.c:	chip->chip_irq = client->irq;
+drivers/mfd/max77620.c:	chip->chip_id = (enum max77620_chip_id)id->driver_data;
+drivers/mfd/max77620.c:	switch (chip->chip_id) {
+drivers/mfd/max77620.c:		dev_err(chip->dev, "ChipID is invalid %d\n", chip->chip_id);
+drivers/mfd/max77620.c:	chip->rmap = devm_regmap_init_i2c(client, rmap_config);
+drivers/mfd/max77620.c:	if (IS_ERR(chip->rmap)) {
+drivers/mfd/max77620.c:		ret = PTR_ERR(chip->rmap);
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to initialise regmap: %d\n", ret);
+drivers/mfd/max77620.c:	ret = devm_regmap_add_irq_chip(chip->dev, chip->rmap, client->irq,
+drivers/mfd/max77620.c:				       &chip->top_irq_data);
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to add regmap irq: %d\n", ret);
+drivers/mfd/max77620.c:	ret =  devm_mfd_add_devices(chip->dev, PLATFORM_DEVID_NONE,
+drivers/mfd/max77620.c:				    regmap_irq_get_domain(chip->top_irq_data));
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to add MFD children: %d\n", ret);
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_FPS_CFG0 + fps_id,
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to update FPS period: %d\n", ret);
+drivers/mfd/max77620.c:		if (chip->suspend_fps_period[fps] < 0)
+drivers/mfd/max77620.c:					      chip->suspend_fps_period[fps]);
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX20024)
+drivers/mfd/max77620.c:	config = (chip->sleep_enable) ? MAX77620_ONOFFCNFG1_SLPEN : 0;
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1,
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX77663)
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max77620.c:		if (chip->shutdown_fps_period[fps] < 0)
+drivers/mfd/max77620.c:					      chip->shutdown_fps_period[fps]);
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX20024 || chip->chip_id == MAX77663)
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max8925-core.c:	return &max8925_irqs[irq - chip->irq_base];
+drivers/mfd/max8925-core.c:			i2c = chip->rtc;
+drivers/mfd/max8925-core.c:			i2c = chip->adc;
+drivers/mfd/max8925-core.c:			i2c = chip->i2c;
+drivers/mfd/max8925-core.c:			handle_nested_irq(chip->irq_base + i);
+drivers/mfd/max8925-core.c:			i2c = chip->rtc;
+drivers/mfd/max8925-core.c:			i2c = chip->adc;
+drivers/mfd/max8925-core.c:			i2c = chip->i2c;
+drivers/mfd/max8925-core.c:			handle_nested_irq(chip->irq_base + i);
+drivers/mfd/max8925-core.c:	mutex_lock(&chip->irq_lock);
+drivers/mfd/max8925-core.c:			dev_err(chip->dev, "wrong IRQ\n");
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ2_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, irq_rtc);
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, irq_tsc);
+drivers/mfd/max8925-core.c:	mutex_unlock(&chip->irq_lock);
+drivers/mfd/max8925-core.c:	max8925_irqs[data->irq - chip->irq_base].enable
+drivers/mfd/max8925-core.c:		= max8925_irqs[data->irq - chip->irq_base].offs;
+drivers/mfd/max8925-core.c:	max8925_irqs[data->irq - chip->irq_base].enable = 0;
+drivers/mfd/max8925-core.c:	struct device_node *node = chip->dev->of_node;
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_CHG_IRQ1);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_CHG_IRQ2);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ1);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ2);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->rtc, MAX8925_RTC_IRQ);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->adc, MAX8925_TSC_IRQ);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->rtc, MAX8925_ALARM0_CNTL, 0);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->rtc, MAX8925_ALARM1_CNTL, 0);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ2_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, 0xff);
+drivers/mfd/max8925-core.c:	mutex_init(&chip->irq_lock);
+drivers/mfd/max8925-core.c:	chip->irq_base = irq_alloc_descs(-1, 0, MAX8925_NR_IRQS, 0);
+drivers/mfd/max8925-core.c:	if (chip->irq_base < 0) {
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to allocate interrupts, ret:%d\n",
+drivers/mfd/max8925-core.c:			chip->irq_base);
+drivers/mfd/max8925-core.c:	irq_domain_add_legacy(node, MAX8925_NR_IRQS, chip->irq_base, 0,
+drivers/mfd/max8925-core.c:	chip->core_irq = irq;
+drivers/mfd/max8925-core.c:	if (!chip->core_irq)
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to request core IRQ: %d\n", ret);
+drivers/mfd/max8925-core.c:		chip->core_irq = 0;
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, 0x0f);
+drivers/mfd/max8925-core.c:		dev_warn(chip->dev, "No interrupt support on TSC IRQ\n");
+drivers/mfd/max8925-core.c:	chip->tsc_irq = pdata->tsc_irq;
+drivers/mfd/max8925-core.c:	ret = request_threaded_irq(chip->tsc_irq, NULL, max8925_tsc_irq,
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to request TSC IRQ: %d\n", ret);
+drivers/mfd/max8925-core.c:		chip->tsc_irq = 0;
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, reg_devs, ARRAY_SIZE(reg_devs),
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add regulator subdev\n");
+drivers/mfd/max8925-core.c:	max8925_irq_init(chip, chip->i2c->irq, pdata);
+drivers/mfd/max8925-core.c:		max8925_set_bits(chip->i2c, MAX8925_RESET_CNFG, 1, 1);
+drivers/mfd/max8925-core.c:		max8925_set_bits(chip->adc, MAX8925_TSC_CNFG1, 3, 2);
+drivers/mfd/max8925-core.c:			ret = max8925_reg_read(chip->adc, MAX8925_TSC_IRQ);
+drivers/mfd/max8925-core.c:		max8925_set_bits(chip->adc, MAX8925_ADC_SCHED, 3, 2);
+drivers/mfd/max8925-core.c:	max8925_set_bits(chip->rtc, MAX8925_MPL_CNTL, 1 << 4, 1 << 4);
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0],
+drivers/mfd/max8925-core.c:			      NULL, chip->irq_base, NULL);
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+drivers/mfd/max8925-core.c:			      NULL, chip->irq_base, NULL);
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, bk_devs, ARRAY_SIZE(bk_devs),
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add backlight subdev\n");
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[0],
+drivers/mfd/max8925-core.c:		dev_err(chip->dev,
+drivers/mfd/max8925-core.c:		ret = mfd_add_devices(chip->dev, 0, &touch_devs[0],
+drivers/mfd/max8925-core.c:				      NULL, chip->tsc_irq, NULL);
+drivers/mfd/max8925-core.c:			dev_err(chip->dev, "Failed to add touch subdev\n");
+drivers/mfd/max8925-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/max8925-core.c:	if (chip->core_irq)
+drivers/mfd/max8925-core.c:		free_irq(chip->core_irq, chip);
+drivers/mfd/max8925-core.c:	if (chip->tsc_irq)
+drivers/mfd/max8925-core.c:		free_irq(chip->tsc_irq, chip);
+drivers/mfd/max8925-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	chip->i2c = client;
+drivers/mfd/max8925-i2c.c:	chip->dev = &client->dev;
+drivers/mfd/max8925-i2c.c:	dev_set_drvdata(chip->dev, chip);
+drivers/mfd/max8925-i2c.c:	mutex_init(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	chip->rtc = i2c_new_dummy_device(chip->i2c->adapter, RTC_I2C_ADDR);
+drivers/mfd/max8925-i2c.c:	if (IS_ERR(chip->rtc)) {
+drivers/mfd/max8925-i2c.c:		dev_err(chip->dev, "Failed to allocate I2C device for RTC\n");
+drivers/mfd/max8925-i2c.c:		return PTR_ERR(chip->rtc);
+drivers/mfd/max8925-i2c.c:	i2c_set_clientdata(chip->rtc, chip);
+drivers/mfd/max8925-i2c.c:	chip->adc = i2c_new_dummy_device(chip->i2c->adapter, ADC_I2C_ADDR);
+drivers/mfd/max8925-i2c.c:	if (IS_ERR(chip->adc)) {
+drivers/mfd/max8925-i2c.c:		dev_err(chip->dev, "Failed to allocate I2C device for ADC\n");
+drivers/mfd/max8925-i2c.c:		i2c_unregister_device(chip->rtc);
+drivers/mfd/max8925-i2c.c:		return PTR_ERR(chip->adc);
+drivers/mfd/max8925-i2c.c:	i2c_set_clientdata(chip->adc, chip);
+drivers/mfd/max8925-i2c.c:	i2c_unregister_device(chip->adc);
+drivers/mfd/max8925-i2c.c:	i2c_unregister_device(chip->rtc);
+drivers/mfd/max8925-i2c.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/max8925-i2c.c:		enable_irq_wake(chip->core_irq);
+drivers/mfd/max8925-i2c.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/max8925-i2c.c:		disable_irq_wake(chip->core_irq);
+drivers/mfd/motorola-cpcap.c:	chip->irqs = &cpcap->irqs[irq_start];
+drivers/mfd/motorola-cpcap.c:	chip->num_irqs = nr_irqs;
+drivers/mfd/motorola-cpcap.c:	chip->irq_drv_data = cpcap;
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[0], chip->wake_mask[0]);
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[1], chip->wake_mask[1]);
+drivers/mfd/mt6397-core.c:	enable_irq_wake(chip->irq);
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[0], chip->irq_masks_cur[0]);
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[1], chip->irq_masks_cur[1]);
+drivers/mfd/mt6397-core.c:	disable_irq_wake(chip->irq);
+drivers/mfd/mt6397-irq.c:	mutex_init(&chip->irqlock);
+drivers/mfd/mt6397-irq.c:	switch (chip->chip_id) {
+drivers/mfd/mt6397-irq.c:		chip->int_con[0] = MT6323_INT_CON0;
+drivers/mfd/mt6397-irq.c:		chip->int_con[1] = MT6323_INT_CON1;
+drivers/mfd/mt6397-irq.c:		chip->int_status[0] = MT6323_INT_STATUS0;
+drivers/mfd/mt6397-irq.c:		chip->int_status[1] = MT6323_INT_STATUS1;
+drivers/mfd/mt6397-irq.c:		chip->int_con[0] = MT6397_INT_CON0;
+drivers/mfd/mt6397-irq.c:		chip->int_con[1] = MT6397_INT_CON1;
+drivers/mfd/mt6397-irq.c:		chip->int_status[0] = MT6397_INT_STATUS0;
+drivers/mfd/mt6397-irq.c:		chip->int_status[1] = MT6397_INT_STATUS1;
+drivers/mfd/mt6397-irq.c:		dev_err(chip->dev, "unsupported chip: 0x%x\n", chip->chip_id);
+drivers/mfd/mt6397-irq.c:	regmap_write(chip->regmap, chip->int_con[0], 0x0);
+drivers/mfd/mt6397-irq.c:	regmap_write(chip->regmap, chip->int_con[1], 0x0);
+drivers/mfd/mt6397-irq.c:	chip->irq_domain = irq_domain_add_linear(chip->dev->of_node,
+drivers/mfd/mt6397-irq.c:	if (!chip->irq_domain) {
+drivers/mfd/mt6397-irq.c:		dev_err(chip->dev, "could not create irq domain\n");
+drivers/mfd/mt6397-irq.c:	ret = devm_request_threaded_irq(chip->dev, chip->irq, NULL,
+drivers/mfd/mt6397-irq.c:		dev_err(chip->dev, "failed to register irq=%d; err: %d\n",
+drivers/mfd/mt6397-irq.c:			chip->irq, ret);
+drivers/mfd/qcom-pm8xxx.c:	spin_lock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_IT_STATUS, ip);
+drivers/mfd/qcom-pm8xxx.c:	spin_unlock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	spin_lock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_CONFIG, cp);
+drivers/mfd/qcom-pm8xxx.c:	spin_unlock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:			irq = irq_find_mapping(chip->irqdomain, pmirq);
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_M_STATUS1 + master,
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_ROOT, &root);
+drivers/mfd/qcom-pm8xxx.c:	for (i = 0; i < chip->num_masters; i++)
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:			irq = irq_find_mapping(chip->irqdomain, pmirq);
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	config = chip->config[pmirq] | PM_IRQF_MASK_ALL | PM_IRQF_CLR;
+drivers/mfd/qcom-pm8xxx.c:	config = chip->config[pmirq];
+drivers/mfd/qcom-pm8xxx.c:	chip->config[pmirq] = (irq_bit << PM_IRQF_BITS_SHIFT)
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_RE;
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_FE;
+drivers/mfd/qcom-pm8xxx.c:		chip->config[pmirq] |= PM_IRQF_LVL_SEL;
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_RE;
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_FE;
+drivers/mfd/qcom-pm8xxx.c:	config = chip->config[pmirq] | PM_IRQF_CLR;
+drivers/mfd/qcom-pm8xxx.c:	spin_lock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, block);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_RT_STATUS, &bits);
+drivers/mfd/qcom-pm8xxx.c:	spin_unlock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	irq_domain_set_info(domain, irq, hwirq, chip->pm_irq_data->irq_chip,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_update_bits(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_update_bits(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_update_bits(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	chip->regmap = regmap;
+drivers/mfd/qcom-pm8xxx.c:	chip->num_blocks = DIV_ROUND_UP(data->num_irqs, 8);
+drivers/mfd/qcom-pm8xxx.c:	chip->num_masters = DIV_ROUND_UP(chip->num_blocks, 8);
+drivers/mfd/qcom-pm8xxx.c:	chip->pm_irq_data = data;
+drivers/mfd/qcom-pm8xxx.c:	spin_lock_init(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	chip->irqdomain = irq_domain_add_linear(pdev->dev.of_node,
+drivers/mfd/qcom-pm8xxx.c:	if (!chip->irqdomain)
+drivers/mfd/qcom-pm8xxx.c:		irq_domain_remove(chip->irqdomain);
+drivers/mfd/qcom-pm8xxx.c:	irq_domain_remove(chip->irqdomain);
+drivers/mfd/retu-mfd.c:	ret = retu_write(rdev, rdat->irq_chip->mask_base, 0xffff);
+drivers/mfd/sm501.c:	if (smc501_readl(smchip->control) & bit) {
+drivers/mfd/sm501.c:		dev_info(sm501_gpio_to_dev(smchip->ourgpio)->dev,
+drivers/mfd/sm501.c:		ctrl = smc501_readl(smchip->control);
+drivers/mfd/sm501.c:		smc501_writel(ctrl, smchip->control);
+drivers/mfd/sm501.c:		sm501_sync_regs(sm501_gpio_to_dev(smchip->ourgpio));
+drivers/mfd/sm501.c:	struct sm501_gpio *smgpio = smchip->ourgpio;
+drivers/mfd/sm501.c:	void __iomem *regs = smchip->regbase;
+drivers/mfd/sm501.c:	struct sm501_gpio *smgpio = smchip->ourgpio;
+drivers/mfd/sm501.c:	void __iomem *regs = smchip->regbase;
+drivers/mfd/sm501.c:	struct sm501_gpio *smgpio = smchip->ourgpio;
+drivers/mfd/sm501.c:	void __iomem *regs = smchip->regbase;
+drivers/mfd/sm501.c:	struct gpio_chip *gchip = &chip->gpio;
+drivers/mfd/sm501.c:	chip->gpio = gpio_chip_template;
+drivers/mfd/sm501.c:		chip->regbase = gpio->regs + SM501_GPIO_DATA_HIGH;
+drivers/mfd/sm501.c:		chip->control = sm->regs + SM501_GPIO63_32_CONTROL;
+drivers/mfd/sm501.c:		gchip->label  = "SM501-HIGH";
+drivers/mfd/sm501.c:		chip->regbase = gpio->regs + SM501_GPIO_DATA_LOW;
+drivers/mfd/sm501.c:		chip->control = sm->regs + SM501_GPIO31_0_CONTROL;
+drivers/mfd/sm501.c:		gchip->label  = "SM501-LOW";
+drivers/mfd/sm501.c:	gchip->base   = base;
+drivers/mfd/sm501.c:	chip->ourgpio = gpio;
+drivers/mfd/sm501.c:	/* Create a gpiod lookup using gpiochip-local offsets */
+drivers/mfd/vexpress-sysreg.c:	mmc_gpio_chip->ngpio = 2;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	if (chip->prox_en)
+drivers/misc/apds990x.c:	lux = lux * (APDS_CALIB_SCALER / 4) / (chip->lux_calib / 4);
+drivers/misc/apds990x.c:	cpl = ((u32)chip->atime * (u32)again[chip->again_next] *
+drivers/misc/apds990x.c:		APDS_PARAM_SCALE * 64) / (chip->cf.ga * chip->cf.df);
+drivers/misc/apds990x.c:	ir = (u32)chip->lux_ir * (u32)again[chip->again_next] /
+drivers/misc/apds990x.c:		(u32)again[chip->again_meas];
+drivers/misc/apds990x.c:	if (chip->lux_clear * APDS_PARAM_SCALE >=
+drivers/misc/apds990x.c:		chip->rcf.afactor * chip->lux_ir)
+drivers/misc/apds990x.c:		thres = (chip->rcf.cf1 * thres + chip->rcf.irf1 * ir) /
+drivers/misc/apds990x.c:		thres = (chip->rcf.cf2 * thres + chip->rcf.irf2 * ir) /
+drivers/misc/apds990x.c:	if (thres >= chip->a_max_result)
+drivers/misc/apds990x.c:		thres = chip->a_max_result - 1;
+drivers/misc/apds990x.c:	chip->atime = time_ms;
+drivers/misc/apds990x.c:	chip->a_max_result = (u16)(256 - reg_value) * APDS990X_TIME_TO_ADC;
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/apds990x.c:	if (data < chip->prox_thres) {
+drivers/misc/apds990x.c:		hi = chip->prox_thres;
+drivers/misc/apds990x.c:		lo = chip->prox_thres - APDS_PROX_HYSTERESIS;
+drivers/misc/apds990x.c:		if (chip->prox_continuous_mode)
+drivers/misc/apds990x.c:			hi = chip->prox_thres;
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/apds990x.c:			apds990x_lux_to_threshold(chip, chip->lux_thres_lo));
+drivers/misc/apds990x.c:			apds990x_lux_to_threshold(chip, chip->lux_thres_hi));
+drivers/misc/apds990x.c:	int curr_again = chip->again_meas;
+drivers/misc/apds990x.c:	int next_again = chip->again_meas;
+drivers/misc/apds990x.c:	if (chip->lux_clear == chip->a_max_result)
+drivers/misc/apds990x.c:	else if (chip->lux_clear > chip->a_max_result / 2)
+drivers/misc/apds990x.c:	else if (chip->lux_clear < APDS_LUX_GAIN_LO_LIMIT_STRICT)
+drivers/misc/apds990x.c:	else if (chip->lux_clear < APDS_LUX_GAIN_LO_LIMIT)
+drivers/misc/apds990x.c:	if (chip->lux_clear == chip->a_max_result)
+drivers/misc/apds990x.c:		chip->lux_clear < APDS_LUX_GAIN_LO_LIMIT_STRICT)
+drivers/misc/apds990x.c:	chip->again_next = next_again;
+drivers/misc/apds990x.c:			(chip->pdrive << 6) |
+drivers/misc/apds990x.c:			(chip->pdiode << 4) |
+drivers/misc/apds990x.c:			(chip->pgain << 2) |
+drivers/misc/apds990x.c:			(chip->again_next << 0));
+drivers/misc/apds990x.c:	iac1 = (chip->cf.cf1 * clear - chip->cf.irf1 * ir) / APDS_PARAM_SCALE;
+drivers/misc/apds990x.c:	iac2 = (chip->cf.cf2 * clear - chip->cf.irf2 * ir) / APDS_PARAM_SCALE;
+drivers/misc/apds990x.c:	lpc = APDS990X_LUX_OUTPUT_SCALE * (chip->cf.df * chip->cf.ga) /
+drivers/misc/apds990x.c:		(u32)(again[chip->again_meas] * (u32)chip->atime);
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	if (!pm_runtime_suspended(&chip->client->dev)) {
+drivers/misc/apds990x.c:					&chip->lux_clear);
+drivers/misc/apds990x.c:					&chip->lux_ir);
+drivers/misc/apds990x.c:			chip->again_meas = chip->again_next;
+drivers/misc/apds990x.c:			chip->lux_raw = apds990x_get_lux(chip,
+drivers/misc/apds990x.c:							chip->lux_clear,
+drivers/misc/apds990x.c:							chip->lux_ir);
+drivers/misc/apds990x.c:				chip->lux = chip->lux_raw;
+drivers/misc/apds990x.c:				chip->lux_wait_fresh_res = false;
+drivers/misc/apds990x.c:				wake_up(&chip->wait);
+drivers/misc/apds990x.c:				sysfs_notify(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:		if ((status & APDS990X_ST_PINT) && chip->prox_en) {
+drivers/misc/apds990x.c:			if (chip->again_meas == 0 &&
+drivers/misc/apds990x.c:				clr_ch == chip->a_max_result)
+drivers/misc/apds990x.c:				chip->prox_data = 0;
+drivers/misc/apds990x.c:						&chip->prox_data);
+drivers/misc/apds990x.c:			apds990x_refresh_pthres(chip, chip->prox_data);
+drivers/misc/apds990x.c:			if (chip->prox_data < chip->prox_thres)
+drivers/misc/apds990x.c:				chip->prox_data = 0;
+drivers/misc/apds990x.c:			else if (!chip->prox_continuous_mode)
+drivers/misc/apds990x.c:				chip->prox_data = APDS_PROX_RANGE;
+drivers/misc/apds990x.c:			sysfs_notify(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:			(chip->lux_persistence << APDS990X_APERS_SHIFT) |
+drivers/misc/apds990x.c:			(chip->prox_persistence << APDS990X_PPERS_SHIFT));
+drivers/misc/apds990x.c:	apds990x_write_byte(chip, APDS990X_PPCOUNT, chip->pdata->ppcount);
+drivers/misc/apds990x.c:	chip->again_meas = 1;
+drivers/misc/apds990x.c:	chip->again_next = 1;
+drivers/misc/apds990x.c:			(chip->pdrive << 6) |
+drivers/misc/apds990x.c:			(chip->pdiode << 4) |
+drivers/misc/apds990x.c:			(chip->pgain << 2) |
+drivers/misc/apds990x.c:			(chip->again_next << 0));
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	ret = apds990x_read_byte(chip, APDS990X_REV, &chip->revision);
+drivers/misc/apds990x.c:		snprintf(chip->chipname, sizeof(chip->chipname), "APDS-990x");
+drivers/misc/apds990x.c:	int err	 = regulator_bulk_enable(ARRAY_SIZE(chip->regs),
+drivers/misc/apds990x.c:					chip->regs);
+drivers/misc/apds990x.c:	chip->prox_data = 0;
+drivers/misc/apds990x.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	timeout = wait_event_interruptible_timeout(chip->wait,
+drivers/misc/apds990x.c:						!chip->lux_wait_fresh_res,
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	result = (chip->lux * chip->lux_calib) / APDS_CALIB_SCALER;
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	return sprintf(buf, "%u\n", chip->lux_calib);
+drivers/misc/apds990x.c:	chip->lux_calib = value;
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->arate);
+drivers/misc/apds990x.c:	chip->lux_persistence = apersis[i];
+drivers/misc/apds990x.c:	chip->arate = arates_hz[i];
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/apds990x.c:			(chip->lux_persistence << APDS990X_APERS_SHIFT) |
+drivers/misc/apds990x.c:			(chip->prox_persistence << APDS990X_PPERS_SHIFT));
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(dev) || !chip->prox_en)
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	ret = sprintf(buf, "%d\n", chip->prox_data);
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->prox_en);
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	if (!chip->prox_en)
+drivers/misc/apds990x.c:		chip->prox_data = 0;
+drivers/misc/apds990x.c:		chip->prox_en++;
+drivers/misc/apds990x.c:	else if (chip->prox_en > 0)
+drivers/misc/apds990x.c:		chip->prox_en--;
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:		reporting_modes[!!chip->prox_continuous_mode]);
+drivers/misc/apds990x.c:	chip->prox_continuous_mode = ret;
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->lux_thres_hi);
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->lux_thres_lo);
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	if (!chip->lux_wait_fresh_res)
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	int ret = apds990x_set_lux_thresh(chip, &chip->lux_thres_hi, buf);
+drivers/misc/apds990x.c:	int ret = apds990x_set_lux_thresh(chip, &chip->lux_thres_lo, buf);
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->prox_thres);
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	chip->prox_thres = value;
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:		mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:		chip->lux_wait_fresh_res = true;
+drivers/misc/apds990x.c:		mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	return sprintf(buf, "%s %d\n", chip->chipname, chip->revision);
+drivers/misc/apds990x.c:	chip->client  = client;
+drivers/misc/apds990x.c:	init_waitqueue_head(&chip->wait);
+drivers/misc/apds990x.c:	mutex_init(&chip->mutex);
+drivers/misc/apds990x.c:	chip->pdata	= client->dev.platform_data;
+drivers/misc/apds990x.c:	if (chip->pdata == NULL) {
+drivers/misc/apds990x.c:	if (chip->pdata->cf.ga == 0) {
+drivers/misc/apds990x.c:		chip->cf.ga = 1966; /* 0.48 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.cf1 = 4096; /* 1.00 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.irf1 = 9134; /* 2.23 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.cf2 = 2867; /* 0.70 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.irf2 = 5816; /* 1.42 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.df = 52;
+drivers/misc/apds990x.c:		chip->cf = chip->pdata->cf;
+drivers/misc/apds990x.c:	chip->rcf.afactor =
+drivers/misc/apds990x.c:		(chip->cf.irf1 - chip->cf.irf2) * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		(chip->cf.cf1 - chip->cf.cf2);
+drivers/misc/apds990x.c:	chip->rcf.cf1 = APDS_PARAM_SCALE * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf1;
+drivers/misc/apds990x.c:	chip->rcf.irf1 = chip->cf.irf1 * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf1;
+drivers/misc/apds990x.c:	chip->rcf.cf2 = APDS_PARAM_SCALE * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf2;
+drivers/misc/apds990x.c:	chip->rcf.irf2 = chip->cf.irf2 * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf2;
+drivers/misc/apds990x.c:	chip->lux_thres_hi = APDS_LUX_DEF_THRES_HI;
+drivers/misc/apds990x.c:	chip->lux_thres_lo = APDS_LUX_DEF_THRES_LO;
+drivers/misc/apds990x.c:	chip->lux_calib = APDS_LUX_NEUTRAL_CALIB_VALUE;
+drivers/misc/apds990x.c:	chip->prox_thres = APDS_PROX_DEF_THRES;
+drivers/misc/apds990x.c:	chip->pdrive = chip->pdata->pdrive;
+drivers/misc/apds990x.c:	chip->pdiode = APDS_PDIODE_IR;
+drivers/misc/apds990x.c:	chip->pgain = APDS_PGAIN_1X;
+drivers/misc/apds990x.c:	chip->prox_calib = APDS_PROX_NEUTRAL_CALIB_VALUE;
+drivers/misc/apds990x.c:	chip->prox_persistence = APDS_DEFAULT_PROX_PERS;
+drivers/misc/apds990x.c:	chip->prox_continuous_mode = false;
+drivers/misc/apds990x.c:	chip->regs[0].supply = reg_vcc;
+drivers/misc/apds990x.c:	chip->regs[1].supply = reg_vled;
+drivers/misc/apds990x.c:				 ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	err = regulator_bulk_enable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	if (chip->pdata->setup_resources) {
+drivers/misc/apds990x.c:		err = chip->pdata->setup_resources();
+drivers/misc/apds990x.c:	err = sysfs_create_group(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:		dev_err(&chip->client->dev, "Sysfs registration failed\n");
+drivers/misc/apds990x.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:	if (chip->pdata && chip->pdata->release_resources)
+drivers/misc/apds990x.c:		chip->pdata->release_resources();
+drivers/misc/apds990x.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	regulator_bulk_free(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:	if (chip->pdata && chip->pdata->release_resources)
+drivers/misc/apds990x.c:		chip->pdata->release_resources();
+drivers/misc/apds990x.c:	regulator_bulk_free(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c: * interrupt control functions are called while keeping chip->mutex
+drivers/misc/bh1770glc.c:	chip->int_mode_lux = lux;
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:					(lux << 1) | chip->int_mode_prox);
+drivers/misc/bh1770glc.c:	chip->int_mode_prox = ps;
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:					(chip->int_mode_lux << 1) | (ps << 0));
+drivers/misc/bh1770glc.c:/* chip->mutex is always kept here */
+drivers/misc/bh1770glc.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/bh1770glc.c:	if (chip->prox_enable_count)
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:		chip->prox_rate_threshold : chip->prox_rate;
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:					chip->prox_led);
+drivers/misc/bh1770glc.c:	adjusted = (u16)(((u32)(psraw + chip->prox_const) * chip->prox_coef) /
+drivers/misc/bh1770glc.c:	raw = (((u32)ps * BH1770_COEF_SCALER) / chip->prox_coef);
+drivers/misc/bh1770glc.c:	if (raw > chip->prox_const)
+drivers/misc/bh1770glc.c:		raw = raw - chip->prox_const;
+drivers/misc/bh1770glc.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/bh1770glc.c:	tmp = bh1770_psadjusted_to_raw(chip, chip->prox_threshold);
+drivers/misc/bh1770glc.c:	chip->prox_threshold_hw = tmp;
+drivers/misc/bh1770glc.c:	return	i2c_smbus_write_byte_data(chip->client, BH1770_PS_TH_LED1,
+drivers/misc/bh1770glc.c:	lux = ((u32)raw * chip->lux_corr) / BH1770_LUX_CORR_SCALE;
+drivers/misc/bh1770glc.c:	return (u32)adjusted * BH1770_LUX_CORR_SCALE / chip->lux_corr;
+drivers/misc/bh1770glc.c:/* chip->mutex is kept when this is called */
+drivers/misc/bh1770glc.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/bh1770glc.c:	if (chip->lux_thres_hi_onchip == threshold_hi &&
+drivers/misc/bh1770glc.c:	    chip->lux_thres_lo_onchip == threshold_lo)
+drivers/misc/bh1770glc.c:	chip->lux_thres_hi_onchip = threshold_hi;
+drivers/misc/bh1770glc.c:	chip->lux_thres_lo_onchip = threshold_lo;
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_write_i2c_block_data(chip->client,
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_read_byte_data(chip->client, BH1770_ALS_DATA_0);
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_read_byte_data(chip->client, BH1770_ALS_DATA_1);
+drivers/misc/bh1770glc.c:	chip->lux_data_raw = data | ((ret & 0xff) << 8);
+drivers/misc/bh1770glc.c:	tmp = (BH1770_LUX_CORR_SCALE * chip->lux_ga) / BH1770_LUX_GA_SCALE;
+drivers/misc/bh1770glc.c:	tmp = (tmp * chip->lux_cf) / BH1770_LUX_CF_SCALE;
+drivers/misc/bh1770glc.c:	tmp = (tmp * chip->lux_calib) / BH1770_CALIB_SCALER;
+drivers/misc/bh1770glc.c:	return bh1770_lux_raw_to_adjusted(chip, chip->lux_data_raw);
+drivers/misc/bh1770glc.c:	int ret = regulator_bulk_enable(ARRAY_SIZE(chip->regs),
+drivers/misc/bh1770glc.c:					chip->regs);
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client, BH1770_ALS_CONTROL,
+drivers/misc/bh1770glc.c:	chip->lux_data_raw = 0;
+drivers/misc/bh1770glc.c:	chip->prox_data = 0;
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	chip->lux_thres_hi_onchip = BH1770_LUX_RANGE;
+drivers/misc/bh1770glc.c:	chip->lux_thres_lo_onchip = 0;
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:/* chip->mutex is kept when this is called */
+drivers/misc/bh1770glc.c:	if (chip->prox_enable_count) {
+drivers/misc/bh1770glc.c:		chip->prox_force_update = true; /* Force immediate update */
+drivers/misc/bh1770glc.c:		bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:		chip->prox_data = 0;
+drivers/misc/bh1770glc.c:		bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:/* chip->mutex is kept when this is called */
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_read_byte_data(chip->client, BH1770_PS_DATA_LED1);
+drivers/misc/bh1770glc.c:	if (ret > chip->prox_threshold_hw)
+drivers/misc/bh1770glc.c:	if (chip->lux_data_raw > PROX_IGNORE_LUX_LIMIT)
+drivers/misc/bh1770glc.c:	chip->prox_data = bh1770_psraw_to_adjusted(chip, ret);
+drivers/misc/bh1770glc.c:	if (chip->prox_data >= chip->prox_abs_thres ||
+drivers/misc/bh1770glc.c:	    chip->prox_force_update)
+drivers/misc/bh1770glc.c:		chip->prox_persistence_counter = chip->prox_persistence;
+drivers/misc/bh1770glc.c:	chip->prox_force_update = false;
+drivers/misc/bh1770glc.c:		if (chip->prox_persistence_counter < chip->prox_persistence) {
+drivers/misc/bh1770glc.c:			chip->prox_persistence_counter++;
+drivers/misc/bh1770glc.c:		chip->prox_persistence_counter = 0;
+drivers/misc/bh1770glc.c:		chip->prox_data = 0;
+drivers/misc/bh1770glc.c:		sysfs_notify(&chip->client->dev.kobj, NULL, "prox0_raw");
+drivers/misc/bh1770glc.c:	struct i2c_client *client = chip->client;
+drivers/misc/bh1770glc.c:	chip->revision = (part & BH1770_REV_MASK) >> BH1770_REV_SHIFT;
+drivers/misc/bh1770glc.c:	chip->prox_coef = BH1770_COEF_SCALER;
+drivers/misc/bh1770glc.c:	chip->prox_const = 0;
+drivers/misc/bh1770glc.c:	chip->lux_cf = BH1770_NEUTRAL_CF;
+drivers/misc/bh1770glc.c:		snprintf(chip->chipname, sizeof(chip->chipname), "BH1770GLC");
+drivers/misc/bh1770glc.c:		snprintf(chip->chipname, sizeof(chip->chipname), "SFH7770");
+drivers/misc/bh1770glc.c:		chip->prox_coef = 819; /* 0.8 * BH1770_COEF_SCALER */
+drivers/misc/bh1770glc.c:		chip->prox_const = 40;
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	status = i2c_smbus_read_byte_data(chip->client, BH1770_ALS_PS_STATUS);
+drivers/misc/bh1770glc.c:	i2c_smbus_read_byte_data(chip->client, BH1770_INTERRUPT);
+drivers/misc/bh1770glc.c:		if (unlikely(chip->lux_wait_result)) {
+drivers/misc/bh1770glc.c:			chip->lux_wait_result = false;
+drivers/misc/bh1770glc.c:			wake_up(&chip->wait);
+drivers/misc/bh1770glc.c:						chip->lux_threshold_hi,
+drivers/misc/bh1770glc.c:						chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client, BH1770_INTERRUPT,
+drivers/misc/bh1770glc.c:		sysfs_notify(&chip->client->dev.kobj, NULL, "lux0_input");
+drivers/misc/bh1770glc.c:	if (chip->int_mode_prox && (status & BH1770_INT_LEDS_INT)) {
+drivers/misc/bh1770glc.c:		rate = prox_rates_ms[chip->prox_rate_threshold];
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client, BH1770_INTERRUPT,
+drivers/misc/bh1770glc.c:				  (chip->int_mode_lux << 1) |
+drivers/misc/bh1770glc.c:				  (chip->int_mode_prox << 0));
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:		cancel_delayed_work_sync(&chip->prox_work);
+drivers/misc/bh1770glc.c:		schedule_delayed_work(&chip->prox_work,
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:		ret = bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		chip->lux_wait_result = true;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	timeout = wait_event_interruptible_timeout(chip->wait,
+drivers/misc/bh1770glc.c:					!chip->lux_wait_result,
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	if (!chip->prox_enable_count)
+drivers/misc/bh1770glc.c:		chip->prox_data = 0;
+drivers/misc/bh1770glc.c:		chip->prox_enable_count++;
+drivers/misc/bh1770glc.c:	else if (chip->prox_enable_count > 0)
+drivers/misc/bh1770glc.c:		chip->prox_enable_count--;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	len = sprintf(buf, "%d\n", chip->prox_enable_count);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	if (chip->prox_enable_count && !pm_runtime_suspended(dev))
+drivers/misc/bh1770glc.c:		ret = sprintf(buf, "%d\n", chip->prox_data);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", prox_rates_hz[chip->prox_rate_threshold]);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", prox_rates_hz[chip->prox_rate]);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->prox_rate_threshold = bh1770_prox_rate_validate(value);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->prox_rate = bh1770_prox_rate_validate(value);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", chip->prox_threshold);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->prox_threshold = value;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%u\n", chip->prox_persistence);
+drivers/misc/bh1770glc.c:	chip->prox_persistence = value;
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%u\n", chip->prox_abs_thres);
+drivers/misc/bh1770glc.c:	chip->prox_abs_thres = value;
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%s rev %d\n", chip->chipname, chip->revision);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	len = sprintf(buf, "%u\n", chip->lux_calib);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	old_calib = chip->lux_calib;
+drivers/misc/bh1770glc.c:	chip->lux_calib = value;
+drivers/misc/bh1770glc.c:		chip->lux_calib = old_calib;
+drivers/misc/bh1770glc.c:		mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->lux_corr = new_corr;
+drivers/misc/bh1770glc.c:	bh1770_lux_update_thresholds(chip, chip->lux_threshold_hi,
+drivers/misc/bh1770glc.c:				chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", lux_rates_hz[chip->lux_rate_index]);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->lux_rate_index = i;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", chip->lux_threshold_hi);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	if (!chip->lux_wait_result)
+drivers/misc/bh1770glc.c:						chip->lux_threshold_hi,
+drivers/misc/bh1770glc.c:						chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	int ret = bh1770_set_lux_thresh(chip, &chip->lux_threshold_hi, buf);
+drivers/misc/bh1770glc.c:	int ret = bh1770_set_lux_thresh(chip, &chip->lux_threshold_lo, buf);
+drivers/misc/bh1770glc.c:	chip->client  = client;
+drivers/misc/bh1770glc.c:	mutex_init(&chip->mutex);
+drivers/misc/bh1770glc.c:	init_waitqueue_head(&chip->wait);
+drivers/misc/bh1770glc.c:	INIT_DELAYED_WORK(&chip->prox_work, bh1770_prox_work);
+drivers/misc/bh1770glc.c:	chip->pdata		= client->dev.platform_data;
+drivers/misc/bh1770glc.c:	chip->lux_calib		= BH1770_LUX_NEUTRAL_CALIB_VALUE;
+drivers/misc/bh1770glc.c:	chip->lux_rate_index	= BH1770_LUX_DEFAULT_RATE;
+drivers/misc/bh1770glc.c:	chip->lux_threshold_lo	= BH1770_LUX_DEF_THRES;
+drivers/misc/bh1770glc.c:	chip->lux_threshold_hi	= BH1770_LUX_DEF_THRES;
+drivers/misc/bh1770glc.c:	if (chip->pdata->glass_attenuation == 0)
+drivers/misc/bh1770glc.c:		chip->lux_ga = BH1770_NEUTRAL_GA;
+drivers/misc/bh1770glc.c:		chip->lux_ga = chip->pdata->glass_attenuation;
+drivers/misc/bh1770glc.c:	chip->prox_threshold	= BH1770_PROX_DEF_THRES;
+drivers/misc/bh1770glc.c:	chip->prox_led		= chip->pdata->led_def_curr;
+drivers/misc/bh1770glc.c:	chip->prox_abs_thres	= BH1770_PROX_DEF_ABS_THRES;
+drivers/misc/bh1770glc.c:	chip->prox_persistence	= BH1770_DEFAULT_PERSISTENCE;
+drivers/misc/bh1770glc.c:	chip->prox_rate_threshold = BH1770_PROX_DEF_RATE_THRESH;
+drivers/misc/bh1770glc.c:	chip->prox_rate		= BH1770_PROX_DEFAULT_RATE;
+drivers/misc/bh1770glc.c:	chip->prox_data		= 0;
+drivers/misc/bh1770glc.c:	chip->regs[0].supply = reg_vcc;
+drivers/misc/bh1770glc.c:	chip->regs[1].supply = reg_vleds;
+drivers/misc/bh1770glc.c:				      ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:	err = regulator_bulk_enable(ARRAY_SIZE(chip->regs),
+drivers/misc/bh1770glc.c:				chip->regs);
+drivers/misc/bh1770glc.c:	chip->lux_corr = bh1770_get_corr_value(chip);
+drivers/misc/bh1770glc.c:	if (chip->lux_corr == 0) {
+drivers/misc/bh1770glc.c:	if (chip->pdata->setup_resources) {
+drivers/misc/bh1770glc.c:		err = chip->pdata->setup_resources();
+drivers/misc/bh1770glc.c:	err = sysfs_create_group(&chip->client->dev.kobj,
+drivers/misc/bh1770glc.c:		dev_err(&chip->client->dev, "Sysfs registration failed\n");
+drivers/misc/bh1770glc.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/bh1770glc.c:	if (chip->pdata->release_resources)
+drivers/misc/bh1770glc.c:		chip->pdata->release_resources();
+drivers/misc/bh1770glc.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/bh1770glc.c:	if (chip->pdata->release_resources)
+drivers/misc/bh1770glc.c:		chip->pdata->release_resources();
+drivers/misc/bh1770glc.c:	cancel_delayed_work_sync(&chip->prox_work);
+drivers/misc/bh1770glc.c:		ret = bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		chip->lux_wait_result = true;
+drivers/misc/cb710/core.c:	struct cb710_slot *slot = &chip->slot[0];
+drivers/misc/cb710/core.c:	spin_lock(&chip->irq_lock); /* incl. smp_rmb() */
+drivers/misc/cb710/core.c:	for (nr = chip->slots; nr; ++slot, --nr) {
+drivers/misc/cb710/core.c:	spin_unlock(&chip->irq_lock);
+drivers/misc/cb710/core.c:	atomic_dec(&chip->slot_refs_count);
+drivers/misc/cb710/core.c:	int nr = chip->slots;
+drivers/misc/cb710/core.c:	struct cb710_slot *slot = &chip->slot[nr];
+drivers/misc/cb710/core.c:		name, chip->platform_id, nr, slot_mask, io_offset);
+drivers/misc/cb710/core.c:	++chip->slots;
+drivers/misc/cb710/core.c:	slot->iobase = chip->iobase + io_offset;
+drivers/misc/cb710/core.c:	slot->pdev.id = chip->platform_id;
+drivers/misc/cb710/core.c:	slot->pdev.dev.parent = &chip->pdev->dev;
+drivers/misc/cb710/core.c:	atomic_inc(&chip->slot_refs_count);
+drivers/misc/cb710/core.c:		--chip->slots;
+drivers/misc/cb710/core.c:	chip->slot_mask |= slot_mask;
+drivers/misc/cb710/core.c:	int nr = chip->slots - 1;
+drivers/misc/cb710/core.c:	if (!(chip->slot_mask & slot_mask))
+drivers/misc/cb710/core.c:	platform_device_unregister(&chip->slot[nr].pdev);
+drivers/misc/cb710/core.c:	BUG_ON(chip->slot[nr].irq_handler != NULL);
+drivers/misc/cb710/core.c:	--chip->slots;
+drivers/misc/cb710/core.c:	chip->slot_mask &= ~slot_mask;
+drivers/misc/cb710/core.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/misc/cb710/core.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/misc/cb710/core.c:	spin_lock_init(&chip->irq_lock);
+drivers/misc/cb710/core.c:	chip->pdev = pdev;
+drivers/misc/cb710/core.c:	chip->iobase = pcim_iomap_table(pdev)[0];
+drivers/misc/cb710/core.c:	chip->platform_id = err;
+drivers/misc/cb710/core.c:		chip->platform_id, chip->iobase, pdev->irq);
+drivers/misc/cb710/core.c:	BUG_ON(atomic_read(&chip->slot_refs_count) != 0);
+drivers/misc/cb710/core.c:	BUG_ON(atomic_read(&chip->slot_refs_count) != 0);
+drivers/misc/cb710/core.c:	ida_free(&cb710_ida, chip->platform_id);
+drivers/misc/cb710/debug.c:	cb710_read_regs_##t(chip->iobase, regs, select);		\
+drivers/misc/cs5535-mfgpt.c:		spin_lock_irqsave(&timer->chip->lock, flags);
+drivers/misc/cs5535-mfgpt.c:		__set_bit(timer->nr, timer->chip->avail);
+drivers/misc/cs5535-mfgpt.c:		spin_unlock_irqrestore(&timer->chip->lock, flags);
+drivers/misc/cs5535-mfgpt.c:	return inw(timer->chip->base + reg + (timer->nr * 8));
+drivers/misc/cs5535-mfgpt.c:	outw(value, timer->chip->base + reg + (timer->nr * 8));
+drivers/misc/cxl/pci.c:	while (np && !(prop = of_get_property(np, "ibm,chip-id", NULL)))
+drivers/misc/eeprom/at25.c:	strncpy(chip->name, "at25", sizeof(chip->name));
+drivers/misc/eeprom/at25.c:		chip->byte_len = val;
+drivers/misc/eeprom/at25.c:		chip->page_size = (u16)val;
+drivers/misc/eeprom/at25.c:		chip->flags = (u16)val;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_INSTR_BIT3_IS_ADDR;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_ADDR1;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_ADDR2;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_ADDR3;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_READONLY;
+drivers/misc/pch_phub.c:	void __iomem *reg_addr = chip->pch_phub_base_address + reg_addr_offset;
+drivers/misc/pch_phub.c:	void __iomem *p = chip->pch_phub_base_address;
+drivers/misc/pch_phub.c:	chip->phub_id_reg = ioread32(p + PCH_PHUB_ID_REG);
+drivers/misc/pch_phub.c:	chip->q_pri_val_reg = ioread32(p + PCH_PHUB_QUEUE_PRI_VAL_REG);
+drivers/misc/pch_phub.c:	chip->rc_q_maxsize_reg = ioread32(p + PCH_PHUB_RC_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	chip->bri_q_maxsize_reg = ioread32(p + PCH_PHUB_BRI_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	chip->comp_resp_timeout_reg =
+drivers/misc/pch_phub.c:	chip->bus_slave_control_reg =
+drivers/misc/pch_phub.c:	chip->deadlock_avoid_type_reg =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg0 =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg1 =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg2 =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg3 =
+drivers/misc/pch_phub.c:		"chip->phub_id_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->q_pri_val_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->rc_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bri_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->comp_resp_timeout_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bus_slave_control_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->deadlock_avoid_type_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg0=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg1=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg2=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg3=%x\n", __func__,
+drivers/misc/pch_phub.c:		chip->phub_id_reg,
+drivers/misc/pch_phub.c:		chip->q_pri_val_reg,
+drivers/misc/pch_phub.c:		chip->rc_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->bri_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->comp_resp_timeout_reg,
+drivers/misc/pch_phub.c:		chip->bus_slave_control_reg,
+drivers/misc/pch_phub.c:		chip->deadlock_avoid_type_reg,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg0,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg1,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg2,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg3);
+drivers/misc/pch_phub.c:		chip->int_reduce_control_reg[i] =
+drivers/misc/pch_phub.c:			"chip->int_reduce_control_reg[%d]=%x\n",
+drivers/misc/pch_phub.c:			__func__, i, chip->int_reduce_control_reg[i]);
+drivers/misc/pch_phub.c:	chip->clkcfg_reg = ioread32(p + CLKCFG_REG_OFFSET);
+drivers/misc/pch_phub.c:	if ((chip->ioh_type == 2) || (chip->ioh_type == 4))
+drivers/misc/pch_phub.c:		chip->funcsel_reg = ioread32(p + FUNCSEL_REG_OFFSET);
+drivers/misc/pch_phub.c:	p = chip->pch_phub_base_address;
+drivers/misc/pch_phub.c:	iowrite32(chip->phub_id_reg, p + PCH_PHUB_ID_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->q_pri_val_reg, p + PCH_PHUB_QUEUE_PRI_VAL_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->rc_q_maxsize_reg, p + PCH_PHUB_RC_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->bri_q_maxsize_reg, p + PCH_PHUB_BRI_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->comp_resp_timeout_reg,
+drivers/misc/pch_phub.c:	iowrite32(chip->bus_slave_control_reg,
+drivers/misc/pch_phub.c:	iowrite32(chip->deadlock_avoid_type_reg,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg0,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg1,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg2,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg3,
+drivers/misc/pch_phub.c:		"chip->phub_id_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->q_pri_val_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->rc_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bri_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->comp_resp_timeout_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bus_slave_control_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->deadlock_avoid_type_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg0=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg1=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg2=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg3=%x\n", __func__,
+drivers/misc/pch_phub.c:		chip->phub_id_reg,
+drivers/misc/pch_phub.c:		chip->q_pri_val_reg,
+drivers/misc/pch_phub.c:		chip->rc_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->bri_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->comp_resp_timeout_reg,
+drivers/misc/pch_phub.c:		chip->bus_slave_control_reg,
+drivers/misc/pch_phub.c:		chip->deadlock_avoid_type_reg,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg0,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg1,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg2,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg3);
+drivers/misc/pch_phub.c:		iowrite32(chip->int_reduce_control_reg[i],
+drivers/misc/pch_phub.c:			"chip->int_reduce_control_reg[%d]=%x\n",
+drivers/misc/pch_phub.c:			__func__, i, chip->int_reduce_control_reg[i]);
+drivers/misc/pch_phub.c:	iowrite32(chip->clkcfg_reg, p + CLKCFG_REG_OFFSET);
+drivers/misc/pch_phub.c:	if ((chip->ioh_type == 2) || (chip->ioh_type == 4))
+drivers/misc/pch_phub.c:		iowrite32(chip->funcsel_reg, p + FUNCSEL_REG_OFFSET);
+drivers/misc/pch_phub.c:	void __iomem *mem_addr = chip->pch_phub_extrom_base_address +
+drivers/misc/pch_phub.c:	void __iomem *mem_addr = chip->pch_phub_extrom_base_address +
+drivers/misc/pch_phub.c:			chip->pch_phub_extrom_base_address + PHUB_CONTROL);
+drivers/misc/pch_phub.c:	while (ioread8(chip->pch_phub_extrom_base_address +
+drivers/misc/pch_phub.c:			chip->pch_phub_extrom_base_address + PHUB_CONTROL);
+drivers/misc/pch_phub.c:	mem_addr = chip->pch_mac_start_address +
+drivers/misc/pch_phub.c:	mem_addr = chip->pch_mac_start_address +
+drivers/misc/pch_phub.c:	if ((chip->ioh_type == 1) || (chip->ioh_type == 5)) /* EG20T or ML7831*/
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address) {
+drivers/misc/pch_phub.c:	pch_phub_read_serial_rom(chip, chip->pch_opt_rom_start_address,
+drivers/misc/pch_phub.c:	pch_phub_read_serial_rom(chip, chip->pch_opt_rom_start_address + 1,
+drivers/misc/pch_phub.c:					 chip->pch_opt_rom_start_address + 2,
+drivers/misc/pch_phub.c:			    chip->pch_opt_rom_start_address + addr_offset + off,
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address) {
+drivers/misc/pch_phub.c:			    chip->pch_opt_rom_start_address + addr_offset + off,
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address)
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address)
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_base_address = pci_iomap(pdev, 1, 0);
+drivers/misc/pch_phub.c:	if (chip->pch_phub_base_address == NULL) {
+drivers/misc/pch_phub.c:		chip->pch_phub_base_address);
+drivers/misc/pch_phub.c:	chip->pdev = pdev; /* Save pci device struct */
+drivers/misc/pch_phub.c:		iowrite32(prefetch, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		iowrite32(0x25, chip->pch_phub_base_address + 0x44);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:		iowrite32(0x000affa0, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address =\
+drivers/misc/pch_phub.c:		iowrite32(0x000a0000, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		iowrite32(0x25, chip->pch_phub_base_address + 0x140);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address =\
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;
+drivers/misc/pch_phub.c:		iowrite32(0x0000ffa0, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address =\
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;
+drivers/misc/pch_phub.c:		iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		iowrite32(0x25, chip->pch_phub_base_address + 0x44);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:	chip->ioh_type = id->driver_data;
+drivers/misc/pch_phub.c:	pci_iounmap(pdev, chip->pch_phub_base_address);
+drivers/misc/pch_phub.c:	pci_iounmap(pdev, chip->pch_phub_base_address);
+drivers/mmc/host/cb710-mmc.c:	pci_read_config_dword(chip->pdev, 0x48, &val);
+drivers/mmc/host/mmc_spi.c:				"can't change chip-select polarity\n");
+drivers/mmc/host/mmc_spi.c:					"can't restore chip-select polarity\n");
+drivers/mmc/host/sdhci-acpi.c:			host->ops            = c->slot->chip->ops;
+drivers/mmc/host/sdhci-acpi.c:			host->quirks        |= c->slot->chip->quirks;
+drivers/mmc/host/sdhci-acpi.c:			host->quirks2       |= c->slot->chip->quirks2;
+drivers/mmc/host/sdhci-acpi.c:			host->mmc->caps     |= c->slot->chip->caps;
+drivers/mmc/host/sdhci-acpi.c:			host->mmc->caps2    |= c->slot->chip->caps2;
+drivers/mmc/host/sdhci-acpi.c:			host->mmc->pm_caps  |= c->slot->chip->pm_caps;
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		struct sdhci_pci_slot *slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:		return device_wakeup_enable(&chip->pdev->dev);
+drivers/mmc/host/sdhci-pci-core.c:		return device_wakeup_disable(&chip->pdev->dev);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		struct sdhci_pci_slot *slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:		if (chip->pm_retune && host->tuning_mode != SDHCI_TUNING_MODE_3)
+drivers/mmc/host/sdhci-pci-core.c:		if (device_may_wakeup(&chip->pdev->dev))
+drivers/mmc/host/sdhci-pci-core.c:		sdhci_resume_host(chip->slots[i]->host);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:	ret = cqhci_suspend(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	return cqhci_resume(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:		if (chip->rpm_retune &&
+drivers/mmc/host/sdhci-pci-core.c:		sdhci_runtime_resume_host(chip->slots[i]->host, 0);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:	ret = cqhci_suspend(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	return cqhci_resume(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SONY)
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_NO_CARD_NO_RESET;
+drivers/mmc/host/sdhci-pci-core.c:	chip->num_slots = 1;
+drivers/mmc/host/sdhci-pci-core.c:	err = devm_gpio_request(&slot->chip->pdev->dev, gpio, "sd_cd");
+drivers/mmc/host/sdhci-pci-core.c:	devm_gpio_free(&slot->chip->pdev->dev, gpio);
+drivers/mmc/host/sdhci-pci-core.c:	dev_warn(&slot->chip->pdev->dev, "failed to setup card detect wake up\n");
+drivers/mmc/host/sdhci-pci-core.c:	struct device *dev = &slot->chip->pdev->dev;
+drivers/mmc/host/sdhci-pci-core.c:	slot->chip->rpm_retune = intel_host->d3_retune;
+drivers/mmc/host/sdhci-pci-core.c:	struct device *dev = &slot->chip->pdev->dev;
+drivers/mmc/host/sdhci-pci-core.c:	byt_ocp_setting(slot->chip->pdev);
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BSW_EMMC)
+drivers/mmc/host/sdhci-pci-core.c:	return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device != PCI_DEVICE_ID_INTEL_GLK_EMMC) {
+drivers/mmc/host/sdhci-pci-core.c:	struct device *dev = &slot->chip->pdev->dev;
+drivers/mmc/host/sdhci-pci-core.c:	struct sdhci_pci_slot *slot = chip->slots[0];
+drivers/mmc/host/sdhci-pci-core.c:	chip->rpm_retune = true;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
+drivers/mmc/host/sdhci-pci-core.c:	    !chip->rpm_retune)
+drivers/mmc/host/sdhci-pci-core.c:	status = acpi_evaluate_integer(ACPI_HANDLE(&slot->chip->pdev->dev),
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&slot->chip->pdev->dev,
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXT_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXTM_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_APL_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_SD)
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->subsystem_vendor == PCI_VENDOR_ID_NI &&
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->subsystem_device == PCI_SUBDEVICE_ID_NI_78E3)
+drivers/mmc/host/sdhci-pci-core.c:	byt_ocp_setting(chip->pdev);
+drivers/mmc/host/sdhci-pci-core.c:	byt_ocp_setting(chip->pdev);
+drivers/mmc/host/sdhci-pci-core.c:	device = ACPI_COMPANION(&slot->chip->pdev->dev);
+drivers/mmc/host/sdhci-pci-core.c:	unsigned int func = PCI_FUNC(slot->chip->pdev->devfn);
+drivers/mmc/host/sdhci-pci-core.c:	ret = pci_read_config_byte(chip->pdev, 0xAE, &scratch);
+drivers/mmc/host/sdhci-pci-core.c:	return pci_write_config_byte(chip->pdev, 0xAE, scratch);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->revision == 0) {
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_32BIT_DMA_ADDR |
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_SD)
+drivers/mmc/host/sdhci-pci-core.c:	else if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_SD)
+drivers/mmc/host/sdhci-pci-core.c:			if ((PCI_SLOT(chip->pdev->devfn) ==
+drivers/mmc/host/sdhci-pci-core.c:				(chip->pdev->bus == sd_dev->bus))
+drivers/mmc/host/sdhci-pci-core.c:			dev_info(&chip->pdev->dev, "Refusing to bind to "
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&chip->pdev->dev, "Failure enabling card power\n");
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD)
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_UNSTABLE_RO_DETECT;
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->revision == 0) {
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) {
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD)
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD)
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) {
+drivers/mmc/host/sdhci-pci-core.c:		for (i = 0; i < chip->num_slots; i++)
+drivers/mmc/host/sdhci-pci-core.c:			jmicron_enable_mmc(chip->slots[i]->host, 0);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) {
+drivers/mmc/host/sdhci-pci-core.c:		for (i = 0; i < chip->num_slots; i++)
+drivers/mmc/host/sdhci-pci-core.c:			jmicron_enable_mmc(chip->slots[i]->host, 1);
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&chip->pdev->dev, "Failure enabling card power\n");
+drivers/mmc/host/sdhci-pci-core.c:	if ((chip->pdev->class & 0x0000FF) == PCI_SDHCI_IFVENDOR) {
+drivers/mmc/host/sdhci-pci-core.c:		chip->pdev->class &= ~0x0000FF;
+drivers/mmc/host/sdhci-pci-core.c:		chip->pdev->class |= PCI_SDHCI_IFDMA;
+drivers/mmc/host/sdhci-pci-core.c:	dev_info(&slot->chip->pdev->dev, "SysKonnect CardBus2SDIO, "
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&slot->chip->pdev->dev,
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->revision == 0x10)
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_DELAY_AFTER_POWER;
+drivers/mmc/host/sdhci-pci-core.c:	struct pci_dev *pdev = slot->chip->pdev;
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks2 |= SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD;
+drivers/mmc/host/sdhci-pci-core.c:	struct pci_dev *pdev = slot->chip->pdev;
+drivers/mmc/host/sdhci-pci-core.c:	pdev = slot->chip->pdev;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->suspend)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->suspend(chip);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->resume)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->resume(chip);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->runtime_suspend)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->runtime_suspend(chip);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->runtime_resume)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->runtime_resume(chip);
+drivers/mmc/host/sdhci-pci-core.c:	size_t priv_size = chip->fixes ? chip->fixes->priv_size : 0;
+drivers/mmc/host/sdhci-pci-core.c:	host->ops = chip->fixes && chip->fixes->ops ?
+drivers/mmc/host/sdhci-pci-core.c:		    chip->fixes->ops :
+drivers/mmc/host/sdhci-pci-core.c:	host->quirks = chip->quirks;
+drivers/mmc/host/sdhci-pci-core.c:	host->quirks2 = chip->quirks2;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->probe_slot) {
+drivers/mmc/host/sdhci-pci-core.c:		ret = chip->fixes->probe_slot(slot);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->add_host)
+drivers/mmc/host/sdhci-pci-core.c:		ret = chip->fixes->add_host(slot);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->own_cd_for_runtime_pm &&
+drivers/mmc/host/sdhci-pci-core.c:		chip->allow_runtime_pm = false;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->remove_slot)
+drivers/mmc/host/sdhci-pci-core.c:		chip->fixes->remove_slot(slot, 0);
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->fixes && slot->chip->fixes->remove_slot)
+drivers/mmc/host/sdhci-pci-core.c:		slot->chip->fixes->remove_slot(slot, dead);
+drivers/mmc/host/sdhci-pci-core.c:	chip->pdev = pdev;
+drivers/mmc/host/sdhci-pci-core.c:	chip->fixes = (const struct sdhci_pci_fixes *)ent->driver_data;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes) {
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks = chip->fixes->quirks;
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks2 = chip->fixes->quirks2;
+drivers/mmc/host/sdhci-pci-core.c:		chip->allow_runtime_pm = chip->fixes->allow_runtime_pm;
+drivers/mmc/host/sdhci-pci-core.c:	chip->num_slots = slots;
+drivers/mmc/host/sdhci-pci-core.c:	chip->pm_retune = true;
+drivers/mmc/host/sdhci-pci-core.c:	chip->rpm_retune = true;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->probe) {
+drivers/mmc/host/sdhci-pci-core.c:		ret = chip->fixes->probe(chip);
+drivers/mmc/host/sdhci-pci-core.c:	slots = chip->num_slots;	/* Quirk may have changed this */
+drivers/mmc/host/sdhci-pci-core.c:				sdhci_pci_remove_slot(chip->slots[i]);
+drivers/mmc/host/sdhci-pci-core.c:		chip->slots[i] = slot;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->allow_runtime_pm)
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->allow_runtime_pm)
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++)
+drivers/mmc/host/sdhci-pci-core.c:		sdhci_pci_remove_slot(chip->slots[i]);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch_8);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev, O2_SD_FUNC_REG4, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch_8);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_DEV_CTRL, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_DEV_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_MISC_REG5, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_MISC_REG5, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_TEST_REG, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_TEST_REG, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_DELAY_CTRL, 0x00002492);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_LD0_CTRL, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_LD0_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_CAP_REG0, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_CAP_REG0, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_TUNING_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_UHS2_L1_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_FUNC_REG3, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_FUNC_REG3, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_CAPS, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_CAPS, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_MISC_CTRL4, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_find_capability(chip->pdev, PCI_CAP_ID_MSI);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_alloc_irq_vectors(chip->pdev, 1, 1,
+drivers/mmc/host/sdhci-pci-o2micro.c:	host->irq = pci_irq_vector(chip->pdev, 0);
+drivers/mmc/host/sdhci-pci-o2micro.c:	switch (chip->pdev->device) {
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device == PCI_DEVICE_ID_O2_SEABIRD0) {
+drivers/mmc/host/sdhci-pci-o2micro.c:			ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device != PCI_DEVICE_ID_O2_FUJIN2)
+drivers/mmc/host/sdhci-pci-o2micro.c:	switch (chip->pdev->device) {
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_MULTI_VCC3V, 0x08);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_CLKREQ, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev, O2_SD_CAPS, &scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_CAPS, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_CAPS, 0x73);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_ADMA1, 0x39);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_ADMA2, 0x08);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_INF_MOD, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device == PCI_DEVICE_ID_O2_FUJIN2) {
+drivers/mmc/host/sdhci-pci-o2micro.c:			ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				pci_write_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev, O2_SD_CLKREQ, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device == PCI_DEVICE_ID_O2_FUJIN2)
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->start += j << partshift;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->priv = &shared[i];
+drivers/mtd/chips/cfi_cmdset_0001.c:				init_waitqueue_head(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_init(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (mode == FL_SYNCING && chip->oldstate != FL_READY)
+drivers/mtd/chips/cfi_cmdset_0001.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->priv && map_word_andequal(map, status, status_PWS, status_PWS))
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if ((adr & chip->in_progress_block_mask) ==
+drivers/mtd/chips/cfi_cmdset_0001.c:		    chip->in_progress_block_addr)
+drivers/mtd/chips/cfi_cmdset_0001.c:		    (chip->in_progress_block_mask == ~(0x8000-1)))
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0xB0), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0x70), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0001.c:			status = map_read(map, chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (mode == FL_READY && chip->oldstate == FL_READY)
+drivers/mtd/chips/cfi_cmdset_0001.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->priv &&
+drivers/mtd/chips/cfi_cmdset_0001.c:	    || mode == FL_SHUTDOWN) && chip->state != FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->priv) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (shared->writing == chip && chip->oldstate == FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:	switch(chip->oldstate) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0xd0), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0x70), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		printk(KERN_ERR "%s: put_chip() called with oldstate %d!!\n", map->name, chip->oldstate);
+drivers/mtd/chips/cfi_cmdset_0001.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		    ((chip->state == FL_ERASING && (cfip->FeatureSupport&2)) ||
+drivers/mtd/chips/cfi_cmdset_0001.c:		     (chip->state == FL_WRITING && (cfip->FeatureSupport&4))) &&
+drivers/mtd/chips/cfi_cmdset_0001.c:		    (cfi_interleave_is_1(cfi) || chip->oldstate == FL_READY)) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->write_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = newstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			while (chip->state != newstate) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:				remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:	int chip_state = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state != chip_state) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->erase_suspended && chip_state == FL_ERASING)  {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->write_suspended && chip_state == FL_WRITING)  {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->write_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c: 	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state != FL_POINT && chip->state != FL_READY)
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_POINT;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->ref_point_counter++;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state == FL_POINT) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->ref_point_counter--;
+drivers/mtd/chips/cfi_cmdset_0001.c:			if(chip->ref_point_counter == 0)
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = mode;
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->word_write_time,
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->word_write_time_max);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_STATUS) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_WRITING_TO_BUFFER;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_WRITING;
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->buffer_write_time,
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->buffer_write_time_max);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->in_progress_block_addr = adr;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->in_progress_block_mask = ~(len - 1);
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->erase_time,
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->erase_time_max);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		ret = get_chip(map, chip, chip->start, FL_SYNCING);
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = FL_SYNCING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_JEDEC_QUERY;
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	ret = get_chip(map, chip, chip->start, FL_JEDEC_QUERY);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	INVALIDATE_CACHED_RANGE(map, chip->start + offset, size);
+drivers/mtd/chips/cfi_cmdset_0001.c:	xip_disable(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_JEDEC_QUERY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_JEDEC_QUERY;
+drivers/mtd/chips/cfi_cmdset_0001.c:	map_copy_from(map, buf, chip->start + offset, size);
+drivers/mtd/chips/cfi_cmdset_0001.c:	xip_enable(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:	INVALIDATE_CACHED_RANGE(map, chip->start + offset, size);
+drivers/mtd/chips/cfi_cmdset_0001.c:	put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->oldstate == FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->state = FL_PM_SUSPENDED;
+drivers/mtd/chips/cfi_cmdset_0001.c:				printk(KERN_NOTICE "Flash device refused suspend due to pending operation (oldstate %d)\n", chip->oldstate);
+drivers/mtd/chips/cfi_cmdset_0001.c:			printk(KERN_NOTICE "Flash device refused suspend due to active operation (state %d)\n", chip->state);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->oldstate = chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		ret = get_chip(map, chip, chip->start, FL_SHUTDOWN);
+drivers/mtd/chips/cfi_cmdset_0001.c:			map_write(map, CMD(0xff), chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = FL_SHUTDOWN;
+drivers/mtd/chips/cfi_cmdset_0001.c:			put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:		cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:		cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if ((adr & chip->in_progress_block_mask) ==
+drivers/mtd/chips/cfi_cmdset_0002.c:		    chip->in_progress_block_addr)
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xB0), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (mode == FL_READY && chip->oldstate == FL_READY)
+drivers/mtd/chips/cfi_cmdset_0002.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	switch(chip->oldstate) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, cfi->sector_erase_cmd, chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		printk(KERN_ERR "MTD: put_chip() called with oldstate %d!!\n", chip->oldstate);
+drivers/mtd/chips/cfi_cmdset_0002.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		    ((chip->state == FL_ERASING && (extp->EraseSuspend & 2))) &&
+drivers/mtd/chips/cfi_cmdset_0002.c:		    (cfi_interleave_is_1(cfi) || chip->oldstate == FL_READY)) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_XIP_WHILE_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			while (chip->state != FL_XIP_WHILE_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:				add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:				remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c: * with chip->state set to FL_READY (or FL_XIP_WHILE_*) where flash state
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x88, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	INVALIDATE_CACHED_RANGE(map, chip->start + adr, len);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x90, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x00, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	INVALIDATE_CACHED_RANGE(map, chip->start + adr, len);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state != FL_READY){
+drivers/mtd/chips/cfi_cmdset_0002.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	ret = get_chip(map, chip, chip->start, FL_LOCKING);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x40, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0xA0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(lockreg), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x00), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			base = chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:					mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:						 chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:						 chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:						 chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:				map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:				map_write(map, CMD(0x00), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:				put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = mode;
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->word_write_time);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != mode) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	u_write_timeout = usecs_to_jiffies(chip->buffer_write_time_max);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != FL_WRITING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_WRITING_TO_BUFFER;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_WRITING;
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->word_write_time);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state == FL_READY && chip_ready(map, chip, adr))
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	       __func__, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x10, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_addr = adr;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_mask = ~(map->size - 1);
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->erase_time*500);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != FL_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->erase_suspended) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_addr = adr;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_mask = ~(len - 1);
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->erase_time*500);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != FL_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->erase_suspended) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	ret = get_chip(map, chip, adr + chip->start, FL_LOCKING);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x40), chip->start + adr);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	put_chip(map, chip, adr + chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	ret = get_chip(map, chip, adr + chip->start, FL_UNLOCKING);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	put_chip(map, chip, adr + chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xC0, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0x80), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0x30), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_JEDEC_QUERY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x00), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_SYNCING;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_PM_SUSPENDED;
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:			map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		ret = get_chip(map, chip, chip->start, FL_SHUTDOWN);
+drivers/mtd/chips/cfi_cmdset_0002.c:			map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_SHUTDOWN;
+drivers/mtd/chips/cfi_cmdset_0002.c:			put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/chips/cfi_cmdset_0020.c:				chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0020.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:        adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:       printk("%s: chip->state[%d]\n", __func__, chip->state);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:                chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_WRITING_TO_BUFFER;
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_WRITING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	cfi_udelay(chip->buffer_write_time);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state != FL_WRITING) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->buffer_write_time--;
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (!chip->buffer_write_time)
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->buffer_write_time++;
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->buffer_write_time++;
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:		wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state != FL_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:				chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_SYNCING;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		        remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0020.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_PM_SUSPENDED;
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0020.c:				chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0020.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0020.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/fwh_lock.h:	if (chip->start < 0x400000) {
+drivers/mtd/chips/fwh_lock.h:		pr_debug( "MTD %s(): chip->start: %lx wanted >= 0x400000\n",
+drivers/mtd/chips/fwh_lock.h:			__func__, chip->start );
+drivers/mtd/chips/fwh_lock.h:	adr += chip->start - 0x400000;
+drivers/mtd/chips/fwh_lock.h:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/fwh_lock.h:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/fwh_lock.h:	chip->oldstate = chip->state;
+drivers/mtd/chips/fwh_lock.h:	chip->state = xxlt->state;
+drivers/mtd/chips/fwh_lock.h:	chip->state = chip->oldstate;
+drivers/mtd/chips/fwh_lock.h:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/gen_probe.c:			pchip->start = (i << cfi.chipshift);
+drivers/mtd/chips/gen_probe.c:			pchip->state = FL_READY;
+drivers/mtd/chips/gen_probe.c:			init_waitqueue_head(&pchip->wq);
+drivers/mtd/chips/gen_probe.c:			mutex_init(&pchip->mutex);
+drivers/mtd/devices/docg3.c:	{ .compatible = "m-systems,diskonchip-g3" },
+drivers/mtd/devices/spear_smi.c:	/* Matches chip-id to entire list of 'serial-nor flash' ids */
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->start += j << lpddr->chipshift;
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->oldstate = chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->priv = &shared[i];
+drivers/mtd/lpddr/lpddr_cmds.c:			init_waitqueue_head(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_init(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	flstate_t chip_state = chip->state;
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		while (chip->state != chip_state) {
+drivers/mtd/lpddr/lpddr_cmds.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		if (chip->erase_suspended || chip->write_suspended)  {
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->erase_suspended = chip->write_suspended = 0;
+drivers/mtd/lpddr/lpddr_cmds.c:	chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:	if (chip->priv && (mode == FL_WRITING || mode == FL_ERASING)
+drivers/mtd/lpddr/lpddr_cmds.c:		&& chip->state != FL_SYNCING) {
+drivers/mtd/lpddr/lpddr_cmds.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			if (chip->state == FL_SYNCING) {
+drivers/mtd/lpddr/lpddr_cmds.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	if (FL_SYNCING == mode && FL_READY != chip->oldstate)
+drivers/mtd/lpddr/lpddr_cmds.c:	switch (chip->state) {
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->erase_suspended = 1;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:		if (mode == FL_READY && chip->oldstate == FL_READY)
+drivers/mtd/lpddr/lpddr_cmds.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	if (chip->priv) {
+drivers/mtd/lpddr/lpddr_cmds.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/lpddr/lpddr_cmds.c:		if (shared->writing == chip && chip->oldstate == FL_READY) {
+drivers/mtd/lpddr/lpddr_cmds.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:				mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:				wake_up(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:			wake_up(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:	switch (chip->oldstate) {
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->oldstate = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_ERASING;
+drivers/mtd/lpddr/lpddr_cmds.c:				map->name, chip->oldstate);
+drivers/mtd/lpddr/lpddr_cmds.c:	wake_up(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	chip->state = FL_WRITING;
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	chip->state = FL_ERASING;
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	*mtdbuf = (void *)map->virt + chip->start + ofs;
+drivers/mtd/lpddr/lpddr_cmds.c:			last_end = chip->start;
+drivers/mtd/lpddr/lpddr_cmds.c:		else if (chip->start != last_end)
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_POINT;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->ref_point_counter++;
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		if (chip->state == FL_POINT) {
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->ref_point_counter--;
+drivers/mtd/lpddr/lpddr_cmds.c:			if (chip->ref_point_counter == 0)
+drivers/mtd/lpddr/lpddr_cmds.c:				chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_LOCKING;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_UNLOCKING;
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->legacy.dev_ready = NULL;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->legacy.dev_ready = atmel_nand_dev_ready;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->legacy.dev_ready = atmel_hsmc_nand_dev_ready;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		memcpy_toio(nc->sram.virt + mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		memcpy_fromio(chip->oob_poi, nc->sram.virt + mtd->writesize,
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	eccbuf = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/atmel/nand-controller.c:		eccbuf += chip->ecc.bytes;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	eccbuf = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/atmel/nand-controller.c:							  chip->ecc.size,
+drivers/mtd/nand/raw/atmel/nand-controller.c:							  chip->ecc.bytes,
+drivers/mtd/nand/raw/atmel/nand-controller.c:							  chip->ecc.strength);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		databuf += chip->ecc.size;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		eccbuf += chip->ecc.bytes;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	atmel_nand_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	atmel_nand_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	atmel_nand_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	status = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:			chip->ecc.strength = val;
+drivers/mtd/nand/raw/atmel/nand-controller.c:			chip->ecc.size = val;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->ecc.options & NAND_ECC_MAXIMIZE)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	else if (chip->ecc.strength)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.strength = chip->ecc.strength;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	else if (chip->base.eccreq.strength)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->ecc.size)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.sectorsize = chip->ecc.size;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	else if (chip->base.eccreq.step_size)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.sectorsize = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.size = req.ecc.sectorsize;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.bytes = req.ecc.bytes / req.ecc.nsectors;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.strength = req.ecc.strength;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.read_page = atmel_nand_pmecc_read_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.write_page = atmel_nand_pmecc_write_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.read_page_raw = atmel_nand_pmecc_read_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.write_page_raw = atmel_nand_pmecc_write_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:			chip->ecc.mode);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.read_page = atmel_hsmc_nand_pmecc_read_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.write_page = atmel_hsmc_nand_pmecc_write_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.read_page_raw = atmel_hsmc_nand_pmecc_read_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.write_page_raw = atmel_hsmc_nand_pmecc_write_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.cmd_ctrl = atmel_nand_cmd_ctrl;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.read_byte = atmel_nand_read_byte;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.write_byte = atmel_nand_write_byte;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.read_buf = atmel_nand_read_buf;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.write_buf = atmel_nand_write_buf;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.select_chip = atmel_nand_select_chip;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.chip_delay = 40;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->options |= NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	smc_nc = to_smc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.cmd_ctrl = atmel_hsmc_nand_cmd_ctrl;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.select_chip = atmel_hsmc_nand_select_chip;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	struct atmel_nand_controller *nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	BUG_ON(b47n->curr_page_addr & ~nand_chip->pagemask);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	/* Don't validate column using nand_chip->page_shift, it may be bigger
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	BUG_ON(b47n->curr_page_addr & ~nand_chip->pagemask);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	/* Don't validate column using nand_chip->page_shift, it may be bigger
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:		nand_chip->legacy.cmd_ctrl(nand_chip, command, NAND_CTRL_CLE);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.select_chip = bcm47xxnflash_ops_bcm4706_select_chip;
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.cmd_ctrl = bcm47xxnflash_ops_bcm4706_cmd_ctrl;
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.dev_ready = bcm47xxnflash_ops_bcm4706_dev_ready;
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.chip_delay = 50;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	/* List of NAND hosts (one for each chip-select) */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	const u8		*cs_offsets; /* within each chip-select */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:/* Per chip-select offsets for v7.1 */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:/* Per chip-select offsets for pre v7.1, except CS0 on <= v5.0 */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:/* Per chip-select offset for <= v5.0 on CS0 only */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	/* Per chip-select registers */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	oobregion->offset = ((section + 1) * sas) - chip->ecc.bytes;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (sas <= chip->ecc.bytes)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	oobregion->length = sas - chip->ecc.bytes;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (section > 1 || sas - chip->ecc.bytes < 6 ||
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	    (section && sas - chip->ecc.bytes == 6))
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		oobregion->length = sas - chip->ecc.bytes - 6;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	u64 addr = (u64)page_addr << chip->page_shift;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	void *oob = chip->oob_poi;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	int page = addr >> chip->page_shift;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	sas = mtd->oobsize / chip->ecc.steps;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	ret = chip->ecc.read_page_raw(chip, buf, true, page);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	for (i = 0; i < chip->ecc.steps; i++, oob += sas) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		ecc_chunk = buf + chip->ecc.size * i;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:						  chip->ecc.size,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:						  chip->ecc.strength);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	return brcmnand_read(mtd, chip, (u64)page << chip->page_shift,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			NULL, (u8 *)chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	brcmnand_read(mtd, chip, (u64)page << chip->page_shift,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		NULL, (u8 *)chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	void *oob = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	void *oob = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			      (u64)page << chip->page_shift, NULL,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			      chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	ret = brcmnand_write(mtd, chip, (u64)page << chip->page_shift, NULL,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:				 (u8 *)chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	brcmnand_wr_corr_thresh(host, DIV_ROUND_UP(chip->ecc.strength * 3, 4));
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	cfg->device_width = (chip->options & NAND_BUSWIDTH_16) ? 16 : 8;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.mode != NAND_ECC_HW) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.mode);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->ecc.strength == 1 && chip->ecc.size == 512)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.algo == NAND_ECC_HAMMING && (chip->ecc.strength != 1 ||
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:						   chip->ecc.size != 512)) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.strength, chip->ecc.size);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.mode != NAND_ECC_NONE &&
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	    (!chip->ecc.size || !chip->ecc.strength)) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->base.eccreq.step_size && chip->base.eccreq.strength) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.size = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:				chip->ecc.size, chip->ecc.strength);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	switch (chip->ecc.size) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->ecc.algo == NAND_ECC_HAMMING)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			cfg->ecc_level = chip->ecc.strength;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->ecc.strength & 0x1) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		cfg->ecc_level = chip->ecc.strength >> 1;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.size);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->options |= NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.size = host->hwcfg.sector_size_1k ? 1024 : 512;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		dev_err(&pdev->dev, "can't get chip-select\n");
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.cmd_ctrl = brcmnand_cmd_ctrl;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.cmdfunc = brcmnand_cmdfunc;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.waitfunc = brcmnand_waitfunc;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.read_byte = brcmnand_read_byte;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.read_buf = brcmnand_read_buf;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.write_buf = brcmnand_write_buf;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_page = brcmnand_read_page;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_page = brcmnand_write_page;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_page_raw = brcmnand_read_page_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_page_raw = brcmnand_write_page_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_oob_raw = brcmnand_write_oob_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_oob_raw = brcmnand_read_oob_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_oob = brcmnand_read_oob;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_oob = brcmnand_write_oob;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->controller = &ctrl->controller;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:				continue; /* Try all chip-selects */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	/* No chip-selects could initialize properly */
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	u32 last_sec_size = cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_cnt = cdns_chip->sector_count;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_size = cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		data_ctrl_size = cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_cnt = cdns_chip->sector_count;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		last_sec_size = cdns_chip->sector_size
+drivers/mtd/nand/raw/cadence-nand-controller.c:			+ cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_size = cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		offset = mtd->writesize + cdns_chip->bbm_offs;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cadence_nand_set_timings(cdns_ctrl, &cdns_chip->timings);
+drivers/mtd/nand/raw/cadence-nand-controller.c:				      cdns_chip->corr_str_idx);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 chip->ecc.strength);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	u8 thread_nr = cdns_chip->cs[chip->cur_cs];
+drivers/mtd/nand/raw/cadence-nand-controller.c:				       cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	memcpy(buf + cdns_chip->bbm_offs, cdns_ctrl->buf, cdns_chip->bbm_len);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cadence_nand_set_skip_bytes_conf(cdns_ctrl, cdns_chip->bbm_len,
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 + cdns_chip->bbm_offs,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		marker_val = *(u16 *)(chip->oob_poi
+drivers/mtd/nand/raw/cadence-nand-controller.c:				      + cdns_chip->bbm_offs);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:			oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		memcpy(cdns_ctrl->buf + mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					  cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:					  + cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_steps = chip->ecc.steps;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_size = chip->ecc.size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_bytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int oob_skip = cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		const u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		u32 oob_data_offset = (cdns_chip->sector_count - 1) *
+drivers/mtd/nand/raw/cadence-nand-controller.c:			(cdns_chip->sector_size + chip->ecc.bytes)
+drivers/mtd/nand/raw/cadence-nand-controller.c:			+ cdns_chip->sector_size + oob_skip;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		oob += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				pos += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:					  cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cadence_nand_set_skip_bytes_conf(cdns_ctrl, cdns_chip->bbm_len,
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 + cdns_chip->bbm_offs, 1);
+drivers/mtd/nand/raw/cadence-nand-controller.c:			oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    + cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:			memcpy(chip->oob_poi,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		if (cadence_nand_read_bbm(chip, page, chip->oob_poi))
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int oob_skip = cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_steps = chip->ecc.steps;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_size = chip->ecc.size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_bytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:		u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		u32 oob_data_offset = (cdns_chip->sector_count - 1) *
+drivers/mtd/nand/raw/cadence-nand-controller.c:			(cdns_chip->sector_size + chip->ecc.bytes)
+drivers/mtd/nand/raw/cadence-nand-controller.c:			+ cdns_chip->sector_size + oob_skip;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		oob += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				pos += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:			.cs = chip->cur_cs,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		ret = chip->controller->ops->exec_op(chip, &nand_op, false);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					     BIT(cdns_chip->cs[chip->cur_cs]),
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->offset = cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->length = cdns_chip->avail_oob_size
+drivers/mtd/nand/raw/cadence-nand-controller.c:		- cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->offset = cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cadence_nand_timings *t = &cdns_chip->timings;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	u32 ecc_size = cdns_chip->sector_count * chip->ecc.bytes;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->bbm_offs = chip->badblockpos;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->bbm_offs &= ~0x01;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->bbm_len = 2;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->bbm_len = 1;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				   mtd->oobsize - cdns_chip->bbm_len);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		chip->ecc.size, chip->ecc.strength, chip->ecc.bytes);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->sector_size = chip->ecc.size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->sector_count = mtd->writesize / cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->avail_oob_size = mtd->oobsize - ecc_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (cdns_chip->avail_oob_size > max_oob_data_size)
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->avail_oob_size = max_oob_data_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if ((cdns_chip->avail_oob_size + cdns_chip->bbm_len + ecc_size)
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->avail_oob_size -= 4;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	ret = cadence_nand_get_ecc_strength_idx(cdns_ctrl, chip->ecc.strength);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->corr_str_idx = (u8)ret;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				      cdns_chip->corr_str_idx);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 chip->ecc.strength);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_page = cadence_nand_read_page;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_page_raw = cadence_nand_read_page_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_page = cadence_nand_write_page;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_page_raw = cadence_nand_write_page_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_oob = cadence_nand_read_oob;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_oob = cadence_nand_write_oob;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_oob_raw = cadence_nand_read_oob_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_oob_raw = cadence_nand_write_oob_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->nsels = nsels;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->cs[i] = cs;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip = &cdns_chip->chip;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->controller = &cdns_ctrl->controller;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	ret = nand_scan(chip, cdns_chip->nsels);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	list_add_tail(&cdns_chip->node, &cdns_ctrl->chips);
+drivers/mtd/nand/raw/cafe_nand.c:	return nand_prog_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/cafe_nand.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/cafe_nand.c: * @oob_required:	caller expects OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/cafe_nand.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/cafe_nand.c:		u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/cafe_nand.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/cafe_nand.c:	oobregion->offset = chip->ecc.total;
+drivers/mtd/nand/raw/cafe_nand.c:	oobregion->length = mtd->oobsize - chip->ecc.total;
+drivers/mtd/nand/raw/cafe_nand.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/davinci_nand.c:			if ((diff >> (12 + 3)) < chip->ecc.size) {
+drivers/mtd/nand/raw/davinci_nand.c:		ioread32_rep(chip->legacy.IO_ADDR_R, buf, len >> 2);
+drivers/mtd/nand/raw/davinci_nand.c:		ioread16_rep(chip->legacy.IO_ADDR_R, buf, len >> 1);
+drivers/mtd/nand/raw/davinci_nand.c:		ioread8_rep(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/davinci_nand.c:		iowrite32_rep(chip->legacy.IO_ADDR_R, buf, len >> 2);
+drivers/mtd/nand/raw/davinci_nand.c:		iowrite16_rep(chip->legacy.IO_ADDR_R, buf, len >> 1);
+drivers/mtd/nand/raw/davinci_nand.c:		iowrite8_rep(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/denali.c:	return container_of(chip->controller, struct denali_controller,
+drivers/mtd/nand/raw/denali.c:	iowrite32(1 << (chip->phys_erase_shift - chip->page_shift),
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->options & NAND_BUSWIDTH_16 ? 1 : 0,
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->options & NAND_ROW_ADDR_3 ?
+drivers/mtd/nand/raw/denali.c:		  FIELD_PREP(ECC_CORRECTION__VALUE, chip->ecc.strength),
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->ecc.size, denali->reg + CFG_DATA_BLOCK_SIZE);
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->ecc.size, denali->reg + CFG_LAST_DATA_BLOCK_SIZE);
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->ecc.steps, denali->reg + CFG_NUM_DATA_BLOCKS);
+drivers/mtd/nand/raw/denali.c:	if (chip->options & NAND_KEEP_TIMINGS)
+drivers/mtd/nand/raw/denali.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/denali.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/denali.c:	return denali_read_raw(chip, buf, oob_required ? chip->oob_poi : NULL,
+drivers/mtd/nand/raw/denali.c:	return denali_write_raw(chip, buf, oob_required ? chip->oob_poi : NULL,
+drivers/mtd/nand/raw/denali.c:	return denali_read_raw(chip, NULL, chip->oob_poi, page);
+drivers/mtd/nand/raw/denali.c:	return denali_write_raw(chip, NULL, chip->oob_poi, page);
+drivers/mtd/nand/raw/denali.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/denali.c:	u8 *ecc_code = chip->oob_poi + denali->oob_skip_bytes;
+drivers/mtd/nand/raw/denali.c:		*uncor_ecc_flags = GENMASK(chip->ecc.steps - 1, 0);
+drivers/mtd/nand/raw/denali.c:	unsigned int ecc_size = chip->ecc.size;
+drivers/mtd/nand/raw/denali.c:	denali_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/denali.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/denali.c:	oobregion->offset = chip->ecc.total + denali->oob_skip_bytes;
+drivers/mtd/nand/raw/denali.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/denali.c:	chip->page_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->phys_erase_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->bbt_erase_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->chip_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->pagemask <<= 1;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.size <<= 1;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.bytes <<= 1;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.strength <<= 1;
+drivers/mtd/nand/raw/denali.c:		chip->ecc.size, chip->ecc.strength, chip->ecc.bytes);
+drivers/mtd/nand/raw/denali.c:			       chip->options & NAND_BUSWIDTH_16);
+drivers/mtd/nand/raw/denali.c:				chip->options & NAND_BUSWIDTH_16);
+drivers/mtd/nand/raw/denali.c:	struct nand_chip *chip = &dchip->chip;
+drivers/mtd/nand/raw/denali.c:	chip->controller = &denali->controller;
+drivers/mtd/nand/raw/denali.c:	for (i = 0; i < dchip->nsels; i++) {
+drivers/mtd/nand/raw/denali.c:		unsigned int bank = dchip->sels[i].bank;
+drivers/mtd/nand/raw/denali.c:			if (bank == dchip->sels[j].bank) {
+drivers/mtd/nand/raw/denali.c:		chip->options |= NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/denali.c:		chip->buf_align = 16;
+drivers/mtd/nand/raw/denali.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/denali.c:	chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/denali.c:	chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/denali.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.mode = NAND_ECC_HW_SYNDROME;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.read_page = denali_read_page;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.write_page = denali_write_page;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.read_page_raw = denali_read_page_raw;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.write_page_raw = denali_write_page_raw;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.read_oob = denali_read_oob;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.write_oob = denali_write_oob;
+drivers/mtd/nand/raw/denali.c:	ret = nand_scan(chip, dchip->nsels);
+drivers/mtd/nand/raw/denali.c:	list_add_tail(&dchip->node, &denali->chips);
+drivers/mtd/nand/raw/denali.c:		nand_release(&dchip->chip);
+drivers/mtd/nand/raw/denali_dt.c:	dchip->nsels = nsels;
+drivers/mtd/nand/raw/denali_dt.c:		dchip->sels[i].bank = bank;
+drivers/mtd/nand/raw/denali_dt.c:		nand_set_flash_node(&dchip->chip, chip_np);
+drivers/mtd/nand/raw/denali_pci.c:	dchip->chip.ecc.options |= NAND_ECC_MAXIMIZE;
+drivers/mtd/nand/raw/denali_pci.c:	dchip->nsels = nsels;
+drivers/mtd/nand/raw/denali_pci.c:		dchip->sels[i].bank = i;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (section > chip->ecc.steps)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:		if (section < chip->ecc.steps)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	         chip->phys_erase_shift, chip->page_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:		fsl_elbc_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	fsl_elbc_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	fsl_elbc_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.read_byte = fsl_elbc_read_byte;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.write_buf = fsl_elbc_write_buf;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.read_buf = fsl_elbc_read_buf;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.select_chip = fsl_elbc_select_chip;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.cmdfunc = fsl_elbc_cmdfunc;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.waitfunc = fsl_elbc_wait;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.set_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.get_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->controller = &elbc_fcm_ctrl->controller;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.read_page = fsl_elbc_read_page;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.write_page = fsl_elbc_write_page;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.write_subpage = fsl_elbc_write_subpage;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.size = 512;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.bytes = 3;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.strength = 1;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (chip->pagemask & 0xffff0000)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (chip->pagemask & 0xff000000)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        nanddev_ntargets(&chip->base));
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        nanddev_target_size(&chip->base));
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->pagemask);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->legacy.chip_delay);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->badblockpos);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->chip_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->page_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->phys_erase_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.mode);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.steps);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.bytes);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.total);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	    !(chip->options & NAND_BUSWIDTH_16)) {
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		oobregion->offset = chip->ecc.total + 8;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		int sector_start = bufnum * chip->ecc.steps;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		int sector_end = sector_start + chip->ecc.steps - 1;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	u8 *ecc = chip->oob_poi;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	for (i = 0; i < chip->ecc.steps; ++i) {
+drivers/mtd/nand/raw/fsl_ifc_nand.c:						  chip->ecc.strength);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		fsl_ifc_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			fsl_ifc_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	fsl_ifc_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		nanddev_ntargets(&chip->base));
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	        nanddev_target_size(&chip->base));
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->pagemask);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.chip_delay);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->badblockpos);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->chip_shift);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->page_shift);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->phys_erase_shift);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.mode);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.steps);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.bytes);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.total);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.write_buf = fsl_ifc_write_buf;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.read_buf = fsl_ifc_read_buf;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.select_chip = fsl_ifc_select_chip;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.cmdfunc = fsl_ifc_cmdfunc;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.waitfunc = fsl_ifc_wait;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.set_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.get_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->options = NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->controller = &ifc_nand_ctrl->controller;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->ecc.read_page = fsl_ifc_read_page;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->ecc.write_page = fsl_ifc_write_page;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		if (!(chip->options & NAND_BUSWIDTH_16)) {
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.bytes = 8;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.strength = 4;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.bytes = 16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.strength = 8;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/fsl_upm.c:	fsl_upm_run_pattern(&fun->upm, chip->legacy.IO_ADDR_R, mar);
+drivers/mtd/nand/raw/fsl_upm.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE, 0 | NAND_CTRL_CHANGE);
+drivers/mtd/nand/raw/fsl_upm.c:		chip->legacy.IO_ADDR_R = fun->io_base + fun->mchip_offsets[mchip_nr];
+drivers/mtd/nand/raw/fsl_upm.c:		chip->legacy.IO_ADDR_W = chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/fsl_upm.c:	prop = of_get_property(ofdev->dev.of_node, "chip-delay", NULL);
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section < chip->ecc.steps - 1)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section < chip->ecc.steps - 1)
+drivers/mtd/nand/raw/fsmc_nand.c: * @oob_required:	caller expects OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/fsmc_nand.c:	int i, j, s, stat, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/fsmc_nand.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsmc_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/fsmc_nand.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/fsmc_nand.c:	u8 *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/fsmc_nand.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/fsmc_nand.c:			if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/fsmc_nand.c:		memcpy(&ecc_code[i], oob, chip->ecc.bytes);
+drivers/mtd/nand/raw/fsmc_nand.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/fsmc_nand.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], &ecc_calc[i]);
+drivers/mtd/nand/raw/fsmc_nand.c:		int bits_ecc = count_written_bits(read_ecc, chip->ecc.bytes, 8);
+drivers/mtd/nand/raw/fsmc_nand.c:		int bits_data = count_written_bits(dat, chip->ecc.size, 8);
+drivers/mtd/nand/raw/fsmc_nand.c:				memset(dat, 0xff, chip->ecc.size);
+drivers/mtd/nand/raw/fsmc_nand.c:		if (err_idx[i] < chip->ecc.size * 8) {
+drivers/mtd/nand/raw/gpio.c:	if (!of_property_read_u32(dev->of_node, "chip-delay", &val))
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.IO_ADDR_R = devm_ioremap_resource(dev, res);
+drivers/mtd/nand/raw/gpio.c:	if (IS_ERR(chip->legacy.IO_ADDR_R))
+drivers/mtd/nand/raw/gpio.c:		return PTR_ERR(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/gpio.c:		chip->legacy.dev_ready = gpio_nand_devready;
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.IO_ADDR_W	= chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/gpio.c:	chip->ecc.mode		= NAND_ECC_SOFT;
+drivers/mtd/nand/raw/gpio.c:	chip->ecc.algo		= NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/gpio.c:	chip->options		= gpiomtd->plat.options;
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.chip_delay	= gpiomtd->plat.chip_delay;
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.cmd_ctrl	= gpio_nand_cmd_ctrl;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:			chip->base.eccreq.strength,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:			chip->base.eccreq.step_size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	if (chip->ecc.strength > 0 && chip->ecc.size > 0)
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		return set_geometry_by_ecc_info(this, chip->ecc.strength,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:						chip->ecc.size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		if (!(chip->base.eccreq.strength > 0 &&
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		      chip->base.eccreq.step_size > 0))
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:						chip->base.eccreq.strength,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:						chip->base.eccreq.step_size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		memset(chip->oob_poi, ~0, mtd->oobsize);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chip->oob_poi[0] = ((uint8_t *)this->auxiliary_virt)[0];
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	int size = chip->ecc.size; /* ECC chunk size */
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	memcpy(this->auxiliary_virt, chip->oob_poi, nfc_geo->auxiliary_size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	memset(chip->oob_poi, ~0, mtd->oobsize);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	ret = nand_read_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		ret = nand_read_page_op(chip, page, 0, chip->oob_poi, 1);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:				 chip->oob_poi + of.offset, of.length);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chipnr = (int)(ofs >> chip->chip_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	page = (int)(ofs >> chip->page_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		status = chip->ecc.write_page_raw(chip, buffer, 0, page);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	block_count = nanddev_eraseblocks_per_target(&chip->base);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chipnr = block >> (chip->chip_shift - chip->phys_erase_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		page = block << (chip->phys_erase_shift - chip->page_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		byte = block <<  chip->phys_erase_shift;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:			ret = chip->legacy.block_markbad(chip, byte);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chip->options |= NAND_SUBPAGE_READ;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH) {
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->legacy.block_markbad = gpmi_block_markbad;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->badblock_pattern	= &gpmi_bbt_descr;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->options		|= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->controller = &this->base;
+drivers/mtd/nand/raw/hisi504_nand.c:	if (chip->ecc.mode == NAND_ECC_NONE) {
+drivers/mtd/nand/raw/hisi504_nand.c:		if (chip->options & NAND_BUSWIDTH_16 &&
+drivers/mtd/nand/raw/hisi504_nand.c:		if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/hisi504_nand.c:		if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/hisi504_nand.c:		switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/hisi504_nand.c:	nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/hisi504_nand.c:		chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/hisi504_nand.c:		| ((chip->options & NAND_BUSWIDTH_16) ?
+drivers/mtd/nand/raw/hisi504_nand.c:	size = chip->ecc.size;
+drivers/mtd/nand/raw/hisi504_nand.c:	strength = chip->ecc.strength;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.size = size;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.strength = strength;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.read_page = hisi_nand_read_page_hwecc;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.read_oob = hisi_nand_read_oob;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.write_page = hisi_nand_write_page_hwecc;
+drivers/mtd/nand/raw/hisi504_nand.c:	switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/hisi504_nand.c:		dev_err(dev, "not support strength: %d\n", chip->ecc.strength);
+drivers/mtd/nand/raw/hisi504_nand.c:	if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.cmdfunc	= hisi_nfc_cmdfunc;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.select_chip	= hisi_nfc_select_chip;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.read_byte	= hisi_nfc_read_byte;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.write_buf	= hisi_nfc_write_buf;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.read_buf	= hisi_nfc_read_buf;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.chip_delay	= HINFC504_CHIP_DELAY;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.set_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.get_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.dummy_controller.ops = &hisi_nfc_controller_ops;
+drivers/mtd/nand/raw/hisi504_nand.c:	for (cs = 0; cs < nanddev_ntargets(&chip->base); cs++)
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct ingenic_nfc *nfc = to_ingenic_nfc(chip->controller);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	if (chip->ecc.strength == 4) {
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.bytes = 9;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.bytes = fls((1 + 8) * chip->ecc.size)	*
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:				  (chip->ecc.strength / 8);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.hwctl = ingenic_nand_ecc_hwctl;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.calculate = ingenic_nand_ecc_calculate;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.correct = ingenic_nand_ecc_correct;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:			 chip->ecc.strength, chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:			chip->ecc.mode);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	eccbytes = mtd->writesize / chip->ecc.size * chip->ecc.bytes;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.IO_ADDR_R = cs->base + nfc->soc_info->data_offset;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.IO_ADDR_W = cs->base + nfc->soc_info->data_offset;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.chip_delay = RB_DELAY_US;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->options = NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.select_chip = ingenic_nand_select_chip;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.cmd_ctrl = ingenic_nand_cmd_ctrl;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->controller = &nfc->controller;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->controller->ops = &ingenic_nand_controller_ops;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		nand_release(&chip->chip);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		list_del(&chip->chip_list);
+drivers/mtd/nand/raw/internals.h:	if (!chip->controller || !chip->controller->ops ||
+drivers/mtd/nand/raw/internals.h:	    !chip->controller->ops->exec_op)
+drivers/mtd/nand/raw/internals.h:	if (WARN_ON(op->cs >= nanddev_ntargets(&chip->base)))
+drivers/mtd/nand/raw/internals.h:	return chip->controller->ops->exec_op(chip, op, false);
+drivers/mtd/nand/raw/internals.h:	if (!chip->controller || !chip->controller->ops ||
+drivers/mtd/nand/raw/internals.h:	    !chip->controller->ops->setup_data_interface)
+drivers/mtd/nand/raw/internals.h:	if (chip->options & NAND_KEEP_TIMINGS)
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	oobregion->offset = ((section + 1) * 16) - nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	oobregion->length = nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	oobregion->length = 16 - nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	uint8_t *oobbuf = chip->oob_poi;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	const uint8_t *oobbuf = chip->oob_poi;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.cmd_ctrl = lpc32xx_nand_cmd_ctrl;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.dev_ready = lpc32xx_nand_device_ready;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.chip_delay = 25; /* us */
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.IO_ADDR_R = MLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.IO_ADDR_W = MLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.hwctl = lpc32xx_ecc_enable;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.read_page_raw = lpc32xx_read_page;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.read_page = lpc32xx_read_page;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.write_page_raw = lpc32xx_write_page_lowlevel;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.write_page = lpc32xx_write_page_lowlevel;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.write_oob = lpc32xx_write_oob;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.read_oob = lpc32xx_read_oob;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.strength = 4;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.bytes = 10;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.waitfunc = lpc32xx_waitfunc;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->options = NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->bbt_options = NAND_BBT_USE_FLASH | NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->bbt_td = &lpc32xx_nand_bbt;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->bbt_md = &lpc32xx_nand_bbt_mirror;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.dummy_controller.ops = &lpc32xx_nand_controller_ops;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	return nand_prog_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/lpc32xx_slc.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/lpc32xx_slc.c:				       dma_buf + i * chip->ecc.size,
+drivers/mtd/nand/raw/lpc32xx_slc.c:				       mtd->writesize / chip->ecc.steps, dir);
+drivers/mtd/nand/raw/lpc32xx_slc.c:		if (i == chip->ecc.steps - 1)
+drivers/mtd/nand/raw/lpc32xx_slc.c:	host->ecc_buf[chip->ecc.steps - 1] =
+drivers/mtd/nand/raw/lpc32xx_slc.c:	status = lpc32xx_xfer(mtd, buf, chip->ecc.steps, 1);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	lpc32xx_slc_ecc_copy(tmpecc, (uint32_t *) host->ecc_buf, chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	oobecc = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/lpc32xx_slc.c:		stat = chip->ecc.correct(chip, buf, oobecc,
+drivers/mtd/nand/raw/lpc32xx_slc.c:					 &tmpecc[i * chip->ecc.bytes]);
+drivers/mtd/nand/raw/lpc32xx_slc.c:		buf += chip->ecc.size;
+drivers/mtd/nand/raw/lpc32xx_slc.c:		oobecc += chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf(chip, buf, chip->ecc.size * chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	error = lpc32xx_xfer(mtd, (uint8_t *)buf, chip->ecc.steps, 0);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	pb = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	lpc32xx_slc_ecc_copy(pb, (uint32_t *)host->ecc_buf, chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:				chip->ecc.size * chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.size = 256;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.bytes = LPC32XX_SLC_DEV_ECC_BYTES;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.prepad = 0;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.postpad = 0;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	if ((chip->bbt_options & NAND_BBT_USE_FLASH) &&
+drivers/mtd/nand/raw/lpc32xx_slc.c:		chip->bbt_td = &bbt_smallpage_main_descr;
+drivers/mtd/nand/raw/lpc32xx_slc.c:		chip->bbt_md = &bbt_smallpage_mirror_descr;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.IO_ADDR_R = SLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.IO_ADDR_W = SLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.cmd_ctrl = lpc32xx_nand_cmd_ctrl;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.dev_ready = lpc32xx_nand_device_ready;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.chip_delay = 20; /* 20us command delay time */
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.mode = NAND_ECC_HW_SYNDROME;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_byte = lpc32xx_nand_read_byte;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf = lpc32xx_nand_read_buf;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.write_buf = lpc32xx_nand_write_buf;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.read_page_raw = lpc32xx_nand_read_page_raw_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.read_page = lpc32xx_nand_read_page_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.write_page_raw = lpc32xx_nand_write_page_raw_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.write_page = lpc32xx_nand_write_page_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.write_oob = lpc32xx_nand_write_oob_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.read_oob = lpc32xx_nand_read_oob_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.calculate = lpc32xx_nand_ecc_calculate;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.correct = nand_correct_data;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.strength = 1;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.hwctl = lpc32xx_nand_ecc_enable;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.dummy_controller.ops = &lpc32xx_nand_controller_ops;
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/marvell_nand.c:					 spare, spare_len, chip->ecc.strength);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_read_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_hw_ecc_hmg_do_read_page(chip, buf, chip->oob_poi, false,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_read_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:				  PSEC_TO_MSEC(chip->data_interface.timings.sdr.tPROG_max));
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_write_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	ret = marvell_nfc_hw_ecc_hmg_do_write_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_write_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:		memset(chip->oob_poi, 0xFF, mtd->oobsize);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	u8 *data = buf, *spare = chip->oob_poi;
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:		memset(chip->oob_poi, 0xFF, mtd->oobsize);
+drivers/mtd/nand/raw/marvell_nand.c:						   chip->oob_poi + spare_off, spare_len,
+drivers/mtd/nand/raw/marvell_nand.c:					   chip->oob_poi + ecc_off, ecc_len,
+drivers/mtd/nand/raw/marvell_nand.c:					      chip->oob_poi + spare_off, spare_len,
+drivers/mtd/nand/raw/marvell_nand.c:					      chip->oob_poi + ecc_off, ecc_len,
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.read_page_raw(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.read_page(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:			nand_write_data_op(chip, chip->oob_poi + spare_offset,
+drivers/mtd/nand/raw/marvell_nand.c:			nand_write_data_op(chip, chip->oob_poi + ecc_offset,
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	const u8 *spare = chip->oob_poi;
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:		memset(chip->oob_poi, 0xFF, mtd->oobsize);
+drivers/mtd/nand/raw/marvell_nand.c:				  PSEC_TO_MSEC(chip->data_interface.timings.sdr.tPROG_max));
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.write_page_raw(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.write_page(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:			chip->bbt_options |= NAND_BBT_NO_OOB_BBM;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->base.eccreq.step_size && chip->base.eccreq.strength) {
+drivers/mtd/nand/raw/marvell_nand.c:			ecc->size = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/marvell_nand.c:			ecc->strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH) {
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB_BBM;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/marvell_nand.c:	/* Save the chip-specific fields of NDCR */
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.size = pdata->ecc_step_size;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.strength = pdata->ecc_strength;
+drivers/mtd/nand/raw/marvell_nand.c:	ret = marvell_nand_ecc_init(mtd, &chip->ecc);
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->ecc.mode == NAND_ECC_HW) {
+drivers/mtd/nand/raw/marvell_nand.c:		chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/marvell_nand.c:	chip->controller = &nfc->controller;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/marvell_nand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/marvell_nand.c:	chip->options |= NAND_BUSWIDTH_AUTO;
+drivers/mtd/nand/raw/marvell_nand.c:		marvell_nfc_wait_ndrun(&chip->chip);
+drivers/mtd/nand/raw/meson_nand.c:	if (chip < 0 || WARN_ON_ONCE(chip >= meson_chip->nsels))
+drivers/mtd/nand/raw/meson_nand.c:	nfc->param.chip_select = meson_chip->sels[chip] ? NAND_CE1 : NAND_CE0;
+drivers/mtd/nand/raw/meson_nand.c:	nfc->timing.twb = meson_chip->twb;
+drivers/mtd/nand/raw/meson_nand.c:	nfc->timing.tadl = meson_chip->tadl;
+drivers/mtd/nand/raw/meson_nand.c:	nfc->timing.tbers_max = meson_chip->tbers_max;
+drivers/mtd/nand/raw/meson_nand.c:	if (nfc->clk_rate != meson_chip->clk_rate) {
+drivers/mtd/nand/raw/meson_nand.c:		ret = clk_set_rate(nfc->device_clk, meson_chip->clk_rate);
+drivers/mtd/nand/raw/meson_nand.c:		nfc->clk_rate = meson_chip->clk_rate;
+drivers/mtd/nand/raw/meson_nand.c:	if (nfc->bus_timing != meson_chip->bus_timing) {
+drivers/mtd/nand/raw/meson_nand.c:		value = (NFC_CLK_CYCLE - 1) | (meson_chip->bus_timing << 5);
+drivers/mtd/nand/raw/meson_nand.c:		nfc->bus_timing =  meson_chip->bus_timing;
+drivers/mtd/nand/raw/meson_nand.c:	u32 bch = meson_chip->bch_mode, cmd;
+drivers/mtd/nand/raw/meson_nand.c:	return meson_chip->data_buf + len;
+drivers/mtd/nand/raw/meson_nand.c:	return meson_chip->data_buf + len;
+drivers/mtd/nand/raw/meson_nand.c:		info = &meson_chip->info_buf[i];
+drivers/mtd/nand/raw/meson_nand.c:		info = &meson_chip->info_buf[i];
+drivers/mtd/nand/raw/meson_nand.c:		info = &meson_chip->info_buf[i];
+drivers/mtd/nand/raw/meson_nand.c:	ret = meson_nfc_dma_buffer_setup(nand, meson_chip->data_buf,
+drivers/mtd/nand/raw/meson_nand.c:					 data_len, meson_chip->info_buf,
+drivers/mtd/nand/raw/meson_nand.c:	memcpy(meson_chip->data_buf, buf, mtd->writesize);
+drivers/mtd/nand/raw/meson_nand.c:	memset(meson_chip->info_buf, 0, nand->ecc.steps * PER_INFO_BYTE);
+drivers/mtd/nand/raw/meson_nand.c:	info = &meson_chip->info_buf[neccpages - 1];
+drivers/mtd/nand/raw/meson_nand.c:	ret = meson_nfc_dma_buffer_setup(nand, meson_chip->data_buf,
+drivers/mtd/nand/raw/meson_nand.c:					 data_len, meson_chip->info_buf,
+drivers/mtd/nand/raw/meson_nand.c:	} else if (buf && buf != meson_chip->data_buf) {
+drivers/mtd/nand/raw/meson_nand.c:		memcpy(buf, meson_chip->data_buf, mtd->writesize);
+drivers/mtd/nand/raw/meson_nand.c:					  meson_chip->level1_divider *
+drivers/mtd/nand/raw/meson_nand.c:	kfree(meson_chip->info_buf);
+drivers/mtd/nand/raw/meson_nand.c:	kfree(meson_chip->data_buf);
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->data_buf = kmalloc(page_bytes, GFP_KERNEL);
+drivers/mtd/nand/raw/meson_nand.c:	if (!meson_chip->data_buf)
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->info_buf = kmalloc(info_bytes, GFP_KERNEL);
+drivers/mtd/nand/raw/meson_nand.c:	if (!meson_chip->info_buf) {
+drivers/mtd/nand/raw/meson_nand.c:		kfree(meson_chip->data_buf);
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->twb = DIV_ROUND_UP(PSEC_TO_NSEC(timings->tWB_max),
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->tadl = DIV_ROUND_UP(PSEC_TO_NSEC(timings->tADL_min),
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->tbers_max = ilog2(tbers_clocks);
+drivers/mtd/nand/raw/meson_nand.c:		meson_chip->tbers_max++;
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->level1_divider = div;
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->clk_rate = 1000000000 / meson_chip->level1_divider;
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->bus_timing = (bt_min + bt_max) / 2 + 1;
+drivers/mtd/nand/raw/meson_nand.c:			meson_chip->bch_mode = meson_ecc[i].bch;
+drivers/mtd/nand/raw/meson_nand.c:					   meson_chip->sels[0]);
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->nsels = nsels;
+drivers/mtd/nand/raw/meson_nand.c:	nand = &meson_chip->nand;
+drivers/mtd/nand/raw/meson_nand.c:	list_add_tail(&meson_chip->node, &nfc->chips);
+drivers/mtd/nand/raw/meson_nand.c:		mtd = nand_to_mtd(&meson_chip->nand);
+drivers/mtd/nand/raw/meson_nand.c:		meson_nfc_free_buffer(&meson_chip->nand);
+drivers/mtd/nand/raw/meson_nand.c:		nand_cleanup(&meson_chip->nand);
+drivers/mtd/nand/raw/meson_nand.c:		list_del(&meson_chip->node);
+drivers/mtd/nand/raw/mpc5121_nfc.c:	u32 pagemask = chip->pagemask;
+drivers/mtd/nand/raw/mpc5121_nfc.c:		if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/mpc5121_nfc.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.dev_ready = mpc5121_nfc_dev_ready;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.cmdfunc = mpc5121_nfc_command;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.read_byte = mpc5121_nfc_read_byte;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.read_buf = mpc5121_nfc_read_buf;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.write_buf = mpc5121_nfc_write_buf;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.select_chip = mpc5121_nfc_select_chip;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.set_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.get_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	/* Support external chip-select logic on ADS5121 board */
+drivers/mtd/nand/raw/mpc5121_nfc.c:		chip->legacy.select_chip = ads5121_select_chip;
+drivers/mtd/nand/raw/mtk_nand.c:	return (u8 *)p + i * chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:		poi = chip->oob_poi + (i + 1) * mtk_nand->fdm.reg_size;
+drivers/mtd/nand/raw/mtk_nand.c:		poi = chip->oob_poi;
+drivers/mtd/nand/raw/mtk_nand.c:		poi = chip->oob_poi + i * mtk_nand->fdm.reg_size;
+drivers/mtd/nand/raw/mtk_nand.c:	return chip->ecc.size + mtk_nand->spare_per_sector;
+drivers/mtd/nand/raw/mtk_nand.c:	return nfc->buffer + i * mtk_data_len(chip) + chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:		if (chip->ecc.size == 512)
+drivers/mtd/nand/raw/mtk_nand.c:		if (chip->ecc.size == 512)
+drivers/mtd/nand/raw/mtk_nand.c:		if (chip->ecc.size == 512)
+drivers/mtd/nand/raw/mtk_nand.c:	if (chip->ecc.size == 1024)
+drivers/mtd/nand/raw/mtk_nand.c:	nfc->ecc_cfg.strength = chip->ecc.strength;
+drivers/mtd/nand/raw/mtk_nand.c:	nfc->ecc_cfg.len = chip->ecc.size + mtk_nand->fdm.ecc_size;
+drivers/mtd/nand/raw/mtk_nand.c:	int size = chip->ecc.size + mtk_nand->fdm.reg_size;
+drivers/mtd/nand/raw/mtk_nand.c:		bad_pos += nand->bad_mark.sec * chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	swap(chip->oob_poi[0], buf[bad_pos]);
+drivers/mtd/nand/raw/mtk_nand.c:	start = offset / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	end = DIV_ROUND_UP(offset + len, chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:		       chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:			       chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:	nfi_writel(nfc, chip->ecc.steps << CON_SEC_SHIFT, NFI_CON);
+drivers/mtd/nand/raw/mtk_nand.c:					ADDRCNTR_SEC(reg) >= chip->ecc.steps,
+drivers/mtd/nand/raw/mtk_nand.c:		memset(buf, 0xff, sectors * chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	start = data_offs / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	end = DIV_ROUND_UP(data_offs + readlen, chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	column = start * (chip->ecc.size + spare);
+drivers/mtd/nand/raw/mtk_nand.c:	len = sectors * chip->ecc.size + (raw ? sectors * spare : 0);
+drivers/mtd/nand/raw/mtk_nand.c:	buf = bufpoi + start * chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:			       chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	eccsteps = mtd->writesize / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	eccsteps = mtd->writesize / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	fdm->reg_size = chip->spare_per_sector - ecc_bytes;
+drivers/mtd/nand/raw/mtk_nand.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/mtk_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/mtk_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/mtk_nand.c:	chip->nsels = nsels;
+drivers/mtd/nand/raw/mtk_nand.c:		chip->sels[i] = tmp;
+drivers/mtd/nand/raw/mtk_nand.c:	nand = &chip->nand;
+drivers/mtd/nand/raw/mtk_nand.c:	list_add_tail(&chip->node, &nfc->chips);
+drivers/mtd/nand/raw/mtk_nand.c:		nand_release(&chip->nand);
+drivers/mtd/nand/raw/mtk_nand.c:		list_del(&chip->node);
+drivers/mtd/nand/raw/mtk_nand.c:		nand = &chip->nand;
+drivers/mtd/nand/raw/mtk_nand.c:		for (i = 0; i < chip->nsels; i++)
+drivers/mtd/nand/raw/mxc_nand.c:			if (nand_chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:		oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/mxc_nand.c:		oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/mxc_nand.c:	return host->devtype_data->read_page(chip, NULL, chip->oob_poi, 0,
+drivers/mtd/nand/raw/mxc_nand.c:	copy_spare(mtd, false, chip->oob_poi);
+drivers/mtd/nand/raw/mxc_nand.c:	if (nand_chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/mxc_nand.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	if (section > nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:		if (section < nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	int stepsize = nand_chip->ecc.bytes == 9 ? 16 : 26;
+drivers/mtd/nand/raw/mxc_nand.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	oobregion->length = nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/mxc_nand.c:	int stepsize = nand_chip->ecc.bytes == 9 ? 16 : 26;
+drivers/mtd/nand/raw/mxc_nand.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	if (nand_chip->ecc.mode == NAND_ECC_HW && mtd->writesize)
+drivers/mtd/nand/raw/mxc_nand.c:		if (nand_chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:	addr_phases = fls(chip->pagemask) >> 3;
+drivers/mtd/nand/raw/mxc_nand.c:		if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:	if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/mxc_nand.c:		chip->legacy.write_byte(chip, subfeature_param[i]);
+drivers/mtd/nand/raw/mxc_nand.c:		*subfeature_param++ = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/mxc_nand.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.read_page = mxc_nand_read_page;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.read_page_raw = mxc_nand_read_page_raw;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.read_oob = mxc_nand_read_oob;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.write_page = mxc_nand_write_page_ecc;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.write_page_raw = mxc_nand_write_page_raw;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.write_oob = mxc_nand_write_oob;
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH) {
+drivers/mtd/nand/raw/mxc_nand.c:		chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/mxc_nand.c:	if (!chip->ecc.bytes) {
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.bytes = 18;
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.bytes = 9;
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->ecc.mode == NAND_ECC_HW) {
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.strength = 1;
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.strength = (host->eccsize == 4) ? 4 : 8;
+drivers/mtd/nand/raw/mxic_nand.c:	nand_chip->priv = nfc;
+drivers/mtd/nand/raw/mxic_nand.c:	nand_chip->controller = &nfc->controller;
+drivers/mtd/nand/raw/nand_amd.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_amd.c:	if (chip->id.data[4] != 0x00 && chip->id.data[5] == 0x00 &&
+drivers/mtd/nand/raw/nand_amd.c:	    chip->id.data[6] == 0x00 && chip->id.data[7] == 0x00 &&
+drivers/mtd/nand/raw/nand_amd.c:		memorg->pages_per_eraseblock <<= ((chip->id.data[3] & 0x03) << 1);
+drivers/mtd/nand/raw/nand_amd.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE |
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	if (ofs & ((1ULL << chip->phys_erase_shift) - 1)) {
+drivers/mtd/nand/raw/nand_base.c:	if (len & ((1ULL << chip->phys_erase_shift) - 1)) {
+drivers/mtd/nand/raw/nand_base.c:	if (WARN_ON(cs > nanddev_ntargets(&chip->base)))
+drivers/mtd/nand/raw/nand_base.c:	chip->cur_cs = cs;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.select_chip)
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.select_chip(chip, cs);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.select_chip)
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.select_chip(chip, -1);
+drivers/mtd/nand/raw/nand_base.c:	chip->cur_cs = -1;
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->controller->lock);
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:			 chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	if (page == 0 && !(chip->options & bbm_flags))
+drivers/mtd/nand/raw/nand_base.c:	if (page == 0 && chip->options & NAND_BBM_FIRSTPAGE)
+drivers/mtd/nand/raw/nand_base.c:	if (page <= 1 && chip->options & NAND_BBM_SECONDPAGE)
+drivers/mtd/nand/raw/nand_base.c:	if (page <= last_page && chip->options & NAND_BBM_LASTPAGE)
+drivers/mtd/nand/raw/nand_base.c:	first_page = (int)(ofs >> chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:		res = chip->ecc.read_oob(chip, first_page + page_offset);
+drivers/mtd/nand/raw/nand_base.c:		bad = chip->oob_poi[chip->badblockpos];
+drivers/mtd/nand/raw/nand_base.c:		if (likely(chip->badblockbits == 8))
+drivers/mtd/nand/raw/nand_base.c:			res = hweight8(bad) < chip->badblockbits;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.block_bad)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.block_bad(chip, ofs);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->suspended) {
+drivers/mtd/nand/raw/nand_base.c:		mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->controller->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BROKEN_XD)
+drivers/mtd/nand/raw/nand_base.c:	memset(chip->oob_poi, 0xff, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:		memcpy(chip->oob_poi + ops->ooboffs, oob, len);
+drivers/mtd/nand/raw/nand_base.c:		ret = mtd_ooblayout_set_databytes(mtd, oob, chip->oob_poi,
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(to >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = (int)(to >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	if (page == chip->pagecache.page)
+drivers/mtd/nand/raw/nand_base.c:		chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_oob_raw(chip, page & chip->pagemask);
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_oob(chip, page & chip->pagemask);
+drivers/mtd/nand/raw/nand_base.c:	ops.ooboffs = chip->badblockpos;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.block_markbad)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.block_markbad(chip, ofs);
+drivers/mtd/nand/raw/nand_base.c: * specify how to write bad block markers to OOB (chip->legacy.block_markbad).
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->bbt_options & NAND_BBT_NO_OOB_BBM)) {
+drivers/mtd/nand/raw/nand_base.c:		einfo.len = 1ULL << chip->phys_erase_shift;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->bbt) {
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->bbt)
+drivers/mtd/nand/raw/nand_base.c:	if (chip->bbt)
+drivers/mtd/nand/raw/nand_base.c:	timings = nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_base.c:			if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_base.c:	return (chip->parameters.supports_set_get_features &&
+drivers/mtd/nand/raw/nand_base.c:		test_bit(addr, chip->parameters.get_feature_list));
+drivers/mtd/nand/raw/nand_base.c:	return (chip->parameters.supports_set_get_features &&
+drivers/mtd/nand/raw/nand_base.c:		test_bit(addr, chip->parameters.set_feature_list));
+drivers/mtd/nand/raw/nand_base.c:	ret = chip->controller->ops->setup_data_interface(chip, chipnr,
+drivers/mtd/nand/raw/nand_base.c:							&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		chip->onfi_timing_mode_default,
+drivers/mtd/nand/raw/nand_base.c:	ret = chip->controller->ops->setup_data_interface(chip, chipnr,
+drivers/mtd/nand/raw/nand_base.c:							&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	if (tmode_param[0] != chip->onfi_timing_mode_default) {
+drivers/mtd/nand/raw/nand_base.c:			chip->onfi_timing_mode_default);
+drivers/mtd/nand/raw/nand_base.c: * function nand_chip->data_interface is initialized with the best timing mode
+drivers/mtd/nand/raw/nand_base.c:	if (chip->parameters.onfi) {
+drivers/mtd/nand/raw/nand_base.c:		modes = chip->parameters.onfi->async_timing_mode;
+drivers/mtd/nand/raw/nand_base.c:		if (!chip->onfi_timing_mode_default)
+drivers/mtd/nand/raw/nand_base.c:		modes = GENMASK(chip->onfi_timing_mode_default, 0);
+drivers/mtd/nand/raw/nand_base.c:		ret = chip->controller->ops->setup_data_interface(chip,
+drivers/mtd/nand/raw/nand_base.c:						 &chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:			chip->onfi_timing_mode_default = mode;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/nand_base.c:		nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:		 !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/nand_base.c:		nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READ0, offset_in_page, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_PARAM, page, -1);
+drivers/mtd/nand/raw/nand_base.c:		p[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_RNDOUT, offset_in_page, -1);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READOOB, offset_in_oob, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:		nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_base.c:			 !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_SEQIN, offset_in_page, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		ret = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_SEQIN, offset_in_page,
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		status = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_RNDIN, offset_in_page, -1);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READID, addr, -1);
+drivers/mtd/nand/raw/nand_base.c:		id[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_STATUS, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		*status = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READ0, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:			    (chip->phys_erase_shift - chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_ERASE1, -1, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_ERASE2, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		ret = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_SET_FEATURES, feature, -1);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_byte(chip, params[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_GET_FEATURES, feature, -1);
+drivers/mtd/nand/raw/nand_base.c:		params[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->legacy.dev_ready)
+drivers/mtd/nand/raw/nand_base.c:		udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_RESET, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:			p[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:			chip->legacy.write_byte(chip, p[i]);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_data_interface saved_data_intf = chip->data_interface;
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->onfi_timing_mode_default)
+drivers/mtd/nand/raw/nand_base.c:	chip->data_interface = saved_data_intf;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.get_features)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.get_features(chip, addr, subfeature_param);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.set_features)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.set_features(chip, addr, subfeature_param);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:		ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	for (steps = chip->ecc.steps; steps > 0; steps--) {
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	size = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.read_page_raw(chip, buf, 1, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	int busw = (chip->options & NAND_BUSWIDTH_16) ? 2 : 1;
+drivers/mtd/nand/raw/nand_base.c:	start_step = data_offs / chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	end_step = (data_offs + readlen - 1) / chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	index = start_step * chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	datafrag_len = num_steps * chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	eccfrag_len = num_steps * chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	data_col_addr = start_step * chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < eccfrag_len ; i += chip->ecc.bytes, p += chip->ecc.size)
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &chip->ecc.calc_buf[i]);
+drivers/mtd/nand/raw/nand_base.c:						 chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_base.c:		if ((oobregion.offset + (num_steps * chip->ecc.bytes)) &
+drivers/mtd/nand/raw/nand_base.c:						 &chip->oob_poi[aligned_pos],
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, chip->ecc.code_buf,
+drivers/mtd/nand/raw/nand_base.c:					 chip->oob_poi, index, eccfrag_len);
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < eccfrag_len ; i += chip->ecc.bytes, p += chip->ecc.size) {
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &chip->ecc.code_buf[i],
+drivers/mtd/nand/raw/nand_base.c:					 &chip->ecc.calc_buf[i]);
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:			stat = nand_check_erased_ecc_chunk(p, chip->ecc.size,
+drivers/mtd/nand/raw/nand_base.c:						&chip->ecc.code_buf[i],
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.bytes,
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], NULL);
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int ret, i, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	int eccpadbytes = eccbytes + chip->ecc.prepad + chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READSYN);
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, oob, NULL);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:			stat = nand_check_erased_ecc_chunk(p, chip->ecc.size,
+drivers/mtd/nand/raw/nand_base.c:							   chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c:	i = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c:		memcpy(oob, chip->oob_poi + ops->ooboffs, len);
+drivers/mtd/nand/raw/nand_base.c:		ret = mtd_ooblayout_get_databytes(mtd, oob, chip->oob_poi,
+drivers/mtd/nand/raw/nand_base.c:	if (retry_mode >= chip->read_retries)
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->setup_read_retry)
+drivers/mtd/nand/raw/nand_base.c:	return chip->setup_read_retry(chip, retry_mode);
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->options & NAND_NEED_READRDY))
+drivers/mtd/nand/raw/nand_base.c:	sdr = nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(from >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	realpage = (int)(from >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:		else if (chip->options & NAND_USE_BOUNCE_BUFFER)
+drivers/mtd/nand/raw/nand_base.c:						 chip->buf_align);
+drivers/mtd/nand/raw/nand_base.c:		if (realpage != chip->pagecache.page || oob) {
+drivers/mtd/nand/raw/nand_base.c:			bufpoi = use_bufpoi ? chip->data_buf : buf;
+drivers/mtd/nand/raw/nand_base.c:				ret = chip->ecc.read_page_raw(chip, bufpoi,
+drivers/mtd/nand/raw/nand_base.c:				ret = chip->ecc.read_subpage(chip, col, bytes,
+drivers/mtd/nand/raw/nand_base.c:				ret = chip->ecc.read_page(chip, bufpoi,
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.page = realpage;
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.bitflips = ret;
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:				memcpy(buf, chip->data_buf + col, bytes);
+drivers/mtd/nand/raw/nand_base.c:				if (retry_mode + 1 < chip->read_retries) {
+drivers/mtd/nand/raw/nand_base.c:			memcpy(buf, chip->data_buf + col, bytes);
+drivers/mtd/nand/raw/nand_base.c:					     chip->pagecache.bitflips);
+drivers/mtd/nand/raw/nand_base.c:		page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:	int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *bufpoi = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_read_page_op(chip, page, chip->ecc.size, NULL, 0);
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/nand_base.c:	return nand_prog_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/nand_base.c:	int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size, length = mtd->oobsize;
+drivers/mtd/nand/raw/nand_base.c:	int ret, i, len, pos, sndcmd = 0, steps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	const uint8_t *bufpoi = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->ecc.prepad && !chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(from >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	realpage = (int)(from >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:			ret = chip->ecc.read_oob_raw(chip, page);
+drivers/mtd/nand/raw/nand_base.c:			ret = chip->ecc.read_oob(chip, page);
+drivers/mtd/nand/raw/nand_base.c:		page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:		ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	for (steps = chip->ecc.steps; steps > 0; steps--) {
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	size = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	return chip->ecc.write_page_raw(chip, buf, 1, page);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob_buf  = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	int ecc_size      = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int ecc_bytes     = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int ecc_steps     = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/nand_base.c:			chip->ecc.calculate(chip, buf, ecc_calc);
+drivers/mtd/nand/raw/nand_base.c:	/* copy calculated ECC for whole page to chip->buffer->oob */
+drivers/mtd/nand/raw/nand_base.c:	ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, oob);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	i = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->options & NAND_NO_SUBPAGE_WRITE) &&
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.write_subpage)
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_page_raw(chip, buf, oob_required,
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_subpage(chip, offset, data_len, buf,
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_page(chip, buf, oob_required, page);
+drivers/mtd/nand/raw/nand_base.c:#define NOTALIGNED(x)	((x & (chip->subpagesize - 1)) != 0)
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(to >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	realpage = (int)(to >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	if (to <= ((loff_t)chip->pagecache.page << chip->page_shift) &&
+drivers/mtd/nand/raw/nand_base.c:	    ((loff_t)chip->pagecache.page << chip->page_shift) < (to + ops->len))
+drivers/mtd/nand/raw/nand_base.c:		chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		else if (chip->options & NAND_USE_BOUNCE_BUFFER)
+drivers/mtd/nand/raw/nand_base.c:						 chip->buf_align);
+drivers/mtd/nand/raw/nand_base.c:			memset(chip->oob_poi, 0xff, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:		page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	int chipnr = (int)(to >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	return chip->write_oob(chip, to, ops);
+drivers/mtd/nand/raw/nand_base.c:	return chip->erase(chip, instr, 0);
+drivers/mtd/nand/raw/nand_base.c:	page = (int)(instr->addr >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(instr->addr >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	pages_per_block = 1 << (chip->phys_erase_shift - chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:					chip->page_shift, allowbbt)) {
+drivers/mtd/nand/raw/nand_base.c:		if (page <= chip->pagecache.page && chip->pagecache.page <
+drivers/mtd/nand/raw/nand_base.c:			chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		ret = nand_erase_op(chip, (page & chip->pagemask) >>
+drivers/mtd/nand/raw/nand_base.c:				    (chip->phys_erase_shift - chip->page_shift));
+drivers/mtd/nand/raw/nand_base.c:				((loff_t)page << chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:		len -= (1ULL << chip->phys_erase_shift);
+drivers/mtd/nand/raw/nand_base.c:		if (len && !(page & chip->pagemask)) {
+drivers/mtd/nand/raw/nand_base.c:	int chipnr = (int)(offs >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	chip->suspended = 1;
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->suspended)
+drivers/mtd/nand/raw/nand_base.c:		chip->suspended = 0;
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->controller) {
+drivers/mtd/nand/raw/nand_base.c:		chip->controller = &chip->legacy.dummy_controller;
+drivers/mtd/nand/raw/nand_base.c:		nand_controller_init(chip->controller);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->buf_align)
+drivers/mtd/nand/raw/nand_base.c:		chip->buf_align = 1;
+drivers/mtd/nand/raw/nand_base.c:	chip->erase = nand_erase_nand;
+drivers/mtd/nand/raw/nand_base.c:	chip->write_oob = nand_write_oob_nand;
+drivers/mtd/nand/raw/nand_base.c:	u8 *id_data = chip->id.data;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	if (mtd->writesize > 512 || (chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/nand_base.c:		chip->badblockpos = NAND_BBM_POS_LARGE;
+drivers/mtd/nand/raw/nand_base.c:		chip->badblockpos = NAND_BBM_POS_SMALL;
+drivers/mtd/nand/raw/nand_base.c:	u8 *id_data = chip->id.data;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= type->options;
+drivers/mtd/nand/raw/nand_base.c:		chip->base.eccreq.strength = NAND_ECC_STRENGTH(type);
+drivers/mtd/nand/raw/nand_base.c:		chip->base.eccreq.step_size = NAND_ECC_STEP(type);
+drivers/mtd/nand/raw/nand_base.c:		chip->onfi_timing_mode_default =
+drivers/mtd/nand/raw/nand_base.c:		chip->parameters.model = kstrdup(type->name, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_base.c:		if (!chip->parameters.model)
+drivers/mtd/nand/raw/nand_base.c:	if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
+drivers/mtd/nand/raw/nand_base.c:	    chip->manufacturer.desc->ops->detect) {
+drivers/mtd/nand/raw/nand_base.c:		memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:		memorg->bits_per_cell = nand_get_bits_per_cell(chip->id.data[2]);
+drivers/mtd/nand/raw/nand_base.c:		chip->manufacturer.desc->ops->detect(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->manufacturer.desc || !chip->manufacturer.desc->ops ||
+drivers/mtd/nand/raw/nand_base.c:	    !chip->manufacturer.desc->ops->init)
+drivers/mtd/nand/raw/nand_base.c:	return chip->manufacturer.desc->ops->init(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
+drivers/mtd/nand/raw/nand_base.c:	    chip->manufacturer.desc->ops->cleanup)
+drivers/mtd/nand/raw/nand_base.c:		chip->manufacturer.desc->ops->cleanup(chip);
+drivers/mtd/nand/raw/nand_base.c:	u8 *id_data = chip->id.data;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_readid_op(chip, 0, id_data, sizeof(chip->id.data));
+drivers/mtd/nand/raw/nand_base.c:	chip->id.len = nand_id_len(id_data, ARRAY_SIZE(chip->id.data));
+drivers/mtd/nand/raw/nand_base.c:	chip->manufacturer.desc = manufacturer;
+drivers/mtd/nand/raw/nand_base.c:	busw = chip->options & NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:	chip->options &= ~NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:	chip->parameters.model = kstrdup(type->name, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->parameters.model)
+drivers/mtd/nand/raw/nand_base.c:	chip->options |= type->options;
+drivers/mtd/nand/raw/nand_base.c:		mtd->name = chip->parameters.model;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BUSWIDTH_AUTO) {
+drivers/mtd/nand/raw/nand_base.c:	} else if (busw != (chip->options & NAND_BUSWIDTH_16)) {
+drivers/mtd/nand/raw/nand_base.c:			(chip->options & NAND_BUSWIDTH_16) ? 16 : 8);
+drivers/mtd/nand/raw/nand_base.c:	chip->page_shift = ffs(mtd->writesize) - 1;
+drivers/mtd/nand/raw/nand_base.c:	targetsize = nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	chip->pagemask = (targetsize >> chip->page_shift) - 1;
+drivers/mtd/nand/raw/nand_base.c:	chip->bbt_erase_shift = chip->phys_erase_shift =
+drivers/mtd/nand/raw/nand_base.c:		chip->chip_shift = ffs((unsigned)targetsize) - 1;
+drivers/mtd/nand/raw/nand_base.c:		chip->chip_shift = ffs((unsigned)(targetsize >> 32));
+drivers/mtd/nand/raw/nand_base.c:		chip->chip_shift += 32 - 1;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->chip_shift - chip->page_shift > 16)
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_ROW_ADDR_3;
+drivers/mtd/nand/raw/nand_base.c:	chip->badblockbits = 8;
+drivers/mtd/nand/raw/nand_base.c:		chip->parameters.model);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->parameters.model);
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_IS_BOOT_MEDIUM;
+drivers/mtd/nand/raw/nand_base.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.mode = ecc_mode;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.algo = ecc_algo;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.strength = ecc_strength;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.size = ecc_step;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.options |= NAND_ECC_MAXIMIZE;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	chip->cur_cs = -1;
+drivers/mtd/nand/raw/nand_base.c:	mutex_init(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:		if (!(chip->options & NAND_SCAN_SILENT_NODEV))
+drivers/mtd/nand/raw/nand_base.c:	nand_maf_id = chip->id.data[0];
+drivers/mtd/nand/raw/nand_base.c:	nand_dev_id = chip->id.data[1];
+drivers/mtd/nand/raw/nand_base.c:	mtd->size = i * nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->parameters.model);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->parameters.onfi);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	int preset_step = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int preset_strength = chip->ecc.strength;
+drivers/mtd/nand/raw/nand_base.c:			chip->ecc.bytes = ecc_bytes;
+drivers/mtd/nand/raw/nand_base.c:	int req_step = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/nand_base.c:	int req_strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.size = best_step;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.strength = best_strength;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.bytes = best_ecc_bytes;
+drivers/mtd/nand/raw/nand_base.c:		/* If chip->ecc.size is already set, respect it */
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.size && step_size != chip->ecc.size)
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.size = best_step;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.strength = best_strength;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.bytes = best_ecc_bytes;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->ecc.size && chip->ecc.strength)
+drivers/mtd/nand/raw/nand_base.c:	if (chip->ecc.options & NAND_ECC_MAXIMIZE)
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	if (ecc->size == 0 || chip->base.eccreq.step_size == 0)
+drivers/mtd/nand/raw/nand_base.c:	ds_corr = (mtd->writesize * chip->base.eccreq.strength) /
+drivers/mtd/nand/raw/nand_base.c:		  chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/nand_base.c:	return corr >= ds_corr && ecc->strength >= chip->base.eccreq.strength;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	if (WARN_ON((chip->bbt_options & NAND_BBT_NO_OOB_BBM) &&
+drivers/mtd/nand/raw/nand_base.c:		   !(chip->bbt_options & NAND_BBT_USE_FLASH))) {
+drivers/mtd/nand/raw/nand_base.c:	chip->data_buf = kmalloc(mtd->writesize + mtd->oobsize, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->data_buf)
+drivers/mtd/nand/raw/nand_base.c:	chip->oob_poi = chip->data_buf + mtd->writesize;
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->options & NAND_NO_SUBPAGE_WRITE) && nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_base.c:	chip->subpagesize = mtd->writesize >> mtd->subpage_sft;
+drivers/mtd/nand/raw/nand_base.c:	chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		if (chip->page_shift > 9)
+drivers/mtd/nand/raw/nand_base.c:			chip->options |= NAND_SUBPAGE_READ;
+drivers/mtd/nand/raw/nand_base.c:	ret = nanddev_init(&chip->base, &rawnand_ops, mtd->owner);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROM)
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < nanddev_ntargets(&chip->base); i++) {
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_SKIP_BBTSCAN)
+drivers/mtd/nand/raw/nand_base.c:	nanddev_cleanup(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->data_buf);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->controller->ops && chip->controller->ops->attach_chip)
+drivers/mtd/nand/raw/nand_base.c:		return chip->controller->ops->attach_chip(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->controller->ops && chip->controller->ops->detach_chip)
+drivers/mtd/nand/raw/nand_base.c:		chip->controller->ops->detach_chip(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->ecc.mode == NAND_ECC_SOFT &&
+drivers/mtd/nand/raw/nand_base.c:	    chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/nand_base.c:		nand_bch_free((struct nand_bch_control *)chip->ecc.priv);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->bbt);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->data_buf);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->ecc.code_buf);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->ecc.calc_buf);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->badblock_pattern && chip->badblock_pattern->options
+drivers/mtd/nand/raw/nand_base.c:		kfree(chip->badblock_pattern);
+drivers/mtd/nand/raw/nand_bbt.c:	uint8_t entry = chip->bbt[block >> BBT_ENTRY_SHIFT];
+drivers/mtd/nand/raw/nand_bbt.c:	chip->bbt[block >> BBT_ENTRY_SHIFT] |= msk;
+drivers/mtd/nand/raw/nand_bch.c:	struct nand_bch_control *nbc = chip->ecc.priv;
+drivers/mtd/nand/raw/nand_bch.c:	memset(code, 0, chip->ecc.bytes);
+drivers/mtd/nand/raw/nand_bch.c:	encode_bch(nbc->bch, buf, chip->ecc.size, code);
+drivers/mtd/nand/raw/nand_bch.c:	for (i = 0; i < chip->ecc.bytes; i++)
+drivers/mtd/nand/raw/nand_bch.c:	struct nand_bch_control *nbc = chip->ecc.priv;
+drivers/mtd/nand/raw/nand_bch.c:	count = decode_bch(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc,
+drivers/mtd/nand/raw/nand_bch.c:			if (errloc[i] < (chip->ecc.size*8))
+drivers/mtd/nand/raw/nand_ecc.c:	bool sm_order = chip->ecc.options & NAND_ECC_SOFT_HAMMING_SM_ORDER;
+drivers/mtd/nand/raw/nand_ecc.c:	__nand_calculate_ecc(buf, chip->ecc.size, code, sm_order);
+drivers/mtd/nand/raw/nand_ecc.c:	bool sm_order = chip->ecc.options & NAND_ECC_SOFT_HAMMING_SM_ORDER;
+drivers/mtd/nand/raw/nand_ecc.c:	return __nand_correct_data(buf, read_ecc, calc_ecc, chip->ecc.size,
+drivers/mtd/nand/raw/nand_esmt.c:	if (chip->id.len >= 5 && nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_esmt.c:		chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_esmt.c:		switch (chip->id.data[4] & 0x3) {
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.strength = 4;
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.strength = 2;
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.strength = 1;
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_esmt.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE |
+drivers/mtd/nand/raw/nand_hynix.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->legacy.cmdfunc(chip, cmd, -1, -1);
+drivers/mtd/nand/raw/nand_hynix.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->legacy.cmdfunc(chip, NAND_CMD_NONE, column, -1);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->legacy.write_byte(chip, val);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->setup_read_retry = hynix_nand_setup_read_retry;
+drivers/mtd/nand/raw/nand_hynix.c:	chip->read_retries = nmodes;
+drivers/mtd/nand/raw/nand_hynix.c:		u8 nand_tech = chip->id.data[5] >> 4;
+drivers/mtd/nand/raw/nand_hynix.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_hynix.c:	oobsize = ((chip->id.data[3] >> 2) & 0x3) |
+drivers/mtd/nand/raw/nand_hynix.c:		  ((chip->id.data[3] >> 4) & 0x4);
+drivers/mtd/nand/raw/nand_hynix.c:		if (chip->id.data[1] == 0xde)
+drivers/mtd/nand/raw/nand_hynix.c:	u8 ecc_level = (chip->id.data[4] >> 4) & 0x7;
+drivers/mtd/nand/raw/nand_hynix.c:		chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 0;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 4;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 24;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 32;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 40;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 50;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 60;
+drivers/mtd/nand/raw/nand_hynix.c:		u8 nand_tech = chip->id.data[5] & 0x7;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 1 << ecc_level;
+drivers/mtd/nand/raw/nand_hynix.c:					chip->base.eccreq.step_size = 2048;
+drivers/mtd/nand/raw/nand_hynix.c:					chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 24;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 0;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 1 << (ecc_level - 1);
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 24 +
+drivers/mtd/nand/raw/nand_hynix.c:	if (nanddev_bits_per_cell(&chip->base) > 2)
+drivers/mtd/nand/raw/nand_hynix.c:		chip->options |= NAND_NEED_SCRAMBLING;
+drivers/mtd/nand/raw/nand_hynix.c:		nand_tech = chip->id.data[5] >> 4;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->options |= NAND_NEED_SCRAMBLING;
+drivers/mtd/nand/raw/nand_hynix.c:		nand_tech = chip->id.data[5] & 0x7;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->options |= NAND_NEED_SCRAMBLING;
+drivers/mtd/nand/raw/nand_hynix.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_hynix.c:	if (chip->id.len < 6 || nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_hynix.c:	memorg->pagesize = 2048 << (chip->id.data[3] & 0x03);
+drivers/mtd/nand/raw/nand_hynix.c:	tmp = (chip->id.data[3] >> 4) & 0x3;
+drivers/mtd/nand/raw/nand_hynix.c:	if (chip->id.data[3] & 0x80) {
+drivers/mtd/nand/raw/nand_hynix.c:		chip->options |= NAND_BBM_LASTPAGE;
+drivers/mtd/nand/raw/nand_hynix.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_jedec.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_jedec.c:	chip->parameters.model = kstrdup(p->model, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_jedec.c:	if (!chip->parameters.model) {
+drivers/mtd/nand/raw/nand_jedec.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_jedec.c:		chip->base.eccreq.strength = ecc->ecc_bits;
+drivers/mtd/nand/raw/nand_jedec.c:		chip->base.eccreq.step_size = 1 << ecc->codeword_size;
+drivers/mtd/nand/raw/nand_legacy.c:	return readb(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/nand_legacy.c:	return (uint8_t) cpu_to_le16(readw(chip->legacy.IO_ADDR_R));
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.write_buf(chip, &byte, 1);
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.write_buf(chip, (uint8_t *)&word, 2);
+drivers/mtd/nand/raw/nand_legacy.c:	iowrite8_rep(chip->legacy.IO_ADDR_W, buf, len);
+drivers/mtd/nand/raw/nand_legacy.c:	ioread8_rep(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/nand_legacy.c:	iowrite16_rep(chip->legacy.IO_ADDR_W, p, len >> 1);
+drivers/mtd/nand/raw/nand_legacy.c:	ioread16_rep(chip->legacy.IO_ADDR_R, p, len >> 1);
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, readcmd, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, command, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->options & NAND_BUSWIDTH_16 &&
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, column, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, page_addr, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, page_addr >> 8, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, page_addr >> 16, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready)
+drivers/mtd/nand/raw/nand_legacy.c:		udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_STATUS,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (!chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_legacy.c:			udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:	if (!(chip->options & NAND_WAIT_TCCS))
+drivers/mtd/nand/raw/nand_legacy.c:		ndelay(chip->data_interface.timings.sdr.tCCS_min / 1000);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, command,
+drivers/mtd/nand/raw/nand_legacy.c:			if (chip->options & NAND_BUSWIDTH_16 &&
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, column, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:				chip->legacy.cmd_ctrl(chip, column >> 8, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, page_addr, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, page_addr >> 8,
+drivers/mtd/nand/raw/nand_legacy.c:			if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_legacy.c:				chip->legacy.cmd_ctrl(chip, page_addr >> 16,
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready)
+drivers/mtd/nand/raw/nand_legacy.c:		udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_STATUS,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_RNDOUTSTART,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_READSTART,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (!chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_legacy.c:			udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:			if (chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_legacy.c:				if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:	unsigned int busw = chip->options & NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.chip_delay)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.chip_delay = 20;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.cmdfunc)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmdfunc = nand_command;
+drivers/mtd/nand/raw/nand_legacy.c:	if (chip->legacy.waitfunc == NULL)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.waitfunc = nand_wait;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.select_chip)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.select_chip = nand_select_chip;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.read_byte || chip->legacy.read_byte == nand_read_byte)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.read_byte = busw ? nand_read_byte16 : nand_read_byte;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.write_buf || chip->legacy.write_buf == nand_write_buf)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.write_buf = busw ? nand_write_buf16 : nand_write_buf;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.write_byte || chip->legacy.write_byte == nand_write_byte)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.write_byte = busw ? nand_write_byte16 : nand_write_byte;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.read_buf || chip->legacy.read_buf == nand_read_buf)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.read_buf = busw ? nand_read_buf16 : nand_read_buf;
+drivers/mtd/nand/raw/nand_legacy.c:	if (mtd->writesize > 512 && chip->legacy.cmdfunc == nand_command)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmdfunc = nand_command_lp;
+drivers/mtd/nand/raw/nand_legacy.c:	if ((!chip->legacy.cmdfunc || !chip->legacy.select_chip) &&
+drivers/mtd/nand/raw/nand_legacy.c:	    !chip->legacy.cmd_ctrl) {
+drivers/mtd/nand/raw/nand_macronix.c:	if (!chip->parameters.supports_set_get_features ||
+drivers/mtd/nand/raw/nand_macronix.c:		      chip->parameters.set_feature_list))
+drivers/mtd/nand/raw/nand_macronix.c:	struct nand_parameters *p = &chip->parameters;
+drivers/mtd/nand/raw/nand_macronix.c:	chip->read_retries = MACRONIX_NUM_READ_RETRY_MODES;
+drivers/mtd/nand/raw/nand_macronix.c:	chip->setup_read_retry = macronix_nand_setup_read_retry;
+drivers/mtd/nand/raw/nand_macronix.c:	if (!chip->parameters.supports_set_get_features)
+drivers/mtd/nand/raw/nand_macronix.c:		if (!strcmp(broken_get_timings[i], chip->parameters.model))
+drivers/mtd/nand/raw/nand_macronix.c:	bitmap_clear(chip->parameters.get_feature_list,
+drivers/mtd/nand/raw/nand_macronix.c:	bitmap_clear(chip->parameters.set_feature_list,
+drivers/mtd/nand/raw/nand_macronix.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_micron.c:	struct nand_parameters *p = &chip->parameters;
+drivers/mtd/nand/raw/nand_micron.c:		chip->read_retries = micron->read_retry_options;
+drivers/mtd/nand/raw/nand_micron.c:		chip->setup_read_retry = micron_nand_setup_read_retry;
+drivers/mtd/nand/raw/nand_micron.c:	oobregion->offset = mtd->oobsize - chip->ecc.total;
+drivers/mtd/nand/raw/nand_micron.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/nand_micron.c:	oobregion->length = mtd->oobsize - chip->ecc.total - 2;
+drivers/mtd/nand/raw/nand_micron.c:		ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_micron.c:	for (step = 0; step < chip->ecc.steps; step++) {
+drivers/mtd/nand/raw/nand_micron.c:		offs = step * chip->ecc.size;
+drivers/mtd/nand/raw/nand_micron.c:		for (i = 0; i < chip->ecc.size; i++)
+drivers/mtd/nand/raw/nand_micron.c:		corrbuf = chip->oob_poi + offs;
+drivers/mtd/nand/raw/nand_micron.c:		for (i = 0; i < chip->ecc.bytes + 4; i++)
+drivers/mtd/nand/raw/nand_micron.c:		if (WARN_ON(nbitflips > chip->ecc.strength))
+drivers/mtd/nand/raw/nand_micron.c:		ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_micron.c:	if (chip->ecc.strength == 4)
+drivers/mtd/nand/raw/nand_micron.c:	if (!chip->parameters.onfi)
+drivers/mtd/nand/raw/nand_micron.c:	if (nanddev_bits_per_cell(&chip->base) != 1)
+drivers/mtd/nand/raw/nand_micron.c:	if  (chip->base.eccreq.strength != 4 && chip->base.eccreq.strength != 8)
+drivers/mtd/nand/raw/nand_micron.c:	if (chip->id.len != 5 ||
+drivers/mtd/nand/raw/nand_micron.c:	    (chip->id.data[4] & MICRON_ID_INTERNAL_ECC_MASK) != 0x2)
+drivers/mtd/nand/raw/nand_micron.c:	if  (chip->base.eccreq.strength != 4 && chip->base.eccreq.strength != 8)
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int page = eb * nanddev_page_per_eraseblock(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:					      nanddev_page_size(&chip->base)
+drivers/mtd/nand/raw/nand_micron.c:					      chip->data_buf, page,
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int eb_sz = nanddev_eraseblock_size(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int eb_sz = nanddev_eraseblock_size(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int p_sz = nanddev_page_size(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int ppeb = nanddev_pages_per_eraseblock(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	chip->options |= NAND_BBM_FIRSTPAGE;
+drivers/mtd/nand/raw/nand_micron.c:		chip->options |= NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_micron.c:	    chip->ecc.mode != NAND_ECC_ON_DIE) {
+drivers/mtd/nand/raw/nand_micron.c:	if (chip->ecc.mode == NAND_ECC_ON_DIE) {
+drivers/mtd/nand/raw/nand_micron.c:		if (chip->base.eccreq.strength == 4) {
+drivers/mtd/nand/raw/nand_micron.c:		if (chip->base.eccreq.strength == 4)
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.bytes = chip->base.eccreq.strength * 2;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.read_page = micron_nand_read_page_on_die_ecc;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.write_page = micron_nand_write_page_on_die_ecc;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.read_page_raw = nand_read_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.write_page_raw = nand_write_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.read_page_raw = nand_read_page_raw;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.write_page_raw = nand_write_page_raw;
+drivers/mtd/nand/raw/nand_micron.c:					   nanddev_neraseblocks(&chip->base),
+drivers/mtd/nand/raw/nand_micron.c:		chip->erase = micron_nand_erase;
+drivers/mtd/nand/raw/nand_micron.c:		chip->write_oob = micron_nand_write_oob;
+drivers/mtd/nand/raw/nand_onfi.c:	chip->base.eccreq.strength = ecc->ecc_bits;
+drivers/mtd/nand/raw/nand_onfi.c:	chip->base.eccreq.step_size = 1 << ecc->codeword_size;
+drivers/mtd/nand/raw/nand_onfi.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_onfi.c:	if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
+drivers/mtd/nand/raw/nand_onfi.c:	    chip->manufacturer.desc->ops->fixup_onfi_param_page)
+drivers/mtd/nand/raw/nand_onfi.c:		chip->manufacturer.desc->ops->fixup_onfi_param_page(chip, p);
+drivers/mtd/nand/raw/nand_onfi.c:	chip->parameters.model = kstrdup(p->model, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_onfi.c:	if (!chip->parameters.model) {
+drivers/mtd/nand/raw/nand_onfi.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_onfi.c:		chip->base.eccreq.strength = p->ecc_bits;
+drivers/mtd/nand/raw/nand_onfi.c:		chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_onfi.c:		 * by the chip->legacy.cmdfunc. So try to update the
+drivers/mtd/nand/raw/nand_onfi.c:		 * chip->legacy.cmdfunc now. We do not replace user supplied
+drivers/mtd/nand/raw/nand_onfi.c:		chip->parameters.supports_set_get_features = true;
+drivers/mtd/nand/raw/nand_onfi.c:		bitmap_set(chip->parameters.get_feature_list,
+drivers/mtd/nand/raw/nand_onfi.c:		bitmap_set(chip->parameters.set_feature_list,
+drivers/mtd/nand/raw/nand_onfi.c:	chip->parameters.onfi = onfi;
+drivers/mtd/nand/raw/nand_onfi.c:	kfree(chip->parameters.model);
+drivers/mtd/nand/raw/nand_samsung.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_samsung.c:	if (chip->id.len == 6 && !nand_is_slc(chip) &&
+drivers/mtd/nand/raw/nand_samsung.c:	    chip->id.data[5] != 0x00) {
+drivers/mtd/nand/raw/nand_samsung.c:		u8 extid = chip->id.data[3];
+drivers/mtd/nand/raw/nand_samsung.c:		extid = (chip->id.data[4] >> 4) & 0x07;
+drivers/mtd/nand/raw/nand_samsung.c:			chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_samsung.c:			chip->base.eccreq.strength = 1 << extid;
+drivers/mtd/nand/raw/nand_samsung.c:			chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 24;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 40;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 60;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_samsung.c:			switch (chip->id.data[1]) {
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 1;
+drivers/mtd/nand/raw/nand_samsung.c:				if (chip->id.len > 4 &&
+drivers/mtd/nand/raw/nand_samsung.c:				    (chip->id.data[4] & GENMASK(1, 0)) == 0x1)
+drivers/mtd/nand/raw/nand_samsung.c:					chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/nand_samsung.c:		chip->options |= NAND_SAMSUNG_LP_OPTIONS;
+drivers/mtd/nand/raw/nand_samsung.c:		chip->options |= NAND_BBM_LASTPAGE;
+drivers/mtd/nand/raw/nand_samsung.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_timings.c:	struct nand_data_interface *iface = &chip->data_interface;
+drivers/mtd/nand/raw/nand_timings.c:	struct onfi_params *onfi = chip->parameters.onfi;
+drivers/mtd/nand/raw/nand_toshiba.c:	 * This is why chip->ecc.bytes = 0.
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.bytes = 0;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.strength = 8;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.read_page = toshiba_nand_read_page_benand;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.read_subpage = toshiba_nand_read_subpage_benand;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.write_page = nand_write_page_raw;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.read_page_raw = nand_read_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.write_page_raw = nand_write_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->options |= NAND_SUBPAGE_READ;
+drivers/mtd/nand/raw/nand_toshiba.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_toshiba.c:	if (chip->id.len >= 6 && nand_is_slc(chip) &&
+drivers/mtd/nand/raw/nand_toshiba.c:	    (chip->id.data[5] & 0x7) == 0x6 /* 24nm */ &&
+drivers/mtd/nand/raw/nand_toshiba.c:	    !(chip->id.data[4] & 0x80) /* !BENAND */) {
+drivers/mtd/nand/raw/nand_toshiba.c:	if (chip->id.len >= 6 && nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_toshiba.c:		chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_toshiba.c:		switch (chip->id.data[5] & 0x7) {
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.strength = 1;
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.strength = 4;
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.strength = 8;
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_toshiba.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_toshiba.c:	if (nand_is_slc(chip) && chip->ecc.mode == NAND_ECC_ON_DIE &&
+drivers/mtd/nand/raw/nand_toshiba.c:	    chip->id.data[4] & TOSHIBA_NAND_ID4_IS_BENAND)
+drivers/mtd/nand/raw/nandsim.c:	ns->busw = chip->options & NAND_BUSWIDTH_16 ? 16 : 8;
+drivers/mtd/nand/raw/nandsim.c:	ns->geom.pgshift  = chip->page_shift;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.strength = bch;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.bytes = eccbytes;
+drivers/mtd/nand/raw/nandsim.c:	NS_INFO("Using %u-bit/%u bytes BCH ECC\n", bch, chip->ecc.size);
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.mode   = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.algo   = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/nandsim.c:	chip->options   |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/nandsim.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/nandsim.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/nandsim.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nandsim.c:	chip->controller = &ns->base;
+drivers/mtd/nand/raw/nandsim.c:		memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nandsim.c:		targetsize = nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/nandsim.c:		chip->chip_shift = ffs(nsmtd->erasesize) + overridesize - 1;
+drivers/mtd/nand/raw/nandsim.c:		chip->pagemask = (targetsize >> chip->page_shift) - 1;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.IO_ADDR_R = ndfc->ndfcbase + NDFC_DATA;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.IO_ADDR_W = ndfc->ndfcbase + NDFC_DATA;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.cmd_ctrl = ndfc_hwcontrol;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.dev_ready = ndfc_ready;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.select_chip = ndfc_select_chip;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.chip_delay = 50;
+drivers/mtd/nand/raw/ndfc.c:	chip->controller = &ndfc->ndfc_control;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.read_buf = ndfc_read_buf;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.write_buf = ndfc_write_buf;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.correct = nand_correct_data;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.hwctl = ndfc_enable_hwecc;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.calculate = ndfc_calculate_ecc;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.size = 256;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.bytes = 3;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.strength = 1;
+drivers/mtd/nand/raw/omap2.c:	unsigned int dev_width = (chip->options & NAND_BUSWIDTH_16) ? 1 : 0;
+drivers/mtd/nand/raw/omap2.c:		nsectors = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:		nsectors = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:		nsectors = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:	dev_width = (chip->options & NAND_BUSWIDTH_16) ? 1 : 0;
+drivers/mtd/nand/raw/omap2.c: * @oob_required:	must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/omap2.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, buf, mtd->writesize);
+drivers/mtd/nand/raw/omap2.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/omap2.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/omap2.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/omap2.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	int ecc_size      = chip->ecc.size;
+drivers/mtd/nand/raw/omap2.c:	int ecc_bytes     = chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:	int ecc_steps     = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:	chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, buf, mtd->writesize);
+drivers/mtd/nand/raw/omap2.c:	/* copy calculated ECC for whole page to chip->buffer->oob */
+drivers/mtd/nand/raw/omap2.c:	ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/omap2.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/omap2.c: * @oob_required:	caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/omap2.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/omap2.c:	chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.read_buf(chip, buf, mtd->writesize);
+drivers/mtd/nand/raw/omap2.c:				   chip->oob_poi + BADBLOCK_MARKER_LENGTH,
+drivers/mtd/nand/raw/omap2.c:				   chip->ecc.total, false);
+drivers/mtd/nand/raw/omap2.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/omap2.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/omap2.c:	stat = chip->ecc.correct(chip, buf, ecc_code, ecc_calc);
+drivers/mtd/nand/raw/omap2.c:	    !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/omap2.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/omap2.c:	    !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/omap2.c:	off += chip->ecc.total;
+drivers/mtd/nand/raw/omap2.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/omap2.c:	oobregion->offset = off + (section * (chip->ecc.bytes + 1));
+drivers/mtd/nand/raw/omap2.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:	off += ((chip->ecc.bytes + 1) * chip->ecc.steps);
+drivers/mtd/nand/raw/omap2.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/omap2.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/omap2.c:		chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.read_buf = omap_read_buf_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.write_buf = omap_write_buf_pref;
+drivers/mtd/nand/raw/omap2.c:			chip->legacy.read_buf = omap_read_buf_dma_pref;
+drivers/mtd/nand/raw/omap2.c:			chip->legacy.write_buf = omap_write_buf_dma_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.read_buf = omap_read_buf_irq_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.write_buf = omap_write_buf_irq_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 3;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.calculate	= omap_calculate_ecc;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_correct_data;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:		if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 7;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 4;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= nand_bch_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.calculate	= omap_calculate_ecc_bch_sw;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.priv		= nand_bch_init(mtd);
+drivers/mtd/nand/raw/omap2.c:		if (!chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 7 + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 4;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_elm_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.read_page	= omap_read_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_page	= omap_write_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_subpage	= omap_write_subpage_bch;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:				 mtd->writesize / chip->ecc.size,
+drivers/mtd/nand/raw/omap2.c:				 chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 13;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 8;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= nand_bch_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.calculate	= omap_calculate_ecc_bch_sw;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.priv		= nand_bch_init(mtd);
+drivers/mtd/nand/raw/omap2.c:		if (!chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 13 + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 8;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_elm_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.read_page	= omap_read_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_page	= omap_write_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_subpage	= omap_write_subpage_bch;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:				 mtd->writesize / chip->ecc.size,
+drivers/mtd/nand/raw/omap2.c:				 chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 26;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 16;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_elm_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.read_page	= omap_read_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_page	= omap_write_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_subpage	= omap_write_subpage_bch;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:				 mtd->writesize / chip->ecc.size,
+drivers/mtd/nand/raw/omap2.c:				 chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/omap2.c:			 (mtd->writesize / chip->ecc.size));
+drivers/mtd/nand/raw/omap2.c:	nand_chip->ecc.priv	= NULL;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->legacy.IO_ADDR_R = devm_ioremap_resource(&pdev->dev, res);
+drivers/mtd/nand/raw/omap2.c:	if (IS_ERR(nand_chip->legacy.IO_ADDR_R))
+drivers/mtd/nand/raw/omap2.c:		return PTR_ERR(nand_chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/omap2.c:	nand_chip->controller = &omap_gpmc_controller;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->legacy.IO_ADDR_W = nand_chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->legacy.cmd_ctrl  = omap_hwcontrol;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.dev_ready = omap_dev_ready;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.chip_delay = 0;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.waitfunc = omap_wait;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.chip_delay = 50;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->options |= info->devsize & NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/omap2.c:	if (nand_chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		nand_bch_free(nand_chip->ecc.priv);
+drivers/mtd/nand/raw/omap2.c:		nand_chip->ecc.priv = NULL;
+drivers/mtd/nand/raw/omap2.c:	if (nand_chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		nand_bch_free(nand_chip->ecc.priv);
+drivers/mtd/nand/raw/omap2.c:		nand_chip->ecc.priv = NULL;
+drivers/mtd/nand/raw/orion_nand.c:	void __iomem *io_base = chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/orion_nand.c:						"chip-delay", &val))
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->controller = &oxnas->base;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.cmd_ctrl = oxnas_nand_cmd_ctrl;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.read_buf = oxnas_nand_read_buf;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.read_byte = oxnas_nand_read_byte;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.write_buf = oxnas_nand_write_buf;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.chip_delay = 30;
+drivers/mtd/nand/raw/pasemi_nand.c:		memcpy_fromio(buf, chip->legacy.IO_ADDR_R, 0x800);
+drivers/mtd/nand/raw/pasemi_nand.c:	memcpy_fromio(buf, chip->legacy.IO_ADDR_R, len);
+drivers/mtd/nand/raw/pasemi_nand.c:		memcpy_toio(chip->legacy.IO_ADDR_R, buf, 0x800);
+drivers/mtd/nand/raw/pasemi_nand.c:	memcpy_toio(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/pasemi_nand.c:		out_8(chip->legacy.IO_ADDR_W + (1 << CLE_PIN_CTL), cmd);
+drivers/mtd/nand/raw/pasemi_nand.c:		out_8(chip->legacy.IO_ADDR_W + (1 << ALE_PIN_CTL), cmd);
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.IO_ADDR_R = of_iomap(np, 0);
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.IO_ADDR_W = chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/pasemi_nand.c:	if (!chip->legacy.IO_ADDR_R) {
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.cmd_ctrl = pasemi_hwcontrol;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.dev_ready = pasemi_device_ready;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.read_buf = pasemi_read_buf;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.write_buf = pasemi_write_buf;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.chip_delay = 0;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/pasemi_nand.c:	iounmap(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/pasemi_nand.c:	iounmap(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/qcom_nandc.c: * @buf_size/count/start:	markers for chip->legacy.read_buf/write_buf
+drivers/mtd/nand/raw/qcom_nandc.c:	return container_of(chip->controller, struct qcom_nand_controller,
+drivers/mtd/nand/raw/qcom_nandc.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/qcom_nandc.c: * the following functions are used within chip->legacy.cmdfunc() to
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c: * Implements chip->legacy.cmdfunc. It's  only used for a limited set of
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c: *    chip->data_buf if data buf is null and chip->oob_poi if oob buf
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:		oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	u8 *data_buf = buf, *oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	return read_page_ecc(host, NULL, chip->oob_poi, page);
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c: * chip->oob_poi, and pad the data area with OxFF before writing.
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	page = (int)(ofs >> chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/qcom_nandc.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	page = (int)(ofs >> chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/qcom_nandc.c: * the three functions below implement chip->legacy.read_byte(),
+drivers/mtd/nand/raw/qcom_nandc.c: * chip->legacy.read_buf() and chip->legacy.write_buf() respectively. these
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	wide_bus = chip->options & NAND_BUSWIDTH_16 ? true : false;
+drivers/mtd/nand/raw/qcom_nandc.c:		dev_err(dev, "can't get chip-select\n");
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.cmdfunc	= qcom_nandc_command;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.select_chip	= qcom_nandc_select_chip;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.read_byte	= qcom_nandc_read_byte;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.read_buf	= qcom_nandc_read_buf;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.write_buf	= qcom_nandc_write_buf;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.set_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.get_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.block_bad		= qcom_nandc_block_bad;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.block_markbad	= qcom_nandc_block_markbad;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->controller = &nandc->controller;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->options |= NAND_NO_SUBPAGE_WRITE | NAND_USE_BOUNCE_BUFFER |
+drivers/mtd/nand/raw/r852.c:		if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/r852.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/r852.c:		dev->chip->options |= NAND_ROM;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.cmd_ctrl = r852_cmdctl;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.waitfunc = r852_wait;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.dev_ready = r852_ready;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.read_byte = r852_read_byte;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.read_buf = r852_read_buf;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.write_buf = r852_write_buf;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.mode = NAND_ECC_HW_SYNDROME;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.size = R852_DMA_LEN;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.bytes = SM_OOB_SIZE;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.strength = 2;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.hwctl = r852_ecc_hwctl;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.calculate = r852_ecc_calculate;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.correct = r852_ecc_correct;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.read_oob = r852_read_oob;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.write_buf    = s3c2410_nand_write_buf;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.read_buf     = s3c2410_nand_read_buf;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.select_chip  = s3c2410_nand_select_chip;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.chip_delay   = 50;
+drivers/mtd/nand/raw/s3c2410.c:	chip->options	   = set->options;
+drivers/mtd/nand/raw/s3c2410.c:	chip->controller   = &info->controller;
+drivers/mtd/nand/raw/s3c2410.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.IO_ADDR_W = regs + S3C2410_NFDATA;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.cmd_ctrl  = s3c2410_nand_hwcontrol;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.dev_ready = s3c2410_nand_devready;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.IO_ADDR_W = regs + S3C2440_NFDATA;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.cmd_ctrl  = s3c2440_nand_hwcontrol;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.dev_ready = s3c2440_nand_devready;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.read_buf  = s3c2440_nand_read_buf;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.write_buf	= s3c2440_nand_write_buf;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.IO_ADDR_W = regs + S3C2440_NFDATA;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.cmd_ctrl  = s3c2440_nand_hwcontrol;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.dev_ready = s3c2412_nand_devready;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.IO_ADDR_R = chip->legacy.IO_ADDR_W;
+drivers/mtd/nand/raw/s3c2410.c:	chip->ecc.mode = info->platform->ecc_mode;
+drivers/mtd/nand/raw/s3c2410.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/s3c2410.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.calculate = s3c2410_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.correct   = s3c2410_nand_correct_data;
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.strength  = 1;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.hwctl	    = s3c2410_nand_enable_hwecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.calculate = s3c2410_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.hwctl     = s3c2412_nand_enable_hwecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.calculate = s3c2412_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.hwctl     = s3c2440_nand_enable_hwecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.calculate = s3c2440_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip, chip->page_shift);
+drivers/mtd/nand/raw/s3c2410.c:		if (chip->page_shift > 10) {
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.size	    = 256;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.bytes	    = 3;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.size	    = 512;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.bytes	    = 3;
+drivers/mtd/nand/raw/s3c2410.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/s3c2410.c:		chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/sh_flctl.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/sh_flctl.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/sh_flctl.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/sh_flctl.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/sh_flctl.c:		chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/sh_flctl.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/sh_flctl.c:	u64 targetsize = nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/sh_flctl.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/sh_flctl.c:			chip->badblock_pattern = &flctl_4secc_smallpage;
+drivers/mtd/nand/raw/sh_flctl.c:			chip->badblock_pattern = &flctl_4secc_largepage;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.bytes = 10;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.strength = 4;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.read_page = flctl_read_page_hwecc;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.write_page = flctl_write_page_hwecc;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/sharpsl.c:		writeb(cmd, chip->legacy.IO_ADDR_W);
+drivers/mtd/nand/raw/sm_common.c:	chip->badblockpos = 0x05;
+drivers/mtd/nand/raw/sm_common.c:	chip->badblockbits = 7;
+drivers/mtd/nand/raw/sm_common.c:	chip->legacy.block_markbad = sm_block_markbad;
+drivers/mtd/nand/raw/sm_common.c:	chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/sm_common.c:	chip->legacy.dummy_controller.ops = &sm_controller_ops;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.cmd_ctrl = socrates_nand_cmd_ctrl;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.read_byte = socrates_nand_read_byte;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.write_buf = socrates_nand_write_buf;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.read_buf = socrates_nand_read_buf;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.dev_ready = socrates_nand_device_ready;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->ecc.mode = NAND_ECC_SOFT;	/* enable ECC */
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.chip_delay = 20;	/* 20us command delay time */
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength == FMC2_ECC_BCH8) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	} else if (chip->ecc.strength == FMC2_ECC_BCH4) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		dma_cfg.src_addr += chip->ecc.strength == FMC2_ECC_HAM ?
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		fmc2->dma_ecc_len = chip->ecc.strength == FMC2_ECC_HAM ?
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength != FMC2_ECC_HAM) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength == FMC2_ECC_BCH8) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	return stm32_fmc2_bch_decode(chip->ecc.size, dat, ecc_sta);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int ret, i, s, stat, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccstrength = chip->ecc.strength;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		stat = chip->ecc.correct(chip, p, ecc_code, ecc_calc);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:						 chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	csqcfgr3 = FMC2_CSQCFGR3_SNBR(chip->ecc.steps - 1);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:						  chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccstrength = chip->ecc.strength;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int i, s, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:							  chip->oob_poi,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:					 chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	return chip->ecc.correct(chip, buf, ecc_code, ecc_calc);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:						  chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.correct = stm32_fmc2_sequencer_correct;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.write_page = stm32_fmc2_sequencer_write_page;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.read_page = stm32_fmc2_sequencer_read_page;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.write_page_raw = stm32_fmc2_sequencer_write_page_raw;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.read_page_raw = stm32_fmc2_sequencer_read_page_raw;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.hwctl = stm32_fmc2_hwctl;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		if (chip->ecc.strength == FMC2_ECC_HAM) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.calculate = stm32_fmc2_ham_calculate;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.correct = stm32_fmc2_ham_correct;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.options |= NAND_ECC_GENERIC_ERASED_CHECK;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.calculate = stm32_fmc2_bch_calculate;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.correct = stm32_fmc2_bch_correct;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.read_page = stm32_fmc2_read_page;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength == FMC2_ECC_HAM)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 4 : 3;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	else if (chip->ecc.strength == FMC2_ECC_BCH8)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 14 : 13;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 8 : 7;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.mode != NAND_ECC_HW) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (mtd->writesize / chip->ecc.size > FMC2_MAX_SG) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->controller = &fmc2->base;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->options |= NAND_BUSWIDTH_AUTO | NAND_NO_SUBPAGE_WRITE |
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->ecc.size = FMC2_ECC_STEP_SIZE;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->ecc.strength = FMC2_ECC_BCH8;
+drivers/mtd/nand/raw/tango_nand.c:/* Offsets relative to chip->base */
+drivers/mtd/nand/raw/tango_nand.c:		writeb_relaxed(dat, tchip->base + PBUS_CMD);
+drivers/mtd/nand/raw/tango_nand.c:		writeb_relaxed(dat, tchip->base + PBUS_ADDR);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	return readb_relaxed(tchip->base + PBUS_DATA);
+drivers/mtd/nand/raw/tango_nand.c:	ioread8_rep(tchip->base + PBUS_DATA, buf, len);
+drivers/mtd/nand/raw/tango_nand.c:	iowrite8_rep(tchip->base + PBUS_DATA, buf, len);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->timing1, nfc->reg_base + NFC_TIMING1);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->timing2, nfc->reg_base + NFC_TIMING2);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->xfer_cfg, nfc->reg_base + NFC_XFER_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->pkt_0_cfg, nfc->reg_base + NFC_PKT_0_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->pkt_n_cfg, nfc->reg_base + NFC_PKT_N_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->bb_cfg, nfc->reg_base + NFC_BB_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	u8 *meta = chip->oob_poi + BBM_SIZE;
+drivers/mtd/nand/raw/tango_nand.c:	u8 *ecc = chip->oob_poi + BBM_SIZE + METADATA_SIZE;
+drivers/mtd/nand/raw/tango_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/tango_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/tango_nand.c:	for (i = 0; i < chip->ecc.steps; ++i) {
+drivers/mtd/nand/raw/tango_nand.c:						  chip->ecc.strength);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:		chip->ecc.read_oob(chip, page);
+drivers/mtd/nand/raw/tango_nand.c:		chip->ecc.read_oob_raw(chip, page);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	status = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/tango_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/tango_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/tango_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/tango_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/tango_nand.c:	raw_read(chip, buf, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	raw_write(chip, buf, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	raw_read(chip, NULL, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	raw_write(chip, NULL, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->timing1 = TIMING(Trdy, Textw, Twc, Twpw);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->timing2 = TIMING(Tacc, Thold, Trpw, Textr);
+drivers/mtd/nand/raw/tango_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/tango_nand.c:	chip = &tchip->nand_chip;
+drivers/mtd/nand/raw/tango_nand.c:	ecc = &chip->ecc;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.read_byte = tango_read_byte;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.write_buf = tango_write_buf;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.read_buf = tango_read_buf;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.select_chip = tango_select_chip;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.cmd_ctrl = tango_cmd_ctrl;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.dev_ready = tango_dev_ready;
+drivers/mtd/nand/raw/tango_nand.c:	chip->options = NAND_USE_BOUNCE_BUFFER |
+drivers/mtd/nand/raw/tango_nand.c:	chip->controller = &nfc->hw;
+drivers/mtd/nand/raw/tango_nand.c:	tchip->base = nfc->pbus_base + (cs * 256);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->xfer_cfg = XFER_CFG(cs, 1, ecc->steps, METADATA_SIZE);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->pkt_0_cfg = PKT_CFG(ecc->size + METADATA_SIZE, ecc->strength);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->pkt_n_cfg = PKT_CFG(ecc->size, ecc->strength);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->bb_cfg = BB_CFG(mtd->writesize, BBM_SIZE);
+drivers/mtd/nand/raw/tegra_nand.c:	int bytes_per_step = DIV_ROUND_UP(BITS_PER_STEP_RS * chip->ecc.strength,
+drivers/mtd/nand/raw/tegra_nand.c:	oobregion->length = round_up(bytes_per_step * chip->ecc.steps, 4);
+drivers/mtd/nand/raw/tegra_nand.c:	int bytes_per_step = DIV_ROUND_UP(BITS_PER_STEP_BCH * chip->ecc.strength,
+drivers/mtd/nand/raw/tegra_nand.c:	oobregion->length = round_up(bytes_per_step * chip->ecc.steps, 4);
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->ecc.algo == NAND_ECC_BCH && enable)
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	tegra_nand_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:	return tegra_nand_page_xfer(mtd, chip, NULL, chip->oob_poi,
+drivers/mtd/nand/raw/tegra_nand.c:	return tegra_nand_page_xfer(mtd, chip, NULL, chip->oob_poi,
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:		if (fail_sec_flag ^ GENMASK(chip->ecc.steps - 1, 0)) {
+drivers/mtd/nand/raw/tegra_nand.c:		for_each_set_bit(bit, &fail_sec_flag, chip->ecc.steps) {
+drivers/mtd/nand/raw/tegra_nand.c:			u8 *data = buf + (chip->ecc.size * bit);
+drivers/mtd/nand/raw/tegra_nand.c:			u8 *oob = chip->oob_poi + nand->ecc.offset +
+drivers/mtd/nand/raw/tegra_nand.c:				  (chip->ecc.bytes * bit);
+drivers/mtd/nand/raw/tegra_nand.c:			ret = nand_check_erased_ecc_chunk(data, chip->ecc.size,
+drivers/mtd/nand/raw/tegra_nand.c:							  oob, chip->ecc.bytes,
+drivers/mtd/nand/raw/tegra_nand.c:							  chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	bool maximize = chip->ecc.options & NAND_ECC_MAXIMIZE;
+drivers/mtd/nand/raw/tegra_nand.c:			if (strength_sel < chip->base.eccreq.strength)
+drivers/mtd/nand/raw/tegra_nand.c:		bytes_per_page = round_up(bytes_per_step * chip->ecc.steps, 4);
+drivers/mtd/nand/raw/tegra_nand.c:	switch (chip->ecc.algo) {
+drivers/mtd/nand/raw/tegra_nand.c:		if (chip->options & NAND_IS_BOOT_MEDIUM) {
+drivers/mtd/nand/raw/tegra_nand.c:		if (chip->options & NAND_IS_BOOT_MEDIUM) {
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/tegra_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.steps = mtd->writesize / chip->ecc.size;
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->base.eccreq.step_size != 512) {
+drivers/mtd/nand/raw/tegra_nand.c:			chip->base.eccreq.step_size);
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.read_page = tegra_nand_read_page_hwecc;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.write_page = tegra_nand_write_page_hwecc;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.read_page_raw = tegra_nand_read_page_raw;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.write_page_raw = tegra_nand_write_page_raw;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.read_oob = tegra_nand_read_oob;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.write_oob = tegra_nand_write_oob;
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
+drivers/mtd/nand/raw/tegra_nand.c:			chip->ecc.algo = NAND_ECC_RS;
+drivers/mtd/nand/raw/tegra_nand.c:			chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->ecc.algo == NAND_ECC_BCH && mtd->writesize < 2048) {
+drivers/mtd/nand/raw/tegra_nand.c:	if (!chip->ecc.strength) {
+drivers/mtd/nand/raw/tegra_nand.c:				chip->base.eccreq.strength);
+drivers/mtd/nand/raw/tegra_nand.c:		chip->ecc.strength = ret;
+drivers/mtd/nand/raw/tegra_nand.c:	switch (chip->ecc.algo) {
+drivers/mtd/nand/raw/tegra_nand.c:		bits_per_step = BITS_PER_STEP_RS * chip->ecc.strength;
+drivers/mtd/nand/raw/tegra_nand.c:		switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/tegra_nand.c:				chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:		bits_per_step = BITS_PER_STEP_BCH * chip->ecc.strength;
+drivers/mtd/nand/raw/tegra_nand.c:		switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/tegra_nand.c:				chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:		 chip->ecc.algo == NAND_ECC_BCH ? "BCH" : "RS",
+drivers/mtd/nand/raw/tegra_nand.c:		 chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.bytes = DIV_ROUND_UP(bits_per_step, BITS_PER_BYTE);
+drivers/mtd/nand/raw/tegra_nand.c:	chip->controller = &ctrl->controller;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->options = NAND_NO_SUBPAGE_WRITE | NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/tmio_nand.c:		tmio_iowrite8(cmd, chip->legacy.IO_ADDR_W);
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.IO_ADDR_R = tmio->fcr;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.IO_ADDR_W = tmio->fcr;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.cmd_ctrl = tmio_nand_hwcontrol;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.dev_ready = tmio_nand_dev_ready;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.read_byte = tmio_nand_read_byte;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.write_buf = tmio_nand_write_buf;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.read_buf = tmio_nand_read_buf;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.size = 512;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.bytes = 6;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.strength = 2;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.hwctl = tmio_nand_enable_hwecc;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.calculate = tmio_nand_calculate_ecc;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.correct = tmio_nand_correct_data;
+drivers/mtd/nand/raw/tmio_nand.c:		nand_chip->badblock_pattern = data->badblock_pattern;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.chip_delay = 15;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.waitfunc = tmio_nand_wait;
+drivers/mtd/nand/raw/txx9ndfmc.c:	for (eccbytes = chip->ecc.bytes; eccbytes > 0; eccbytes -= 3) {
+drivers/mtd/nand/raw/txx9ndfmc.c:	for (eccsize = chip->ecc.size; eccsize > 0; eccsize -= 256) {
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.bytes = 6;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.size = 256;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.bytes = 3;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.read_byte = txx9ndfmc_read_byte;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.read_buf = txx9ndfmc_read_buf;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.write_buf = txx9ndfmc_write_buf;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.cmd_ctrl = txx9ndfmc_cmd_ctrl;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.dev_ready = txx9ndfmc_dev_ready;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.calculate = txx9ndfmc_calculate_ecc;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.correct = txx9ndfmc_correct_data;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.hwctl = txx9ndfmc_enable_hwecc;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.strength = 1;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.chip_delay = 100;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->controller = &drvdata->controller;
+drivers/mtd/nand/raw/txx9ndfmc.c:			chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/vf610_nfc.c:	if (force8bit && (chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/vf610_nfc.c:	if (force8bit && (chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/vf610_nfc.c:	vf610_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/vf610_nfc.c:		vf610_nfc_rd_from_sram(chip->oob_poi,
+drivers/mtd/nand/raw/vf610_nfc.c:	stat = vf610_nfc_correct_data(chip, buf, chip->oob_poi, page);
+drivers/mtd/nand/raw/vf610_nfc.c:	vf610_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/vf610_nfc.c:		ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/vf610_nfc.c:				      chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/vf610_nfc.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->ecc.size != mtd->writesize) {
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->ecc.strength == 32) {
+drivers/mtd/nand/raw/vf610_nfc.c:		chip->ecc.bytes = 60;
+drivers/mtd/nand/raw/vf610_nfc.c:	} else if (chip->ecc.strength == 24) {
+drivers/mtd/nand/raw/vf610_nfc.c:		chip->ecc.bytes = 45;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.read_page = vf610_nfc_read_page;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.write_page = vf610_nfc_write_page;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.read_page_raw = vf610_nfc_read_page_raw;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.write_page_raw = vf610_nfc_write_page_raw;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.read_oob = vf610_nfc_read_oob;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.write_oob = vf610_nfc_write_oob;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.size = PAGE_2K;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->controller = &nfc->base;
+drivers/mtd/spi-nor/aspeed-smc.c:	return BIT(chip->controller->info->we0 + chip->cs);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	u32 ctl = chip->ctl_val[smc_base];
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl, chip->ctl);
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl, chip->ctl);
+drivers/mtd/spi-nor/aspeed-smc.c:	u32 ctl = chip->ctl_val[smc_read];
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl2, chip->ctl);	/* stop user CE control */
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl, chip->ctl);		/* default to fread or read mode */
+drivers/mtd/spi-nor/aspeed-smc.c:	mutex_lock(&chip->controller->mutex);
+drivers/mtd/spi-nor/aspeed-smc.c:	mutex_unlock(&chip->controller->mutex);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, &opcode, 1);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_read_from_ahb(buf, chip->ahb_base, len);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, &opcode, 1);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, buf, len);
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &temp, 4);
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &cmd, 1);
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &temp, 4);
+drivers/mtd/spi-nor/aspeed-smc.c:	for (i = 0; i < chip->nor.read_dummy / 8; i++)
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &dummy, sizeof(dummy));
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_read_from_ahb(read_buf, chip->ahb_base, len);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, write_buf, len);
+drivers/mtd/spi-nor/aspeed-smc.c:			mtd_device_unregister(&chip->nor.mtd);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:		reg = readl(SEGMENT_ADDR_REG(controller, chip->cs));
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_warn(chip->nor.dev, "CE%d window resized to %dMB",
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_err(chip->nor.dev, "CE%d window invalid", cs);
+drivers/mtd/spi-nor/aspeed-smc.c:	dev_info(chip->nor.dev, "CE%d window [ 0x%.8x - 0x%.8x ] %dMB",
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	u32 size = chip->nor.mtd.size;
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->cs == 0 && controller->info == &spi_2500_info &&
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_info(chip->nor.dev,
+drivers/mtd/spi-nor/aspeed-smc.c:			 chip->cs, size >> 20);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->cs) {
+drivers/mtd/spi-nor/aspeed-smc.c:		u32 prev = readl(SEGMENT_ADDR_REG(controller, chip->cs - 1));
+drivers/mtd/spi-nor/aspeed-smc.c:	size = chip_set_segment(chip, chip->cs, start, size);
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ahb_base = controller->ahb_base + (start - ahb_base_phy);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->cs < controller->info->nce - 1)
+drivers/mtd/spi-nor/aspeed-smc.c:		chip_set_segment(chip, chip->cs + 1, start + size, 0);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (size < chip->nor.mtd.size)
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_warn(chip->nor.dev,
+drivers/mtd/spi-nor/aspeed-smc.c:			 chip->cs, (u32)chip->nor.mtd.size >> 20);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->type = type;
+drivers/mtd/spi-nor/aspeed-smc.c:	reg &= ~(3 << (chip->cs * 2));
+drivers/mtd/spi-nor/aspeed-smc.c:	reg |= chip->type << (chip->cs * 2);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	reg |= 1 << chip->cs;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_base] |= CONTROL_IO_ADDRESS_4B;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_read] |= CONTROL_IO_ADDRESS_4B;
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ahb_base = aspeed_smc_chip_base(chip, res);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (!chip->ahb_base) {
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_warn(chip->nor.dev, "CE%d window closed", chip->cs);
+drivers/mtd/spi-nor/aspeed-smc.c:	reg = readl(chip->ctl);
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_base] = base_reg;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read] = reg;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read] = chip->ctl_val[smc_base] |
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read]);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->nor.addr_width == 4 && info->set_4b)
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ahb_window_size = aspeed_smc_chip_set_segment(chip);
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_write] = chip->ctl_val[smc_base] |
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->nor.program_opcode << CONTROL_COMMAND_SHIFT |
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_write]);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->nor.read_proto == SNOR_PROTO_1_1_1) {
+drivers/mtd/spi-nor/aspeed-smc.c:		if (chip->nor.read_dummy == 0)
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_err(chip->nor.dev, "unsupported SPI read mode\n");
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_read] |= cmd |
+drivers/mtd/spi-nor/aspeed-smc.c:		CONTROL_IO_DUMMY_SET(chip->nor.read_dummy / 8);
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read]);
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->controller = controller;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl = controller->regs + info->ctl0 + cs * 4;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->cs = cs;
+drivers/mtd/spi-nor/aspeed-smc.c:		nor = &chip->nor;
+drivers/mux/adg792a.c:	struct i2c_client *i2c = to_i2c_client(mux->chip->dev.parent);
+drivers/mux/adg792a.c:	if (mux->chip->controllers == 1) {
+drivers/mux/adg792a.c:	mux_chip->ops = &adg792a_ops;
+drivers/mux/adg792a.c:					     mux_chip->controllers);
+drivers/mux/adg792a.c:	for (i = 0; i < mux_chip->controllers; ++i) {
+drivers/mux/adg792a.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/adgs1408.c:	struct spi_device *spi = to_spi_device(mux->chip->dev.parent);
+drivers/mux/adgs1408.c:	mux_chip->ops = &adgs1408_ops;
+drivers/mux/adgs1408.c:	mux = mux_chip->mux;
+drivers/mux/core.c:	ida_simple_remove(&mux_ida, mux_chip->id);
+drivers/mux/core.c: * the number of valid mux states in the mux_chip->mux[N].states members and
+drivers/mux/core.c: * the desired idle state in the returned mux_chip->mux[N].idle_state members.
+drivers/mux/core.c: * provide a pointer to the operations struct in the mux_chip->ops member
+drivers/mux/core.c:			   controllers * sizeof(*mux_chip->mux) +
+drivers/mux/core.c:	mux_chip->mux = (struct mux_control *)(mux_chip + 1);
+drivers/mux/core.c:	mux_chip->dev.class = &mux_class;
+drivers/mux/core.c:	mux_chip->dev.type = &mux_type;
+drivers/mux/core.c:	mux_chip->dev.parent = dev;
+drivers/mux/core.c:	mux_chip->dev.of_node = dev->of_node;
+drivers/mux/core.c:	dev_set_drvdata(&mux_chip->dev, mux_chip);
+drivers/mux/core.c:	mux_chip->id = ida_simple_get(&mux_ida, 0, 0, GFP_KERNEL);
+drivers/mux/core.c:	if (mux_chip->id < 0) {
+drivers/mux/core.c:		int err = mux_chip->id;
+drivers/mux/core.c:	dev_set_name(&mux_chip->dev, "muxchip%d", mux_chip->id);
+drivers/mux/core.c:	mux_chip->controllers = controllers;
+drivers/mux/core.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/core.c:	device_initialize(&mux_chip->dev);
+drivers/mux/core.c:	int ret = mux->chip->ops->set(mux, state);
+drivers/mux/core.c:	for (i = 0; i < mux_chip->controllers; ++i) {
+drivers/mux/core.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/core.c:			dev_err(&mux_chip->dev, "unable to set idle state\n");
+drivers/mux/core.c:	ret = device_add(&mux_chip->dev);
+drivers/mux/core.c:		dev_err(&mux_chip->dev,
+drivers/mux/core.c:	device_del(&mux_chip->dev);
+drivers/mux/core.c:	put_device(&mux_chip->dev);
+drivers/mux/core.c:	    (!args.args_count && (mux_chip->controllers > 1))) {
+drivers/mux/core.c:		put_device(&mux_chip->dev);
+drivers/mux/core.c:	if (controller >= mux_chip->controllers) {
+drivers/mux/core.c:		put_device(&mux_chip->dev);
+drivers/mux/core.c:	return &mux_chip->mux[controller];
+drivers/mux/core.c:	put_device(&mux->chip->dev);
+drivers/mux/gpio.c:	mux_chip->ops = &mux_gpio_ops;
+drivers/mux/gpio.c:	mux_chip->mux->states = 1 << pins;
+drivers/mux/gpio.c:		if (idle_state < 0 || idle_state >= mux_chip->mux->states) {
+drivers/mux/gpio.c:		mux_chip->mux->idle_state = idle_state;
+drivers/mux/gpio.c:		 mux_chip->mux->states);
+drivers/mux/mmio.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/mmio.c:	mux_chip->ops = &mux_mmio_ops;
+drivers/net/dsa/b53/b53_common.c:		if (chip->chip_id == dev->chip_id) {
+drivers/net/dsa/b53/b53_common.c:				dev->enabled_ports = chip->enabled_ports;
+drivers/net/dsa/b53/b53_common.c:			dev->name = chip->dev_name;
+drivers/net/dsa/b53/b53_common.c:			dev->duplex_reg = chip->duplex_reg;
+drivers/net/dsa/b53/b53_common.c:			dev->vta_regs[0] = chip->vta_regs[0];
+drivers/net/dsa/b53/b53_common.c:			dev->vta_regs[1] = chip->vta_regs[1];
+drivers/net/dsa/b53/b53_common.c:			dev->vta_regs[2] = chip->vta_regs[2];
+drivers/net/dsa/b53/b53_common.c:			dev->jumbo_pm_reg = chip->jumbo_pm_reg;
+drivers/net/dsa/b53/b53_common.c:			dev->cpu_port = chip->cpu_port;
+drivers/net/dsa/b53/b53_common.c:			dev->num_vlans = chip->vlans;
+drivers/net/dsa/b53/b53_common.c:			dev->num_arl_entries = chip->arl_entries;
+drivers/net/dsa/lan9303-core.c:		ret = lan9303_read(chip->regmap, offset, &reg);
+drivers/net/dsa/lan9303-core.c:			dev_err(chip->dev, "%s failed to read offset %d: %d\n",
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_VIRT_PHY_BASE + regnum, &val);
+drivers/net/dsa/lan9303-core.c:	return regmap_write(chip->regmap, LAN9303_VIRT_PHY_BASE + regnum, val);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_PMI_ACCESS, val);
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_PMI_DATA, &val);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_PMI_DATA, val);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_PMI_ACCESS, reg);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_SWITCH_CSR_DATA, val);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to write csr data reg: %d\n", ret);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_SWITCH_CSR_CMD, reg);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to write csr command reg: %d\n",
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_SWITCH_CSR_CMD, reg);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to write csr command reg: %d\n",
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_SWITCH_CSR_DATA, val);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to read csr data reg: %d\n", ret);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	/* Calculate chip->phy_addr_base:
+drivers/net/dsa/lan9303-core.c:	reg = chip->ops->phy_read(chip, 3, MII_LAN911X_SPECIAL_MODES);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to detect phy config: %d\n", reg);
+drivers/net/dsa/lan9303-core.c:	chip->phy_addr_base = reg != 0 && reg != 0xffff;
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "Phy setup '%s' detected\n",
+drivers/net/dsa/lan9303-core.c:		chip->phy_addr_base ? "1-2-3" : "0-1-2");
+drivers/net/dsa/lan9303-core.c:	struct lan9303_alr_cache_entry *entr = chip->alr_cache;
+drivers/net/dsa/lan9303-core.c:	struct lan9303_alr_cache_entry *entr = chip->alr_cache;
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%pM, %d)\n", __func__, mac, port_map);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:			mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:				 chip->swe_port_state);
+drivers/net/dsa/lan9303-core.c:	if (!chip->reset_gpio)
+drivers/net/dsa/lan9303-core.c:	if (chip->reset_duration != 0)
+drivers/net/dsa/lan9303-core.c:		msleep(chip->reset_duration);
+drivers/net/dsa/lan9303-core.c:	gpiod_set_value_cansleep(chip->reset_gpio, 0);
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_CHIP_REV, &reg);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to read chip revision register: %d\n",
+drivers/net/dsa/lan9303-core.c:		if (!chip->reset_gpio) {
+drivers/net/dsa/lan9303-core.c:			dev_dbg(chip->dev,
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "expecting LAN9303 chip, but found: %X\n",
+drivers/net/dsa/lan9303-core.c:		dev_warn(chip->dev, "failed to disable switching %d\n", ret);
+drivers/net/dsa/lan9303-core.c:	dev_info(chip->dev, "Found LAN9303 rev. %u\n", reg & 0xffff);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev,
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "port 0 is not the CPU port\n");
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to setup port tagging %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to separate ports %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to re-enable switching %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to setup IGMP trap %d\n", ret);
+drivers/net/dsa/lan9303-core.c:			dev_warn(chip->dev, "Reading status port %d reg %u failed\n",
+drivers/net/dsa/lan9303-core.c:	int phy_base = chip->phy_addr_base;
+drivers/net/dsa/lan9303-core.c:	return chip->ops->phy_read(chip, phy, regnum);
+drivers/net/dsa/lan9303-core.c:	int phy_base = chip->phy_addr_base;
+drivers/net/dsa/lan9303-core.c:	return chip->ops->phy_write(chip, phy, regnum, val);
+drivers/net/dsa/lan9303-core.c:	if (port == chip->phy_addr_base) {
+drivers/net/dsa/lan9303-core.c:		lan9303_read(chip->regmap, LAN9303_VIRT_SPECIAL_CTRL, &ctl);
+drivers/net/dsa/lan9303-core.c:		res =  regmap_write(chip->regmap,
+drivers/net/dsa/lan9303-core.c:	lan9303_phy_write(ds, chip->phy_addr_base + port, MII_BMCR, BMCR_PDOWN);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(port %d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:		chip->is_bridged = true;  /* unleash stp_state_set() */
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(port %d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:	if (chip->is_bridged) {
+drivers/net/dsa/lan9303-core.c:		chip->is_bridged = false;
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(port %d, state %d)\n",
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "unknown stp state: port %d, state %d\n",
+drivers/net/dsa/lan9303-core.c:	chip->swe_port_state = (chip->swe_port_state & ~portmask) | portstate;
+drivers/net/dsa/lan9303-core.c:	if (chip->is_bridged)
+drivers/net/dsa/lan9303-core.c:					 chip->swe_port_state);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, addr, vid);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, addr, vid);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, mdb->addr,
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, mdb->addr,
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, mdb->addr,
+drivers/net/dsa/lan9303-core.c:	chip->ds = devm_kzalloc(chip->dev, sizeof(*chip->ds), GFP_KERNEL);
+drivers/net/dsa/lan9303-core.c:	if (!chip->ds)
+drivers/net/dsa/lan9303-core.c:	chip->ds->dev = chip->dev;
+drivers/net/dsa/lan9303-core.c:	chip->ds->num_ports = LAN9303_NUM_PORTS;
+drivers/net/dsa/lan9303-core.c:	chip->ds->priv = chip;
+drivers/net/dsa/lan9303-core.c:	chip->ds->ops = &lan9303_switch_ops;
+drivers/net/dsa/lan9303-core.c:	base = chip->phy_addr_base;
+drivers/net/dsa/lan9303-core.c:	chip->ds->phys_mii_mask = GENMASK(LAN9303_NUM_PORTS - 1 + base, base);
+drivers/net/dsa/lan9303-core.c:	return dsa_register_switch(chip->ds);
+drivers/net/dsa/lan9303-core.c:	chip->reset_gpio = devm_gpiod_get_optional(chip->dev, "reset",
+drivers/net/dsa/lan9303-core.c:	if (IS_ERR(chip->reset_gpio))
+drivers/net/dsa/lan9303-core.c:		return PTR_ERR(chip->reset_gpio);
+drivers/net/dsa/lan9303-core.c:	if (!chip->reset_gpio) {
+drivers/net/dsa/lan9303-core.c:		dev_dbg(chip->dev, "No reset GPIO defined\n");
+drivers/net/dsa/lan9303-core.c:	chip->reset_duration = 200;
+drivers/net/dsa/lan9303-core.c:				     &chip->reset_duration);
+drivers/net/dsa/lan9303-core.c:		dev_dbg(chip->dev, "reset duration defaults to 200 ms\n");
+drivers/net/dsa/lan9303-core.c:	if (chip->reset_duration > 1000)
+drivers/net/dsa/lan9303-core.c:		chip->reset_duration = 1000;
+drivers/net/dsa/lan9303-core.c:	mutex_init(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_init(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:		dev_dbg(chip->dev, "Failed to register switch: %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_warn(chip->dev, "shutting down failed\n");
+drivers/net/dsa/lan9303-core.c:	dsa_unregister_switch(chip->ds);
+drivers/net/dsa/lan9303-core.c:	gpiod_set_value_cansleep(chip->reset_gpio, 1);
+drivers/net/dsa/lan9303-core.c:	gpiod_unexport(chip->reset_gpio);
+drivers/net/dsa/lan9303_mdio.c:	struct lan9303_mdio *sw_dev = dev_get_drvdata(chip->dev);
+drivers/net/dsa/lan9303_mdio.c:	struct lan9303_mdio *sw_dev = dev_get_drvdata(chip->dev);
+drivers/net/dsa/microchip/ksz8795.c:#include <linux/platform_data/microchip-ksz.h>
+drivers/net/dsa/microchip/ksz8795.c:		if (dev->chip_id == chip->chip_id) {
+drivers/net/dsa/microchip/ksz8795.c:			dev->name = chip->dev_name;
+drivers/net/dsa/microchip/ksz8795.c:			dev->num_vlans = chip->num_vlans;
+drivers/net/dsa/microchip/ksz8795.c:			dev->num_alus = chip->num_alus;
+drivers/net/dsa/microchip/ksz8795.c:			dev->num_statics = chip->num_statics;
+drivers/net/dsa/microchip/ksz8795.c:			dev->port_cnt = chip->port_cnt;
+drivers/net/dsa/microchip/ksz8795.c:			dev->cpu_ports = chip->cpu_ports;
+drivers/net/dsa/microchip/ksz9477.c:#include <linux/platform_data/microchip-ksz.h>
+drivers/net/dsa/microchip/ksz9477.c:		if (dev->chip_id == chip->chip_id) {
+drivers/net/dsa/microchip/ksz9477.c:			dev->name = chip->dev_name;
+drivers/net/dsa/microchip/ksz9477.c:			dev->num_vlans = chip->num_vlans;
+drivers/net/dsa/microchip/ksz9477.c:			dev->num_alus = chip->num_alus;
+drivers/net/dsa/microchip/ksz9477.c:			dev->num_statics = chip->num_statics;
+drivers/net/dsa/microchip/ksz9477.c:			dev->port_cnt = chip->port_cnt;
+drivers/net/dsa/microchip/ksz9477.c:			dev->cpu_ports = chip->cpu_ports;
+drivers/net/dsa/microchip/ksz9477.c:			dev->phy_errata_9477 = chip->phy_errata_9477;
+drivers/net/dsa/microchip/ksz_common.c:#include <linux/platform_data/microchip-ksz.h>
+drivers/net/dsa/mv88e6xxx/chip.c:	if (unlikely(!mutex_is_locked(&chip->reg_lock))) {
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "Switch registers lock not held!\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_dbg(chip->dev, "<- addr: 0x%.2x reg: 0x%.2x val: 0x%.4x\n",
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_dbg(chip->dev, "-> addr: 0x%.2x reg: 0x%.2x val: 0x%.4x\n",
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_err(chip->dev, "Timeout while waiting for switch\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	mdio_bus = list_first_entry(&chip->mdios, struct mv88e6xxx_mdio_bus,
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.masked |= (1 << n);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.masked &= ~(1 << n);
+drivers/net/dsa/mv88e6xxx/chip.c:		for (n = 0; n < chip->g1_irq.nirqs; ++n) {
+drivers/net/dsa/mv88e6xxx/chip.c:				sub_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/chip.c:		ctl1 &= GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	u16 mask = GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	reg |= (~chip->g1_irq.masked & mask);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_set_chip_and_handler(irq, &chip->g1_irq.chip, handle_level_irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	mask &= ~GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	for (irq = 0; irq < chip->g1_irq.nirqs; irq++) {
+drivers/net/dsa/mv88e6xxx/chip.c:		virq = irq_find_mapping(chip->g1_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_domain_remove(chip->g1_irq.domain);
+drivers/net/dsa/mv88e6xxx/chip.c:	free_irq(chip->irq, chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.nirqs = chip->info->g1_irqs;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.domain = irq_domain_add_simple(
+drivers/net/dsa/mv88e6xxx/chip.c:		NULL, chip->g1_irq.nirqs, 0,
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->g1_irq.domain)
+drivers/net/dsa/mv88e6xxx/chip.c:	for (irq = 0; irq < chip->g1_irq.nirqs; irq++)
+drivers/net/dsa/mv88e6xxx/chip.c:		irq_create_mapping(chip->g1_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.chip = mv88e6xxx_g1_irq_chip;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.masked = ~0;
+drivers/net/dsa/mv88e6xxx/chip.c:	mask &= ~GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	mask &= ~GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:		virq = irq_find_mapping(chip->g1_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_domain_remove(chip->g1_irq.domain);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_set_lockdep_class(chip->irq, &lock_key, &request_key);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = request_threaded_irq(chip->irq, NULL,
+drivers/net/dsa/mv88e6xxx/chip.c:				   dev_name(chip->dev), chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_queue_delayed_work(chip->kworker, &chip->irq_poll_work,
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_init_delayed_work(&chip->irq_poll_work,
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->kworker = kthread_create_worker(0, "%s", dev_name(chip->dev));
+drivers/net/dsa/mv88e6xxx/chip.c:	if (IS_ERR(chip->kworker))
+drivers/net/dsa/mv88e6xxx/chip.c:		return PTR_ERR(chip->kworker);
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_queue_delayed_work(chip->kworker, &chip->irq_poll_work,
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_cancel_delayed_work_sync(&chip->irq_poll_work);
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_destroy_worker(chip->kworker);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_set_link)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_link_state)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_link_state(chip, port, &state);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_set_link(chip, port, LINK_FORCED_DOWN);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_speed) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_speed(chip, port, speed);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (speed == SPEED_MAX && chip->info->ops->port_max_speed_mode)
+drivers/net/dsa/mv88e6xxx/chip.c:		mode = chip->info->ops->port_max_speed_mode(port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_pause) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_pause(chip, port, pause);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_duplex) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_duplex(chip, port, duplex);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_rgmii_delay) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_rgmii_delay(chip, port, mode);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_cmode) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_cmode(chip, port, mode);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_link(chip, port, link))
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "p%d: failed to restore MAC's link\n", port);
+drivers/net/dsa/mv88e6xxx/chip.c:	return port < chip->info->num_internal_phys;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->phylink_validate)
+drivers/net/dsa/mv88e6xxx/chip.c:		chip->info->ops->phylink_validate(chip, port, mask, state);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_link_state)
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_link_state(chip, port, state);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_set_link(chip, port, link);
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "p%d: failed to force MAC link\n", port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->stats_snapshot)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->stats_snapshot(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_get_strings)
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->stats_get_strings(chip, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->serdes_get_strings) {
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->serdes_get_strings(chip, port, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_get_sset_count)
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->stats_get_sset_count(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->serdes_get_sset_count)
+drivers/net/dsa/mv88e6xxx/chip.c:		serdes_count = chip->info->ops->serdes_get_sset_count(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].atu_member_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].atu_miss_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].atu_full_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].vtu_member_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].vtu_miss_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_get_stats)
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->stats_get_stats(chip, port, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->serdes_get_stats) {
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->serdes_get_stats(chip, port, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	regs->version = chip->info->prod_num;
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	u16 output_ports = mv88e6xxx_port_vlan(chip, chip->ds->index, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->ieee_pri_map) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->ieee_pri_map(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->ip_pri_map) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->ip_pri_map(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->global2_addr)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->set_cascade_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->set_cascade_port(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = mv88e6xxx_g1_set_device_number(chip, chip->ds->index);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->global2_addr)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->rmu_disable)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->rmu_disable(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->pot_clear)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->pot_clear(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->mgmt_rsvd2cpu)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->mgmt_rsvd2cpu(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->irl_init_all)
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->irl_init_all(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->set_switch_mac) {
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->set_switch_mac(chip, addr);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (dev != chip->ds->index)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->vtu_getnext)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->vtu_getnext(chip, entry);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->vtu_loadpurge)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->vtu_loadpurge(chip, entry);
+drivers/net/dsa/mv88e6xxx/chip.c:	vlan.vid = chip->info->max_vid;
+drivers/net/dsa/mv88e6xxx/chip.c:	} while (vlan.vid < chip->info->max_vid);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->atu_get_hash)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->atu_get_hash(chip, hash);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->atu_set_hash)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->atu_set_hash(chip, hash);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_set_policy)
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_for_each_entry(&chip->policies, policy, id)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->port_set_policy(chip, port, mapping, action);
+drivers/net/dsa/mv88e6xxx/chip.c:	idr_for_each_entry(&chip->policies, policy, id) {
+drivers/net/dsa/mv88e6xxx/chip.c:	policy = devm_kzalloc(chip->dev, sizeof(*policy), GFP_KERNEL);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = idr_alloc_u32(&chip->policies, policy, &fs->location, 0xffffffff,
+drivers/net/dsa/mv88e6xxx/chip.c:		devm_kfree(chip->dev, policy);
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_remove(&chip->policies, fs->location);
+drivers/net/dsa/mv88e6xxx/chip.c:		devm_kfree(chip->dev, policy);
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_for_each_entry(&chip->policies, policy, id)
+drivers/net/dsa/mv88e6xxx/chip.c:		policy = idr_find(&chip->policies, fs->location);
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_for_each_entry(&chip->policies, policy, id)
+drivers/net/dsa/mv88e6xxx/chip.c:		policy = idr_remove(&chip->policies, fs->location);
+drivers/net/dsa/mv88e6xxx/chip.c:			devm_kfree(chip->dev, policy);
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_info(chip->dev, "p%d: already a member of VLAN %d\n",
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	vlan.vid = chip->info->max_vid;
+drivers/net/dsa/mv88e6xxx/chip.c:	} while (vlan.vid < chip->info->max_vid);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->reset)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->reset(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct gpio_desc *gpiod = chip->reset;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_set_frame_mode)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_set_frame_mode(chip, port, frame);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_ether_type)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->port_set_ether_type(chip, port, etype);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (dsa_is_dsa_port(chip->ds, port))
+drivers/net/dsa/mv88e6xxx/chip.c:	if (dsa_is_user_port(chip->ds, port))
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->tag_protocol == DSA_TAG_PROTO_DSA)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->tag_protocol == DSA_TAG_PROTO_EDSA)
+drivers/net/dsa/mv88e6xxx/chip.c:	bool message = dsa_is_dsa_port(chip->ds, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_egress_floods)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->port_set_egress_floods(chip, port,
+drivers/net/dsa/mv88e6xxx/chip.c:	struct mv88e6xxx_port *dev_id = &chip->ports[port];
+drivers/net/dsa/mv88e6xxx/chip.c:	struct mv88e6xxx_port *dev_id = &chip->ports[port];
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_upstream_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_upstream_port(chip, port,
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->set_cpu_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->set_cpu_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->set_egress_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->ports[port].chip = chip;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->ports[port].port = port;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_jumbo_size) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_jumbo_size(chip, port, 10240);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_pause_limit) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_pause_limit(chip, port, 0, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_disable_learn_limit) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_disable_learn_limit(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_disable_pri_override) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_disable_pri_override(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_tag_remap) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_tag_remap(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_egress_rate_limiting) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_egress_rate_limiting(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_setup_message_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_setup_message_port(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to power off SERDES\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_set_histogram) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->stats_set_histogram(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:			dev_err(chip->dev,
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to set ATU stats kind/bin\n");
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to perform ATU get next\n");
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to get ATU stats\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->ds = ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->setup_errata) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->setup_errata(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->port_get_cmode) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->port_get_cmode(chip, i, &cmode);
+drivers/net/dsa/mv88e6xxx/chip.c:			chip->ports[i].cmode = cmode;
+drivers/net/dsa/mv88e6xxx/chip.c:			dev_err(chip->dev, "port %d is invalid\n", i);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ptp_support) {
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->phy_read)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->phy_read(chip, bus, phy, reg, &val);
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->family != MV88E6XXX_FAMILY_6165)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->phy_write)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->phy_write(chip, bus, phy, reg, val);
+drivers/net/dsa/mv88e6xxx/chip.c:	bus = devm_mdiobus_alloc_size(chip->dev, sizeof(*mdio_bus));
+drivers/net/dsa/mv88e6xxx/chip.c:	bus->parent = chip->dev;
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "Cannot register MDIO bus (%d)\n", err);
+drivers/net/dsa/mv88e6xxx/chip.c:		list_add_tail(&mdio_bus->list, &chip->mdios);
+drivers/net/dsa/mv88e6xxx/chip.c:		list_add(&mdio_bus->list, &chip->mdios);
+drivers/net/dsa/mv88e6xxx/chip.c:	list_for_each_entry(mdio_bus, &chip->mdios, list) {
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->eeprom_len;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->get_eeprom)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->get_eeprom(chip, eeprom, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->set_eeprom)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->set_eeprom(chip, eeprom, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->info = info;
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_info(chip->dev, "switch 0x%x detected: %s, revision %u\n",
+drivers/net/dsa/mv88e6xxx/chip.c:		 chip->info->prod_num, chip->info->name, rev);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->dev = dev;
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_init(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	INIT_LIST_HEAD(&chip->mdios);
+drivers/net/dsa/mv88e6xxx/chip.c:	idr_init(&chip->policies);
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->tag_protocol;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->set_egress_port)
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_lock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	if ((ingress ? chip->ingress_dest_port : chip->egress_dest_port) !=
+drivers/net/dsa/mv88e6xxx/chip.c:					 chip->ports[i].mirror_ingress :
+drivers/net/dsa/mv88e6xxx/chip.c:					 chip->ports[i].mirror_egress;
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_unlock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_lock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:				 chip->ports[i].mirror_ingress :
+drivers/net/dsa/mv88e6xxx/chip.c:				 chip->ports[i].mirror_egress;
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_unlock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_egress_floods)
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_egress_floods(chip, port,
+drivers/net/dsa/mv88e6xxx/chip.c:	struct device *dev = chip->dev;
+drivers/net/dsa/mv88e6xxx/chip.c:	ds->ageing_time_min = chip->info->age_time_coeff;
+drivers/net/dsa/mv88e6xxx/chip.c:	ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
+drivers/net/dsa/mv88e6xxx/chip.c:	dsa_unregister_switch(chip->ds);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->info = compat_info;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (IS_ERR(chip->reset)) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = PTR_ERR(chip->reset);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->reset)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->get_eeprom) {
+drivers/net/dsa/mv88e6xxx/chip.c:					     &chip->eeprom_len);
+drivers/net/dsa/mv88e6xxx/chip.c:			chip->eeprom_len = pdata->eeprom_len;
+drivers/net/dsa/mv88e6xxx/chip.c:		chip->irq = of_irq_get(np, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->irq == -EPROBE_DEFER) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->irq;
+drivers/net/dsa/mv88e6xxx/chip.c:		chip->irq = pdata->irq;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->irq > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->g2_irqs > 0) {
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->g2_irqs > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->irq > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ptp_support) {
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->g2_irqs > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->irq > 0)
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->pvt;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_databases;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_macs;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_ports;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_gpio;
+drivers/net/dsa/mv88e6xxx/chip.h:	return (chip->info->invalid_port_mask & BIT(port)) != 0;
+drivers/net/dsa/mv88e6xxx/chip.h:	mutex_lock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.h:	mutex_unlock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/global1.c:	int addr = chip->info->global1_addr;
+drivers/net/dsa/mv88e6xxx/global1.c:	int addr = chip->info->global1_addr;
+drivers/net/dsa/mv88e6xxx/global1.c:	return mv88e6xxx_wait_bit(chip, chip->info->global1_addr, reg,
+drivers/net/dsa/mv88e6xxx/global1.c:	return mv88e6xxx_wait_mask(chip, chip->info->global1_addr, reg,
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->ingress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->egress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->ingress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->egress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	const unsigned int coeff = chip->info->age_time_coeff;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	dev_dbg(chip->dev, "AgeTime set to 0x%02x (%d ms)\n", age_time,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	if (!chip->info->atu_move_port_mask)
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	mask = chip->info->atu_move_port_mask;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	int to_port = chip->info->atu_move_port_mask;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		chip->ports[spid].atu_member_violation++;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		chip->ports[spid].atu_miss_violation++;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		chip->ports[spid].atu_full_violation++;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	dev_err(chip->dev, "ATU problem: error %d while handling interrupt\n",
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	chip->atu_prob_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	if (chip->atu_prob_irq < 0)
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		return chip->atu_prob_irq;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	err = request_threaded_irq(chip->atu_prob_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		irq_dispose_mapping(chip->atu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	free_irq(chip->atu_prob_irq, chip);
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	irq_dispose_mapping(chip->atu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		dev_err_ratelimited(chip->dev, "VTU member violation for vid %d, source port %d\n",
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		chip->ports[spid].vtu_member_violation++;
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		dev_dbg_ratelimited(chip->dev, "VTU miss violation for vid %d, source port %d\n",
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		chip->ports[spid].vtu_miss_violation++;
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	dev_err(chip->dev, "VTU problem: error %d while handling interrupt\n",
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	chip->vtu_prob_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	if (chip->vtu_prob_irq < 0)
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		return chip->vtu_prob_irq;
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	err = request_threaded_irq(chip->vtu_prob_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		irq_dispose_mapping(chip->vtu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	free_irq(chip->vtu_prob_irq, chip);
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	irq_dispose_mapping(chip->vtu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	return mv88e6xxx_read(chip, chip->info->global2_addr, reg, val);
+drivers/net/dsa/mv88e6xxx/global2.c:	return mv88e6xxx_write(chip, chip->info->global2_addr, reg, val);
+drivers/net/dsa/mv88e6xxx/global2.c:	return mv88e6xxx_wait_bit(chip, chip->info->global2_addr, reg,
+drivers/net/dsa/mv88e6xxx/global2.c:	dev_info(chip->dev, "Watchdog event: 0x%04x", reg);
+drivers/net/dsa/mv88e6xxx/global2.c:	dev_info(chip->dev, "Watchdog event: 0x%04x",
+drivers/net/dsa/mv88e6xxx/global2.c:	dev_info(chip->dev, "Watchdog history: 0x%04x",
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->reset)
+drivers/net/dsa/mv88e6xxx/global2.c:		chip->info->ops->reset(chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->watchdog_ops->irq_action)
+drivers/net/dsa/mv88e6xxx/global2.c:		ret = chip->info->ops->watchdog_ops->irq_action(chip, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->watchdog_ops->irq_free)
+drivers/net/dsa/mv88e6xxx/global2.c:		chip->info->ops->watchdog_ops->irq_free(chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	free_irq(chip->watchdog_irq, chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_dispose_mapping(chip->watchdog_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->watchdog_irq = irq_find_mapping(chip->g2_irq.domain,
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->watchdog_irq < 0)
+drivers/net/dsa/mv88e6xxx/global2.c:		return chip->watchdog_irq;
+drivers/net/dsa/mv88e6xxx/global2.c:	err = request_threaded_irq(chip->watchdog_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->watchdog_ops->irq_setup)
+drivers/net/dsa/mv88e6xxx/global2.c:		err = chip->info->ops->watchdog_ops->irq_setup(chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.masked |= (1 << n);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.masked &= ~(1 << n);
+drivers/net/dsa/mv88e6xxx/global2.c:			sub_irq = irq_find_mapping(chip->g2_irq.domain, n);
+drivers/net/dsa/mv88e6xxx/global2.c:	err = mv88e6xxx_g2_int_mask(chip, ~chip->g2_irq.masked);
+drivers/net/dsa/mv88e6xxx/global2.c:		dev_err(chip->dev, "failed to mask interrupts\n");
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_set_chip_and_handler(irq, &chip->g2_irq.chip, handle_level_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	free_irq(chip->device_irq, chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_dispose_mapping(chip->device_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:		virq = irq_find_mapping(chip->g2_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_domain_remove(chip->g2_irq.domain);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.domain = irq_domain_add_simple(
+drivers/net/dsa/mv88e6xxx/global2.c:		chip->dev->of_node, 16, 0, &mv88e6xxx_g2_irq_domain_ops, chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	if (!chip->g2_irq.domain)
+drivers/net/dsa/mv88e6xxx/global2.c:		irq_create_mapping(chip->g2_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.chip = mv88e6xxx_g2_irq_chip;
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.masked = ~0;
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->device_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->device_irq < 0) {
+drivers/net/dsa/mv88e6xxx/global2.c:		err = chip->device_irq;
+drivers/net/dsa/mv88e6xxx/global2.c:	err = request_threaded_irq(chip->device_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global2.c:		virq = irq_find_mapping(chip->g2_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_domain_remove(chip->g2_irq.domain);
+drivers/net/dsa/mv88e6xxx/global2.c:	for (phy = 0; phy < chip->info->num_internal_phys; phy++) {
+drivers/net/dsa/mv88e6xxx/global2.c:		irq = irq_find_mapping(chip->g2_irq.domain, phy);
+drivers/net/dsa/mv88e6xxx/global2.c:		bus->irq[chip->info->phy_base_addr + phy] = irq;
+drivers/net/dsa/mv88e6xxx/global2.c:	for (phy = 0; phy < chip->info->num_internal_phys; phy++)
+drivers/net/dsa/mv88e6xxx/global2.h:	if (chip->info->global2_addr) {
+drivers/net/dsa/mv88e6xxx/global2.h:		dev_err(chip->dev, "this chip requires CONFIG_NET_DSA_MV88E6XXX_GLOBAL2 enabled\n");
+drivers/net/dsa/mv88e6xxx/global2_scratch.c:		chip->gpio_data[offset] |= mask;
+drivers/net/dsa/mv88e6xxx/global2_scratch.c:		chip->gpio_data[offset] &= ~mask;
+drivers/net/dsa/mv88e6xxx/global2_scratch.c:	return mv88e6xxx_g2_scratch_write(chip, reg, chip->gpio_data[offset]);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->port_ptp_read)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->port_ptp_read(chip, port, addr,
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->port_ptp_write)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->port_ptp_write(chip, port, addr,
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->ptp_write)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->ptp_write(chip, addr, data);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->ptp_read)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->ptp_read(chip, addr, data, 1);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	info->phc_index = ptp_clock_index(chip->ptp_clock);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		dev_dbg(chip->dev, "Unsupported rx_filter %d\n",
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		chip->enable_count += 1;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		if (chip->enable_count == 1 && ptp_ops->global_enable)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		chip->enable_count -= 1;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		if (chip->enable_count == 0 && ptp_ops->global_disable)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:			ns = timecounter_cyc2time(&chip->tstamp_tc, ns);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ptp_schedule_worker(chip->ptp_clock, 0);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:			dev_warn(chip->dev, "p%d: clearing tx timestamp hang\n",
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		dev_warn(chip->dev, "p%d: tx timestamp overrun\n", ps->port_id);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		dev_warn(chip->dev, "p%d: unexpected seq. id\n", ps->port_id);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ns = timecounter_cyc2time(&chip->tstamp_tc, time_raw);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	dev_dbg(chip->dev,
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		ps = &chip->port_hwtstamp[i];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ptp_schedule_worker(chip->ptp_clock, 0);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (chip->info->family == MV88E6XXX_FAMILY_6341) {
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->phy_read)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->phy_read(chip, bus, addr, reg, val);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->phy_write)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->phy_write(chip, bus, addr, reg, val);
+drivers/net/dsa/mv88e6xxx/phy.c:		dev_err(chip->dev,
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->ppu_disable)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->ppu_disable(chip);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->ppu_enable)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->ppu_enable(chip);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (mutex_trylock(&chip->ppu_mutex)) {
+drivers/net/dsa/mv88e6xxx/phy.c:			chip->ppu_disabled = 0;
+drivers/net/dsa/mv88e6xxx/phy.c:		mutex_unlock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	schedule_work(&chip->ppu_work);
+drivers/net/dsa/mv88e6xxx/phy.c:	mutex_lock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->ppu_disabled) {
+drivers/net/dsa/mv88e6xxx/phy.c:			mutex_unlock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:		chip->ppu_disabled = 1;
+drivers/net/dsa/mv88e6xxx/phy.c:		del_timer(&chip->ppu_timer);
+drivers/net/dsa/mv88e6xxx/phy.c:	mod_timer(&chip->ppu_timer, jiffies + msecs_to_jiffies(10));
+drivers/net/dsa/mv88e6xxx/phy.c:	mutex_unlock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	mutex_init(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	INIT_WORK(&chip->ppu_work, mv88e6xxx_phy_ppu_reenable_work);
+drivers/net/dsa/mv88e6xxx/phy.c:	timer_setup(&chip->ppu_timer, mv88e6xxx_phy_ppu_reenable_timer, 0);
+drivers/net/dsa/mv88e6xxx/phy.c:	del_timer_sync(&chip->ppu_timer);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (chip->info->ops->ppu_enable && chip->info->ops->ppu_disable)
+drivers/net/dsa/mv88e6xxx/phy.c:	if (chip->info->ops->ppu_enable && chip->info->ops->ppu_disable)
+drivers/net/dsa/mv88e6xxx/port.c:	int addr = chip->info->port_base_addr + port;
+drivers/net/dsa/mv88e6xxx/port.c:	int addr = chip->info->port_base_addr + port;
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: delay RXCLK %s, TXCLK %s\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: %s link %s\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: %s %s duplex\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:		dev_dbg(chip->dev, "p%d: Speed set to %d Mbps\n", port, speed);
+drivers/net/dsa/mv88e6xxx/port.c:		dev_dbg(chip->dev, "p%d: Speed unforced\n", port);
+drivers/net/dsa/mv88e6xxx/port.c:	if (cmode == chip->ports[port].cmode)
+drivers/net/dsa/mv88e6xxx/port.c:		if (chip->ports[port].serdes_irq) {
+drivers/net/dsa/mv88e6xxx/port.c:	chip->ports[port].cmode = 0;
+drivers/net/dsa/mv88e6xxx/port.c:		chip->ports[port].cmode = cmode;
+drivers/net/dsa/mv88e6xxx/port.c:		if (chip->ports[port].serdes_irq) {
+drivers/net/dsa/mv88e6xxx/port.c:	addr = chip->info->port_base_addr + port;
+drivers/net/dsa/mv88e6xxx/port.c:	switch (chip->ports[port].cmode) {
+drivers/net/dsa/mv88e6xxx/port.c:		u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: PortState set to %s\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: VLANTable set to %.3x\n", port, map);
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: FID set to %u\n", port, fid);
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: DefaultVID set to %u\n", port, pvid);
+drivers/net/dsa/mv88e6xxx/port.c:		mirror_port = &chip->ports[port].mirror_ingress;
+drivers/net/dsa/mv88e6xxx/port.c:		mirror_port = &chip->ports[port].mirror_egress;
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: 802.1QMode set to %s\n", port,
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (!chip->info->ops->avb_ops->tai_read)
+drivers/net/dsa/mv88e6xxx/ptp.c:	return chip->info->ops->avb_ops->tai_read(chip, addr, data, len);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (!chip->info->ops->avb_ops->tai_write)
+drivers/net/dsa/mv88e6xxx/ptp.c:	return chip->info->ops->avb_ops->tai_write(chip, addr, data);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (!chip->info->ops->gpio_ops)
+drivers/net/dsa/mv88e6xxx/ptp.c:	err = chip->info->ops->gpio_ops->set_dir(chip, pin, input);
+drivers/net/dsa/mv88e6xxx/ptp.c:	return chip->info->ops->gpio_ops->set_pctl(chip, pin, func);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->evcap_config = MV88E6XXX_TAI_CFG_CAP_OVERWRITE |
+drivers/net/dsa/mv88e6xxx/ptp.c:		chip->evcap_config |= MV88E6XXX_TAI_CFG_EVREQ_FALLING;
+drivers/net/dsa/mv88e6xxx/ptp.c:	global_config = (chip->evcap_config | chip->trig_config);
+drivers/net/dsa/mv88e6xxx/ptp.c:		dev_err(chip->dev, "failed to read TAI status register\n");
+drivers/net/dsa/mv88e6xxx/ptp.c:		dev_warn(chip->dev, "missed event capture\n");
+drivers/net/dsa/mv88e6xxx/ptp.c:	ev.timestamp = timecounter_cyc2time(&chip->tstamp_tc, raw_ts);
+drivers/net/dsa/mv88e6xxx/ptp.c:	ptp_clock_event(chip->ptp_clock, &ev);
+drivers/net/dsa/mv88e6xxx/ptp.c:	schedule_delayed_work(&chip->tai_event_work, TAI_EVENT_WORK_INTERVAL);
+drivers/net/dsa/mv88e6xxx/ptp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_read(&chip->tstamp_tc);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.mult = neg_adj ? mult - diff : mult + diff;
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_adjtime(&chip->tstamp_tc, delta);
+drivers/net/dsa/mv88e6xxx/ptp.c:	ns = timecounter_read(&chip->tstamp_tc);
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_init(&chip->tstamp_tc, &chip->tstamp_cc, ns);
+drivers/net/dsa/mv88e6xxx/ptp.c:	pin = ptp_find_pin(chip->ptp_clock, PTP_PF_EXTTS, rq->extts.index);
+drivers/net/dsa/mv88e6xxx/ptp.c:		schedule_delayed_work(&chip->tai_event_work,
+drivers/net/dsa/mv88e6xxx/ptp.c:		cancel_delayed_work_sync(&chip->tai_event_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (chip->info->ops->ptp_ops->clock_read)
+drivers/net/dsa/mv88e6xxx/ptp.c:		return chip->info->ops->ptp_ops->clock_read(cc);
+drivers/net/dsa/mv88e6xxx/ptp.c:	mv88e6xxx_ptp_gettime(&chip->ptp_clock_info, &ts);
+drivers/net/dsa/mv88e6xxx/ptp.c:	schedule_delayed_work(&chip->overflow_work,
+drivers/net/dsa/mv88e6xxx/ptp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/ptp.c:	memset(&chip->tstamp_cc, 0, sizeof(chip->tstamp_cc));
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.read	= mv88e6xxx_ptp_clock_read;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.mask	= CYCLECOUNTER_MASK(32);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.mult	= ptp_ops->cc_mult;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.shift	= ptp_ops->cc_shift;
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_init(&chip->tstamp_tc, &chip->tstamp_cc,
+drivers/net/dsa/mv88e6xxx/ptp.c:	INIT_DELAYED_WORK(&chip->overflow_work, mv88e6xxx_ptp_overflow_check);
+drivers/net/dsa/mv88e6xxx/ptp.c:		INIT_DELAYED_WORK(&chip->tai_event_work, ptp_ops->event_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.owner = THIS_MODULE;
+drivers/net/dsa/mv88e6xxx/ptp.c:	snprintf(chip->ptp_clock_info.name, sizeof(chip->ptp_clock_info.name),
+drivers/net/dsa/mv88e6xxx/ptp.c:		 "%s", dev_name(chip->dev));
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.n_ext_ts	= ptp_ops->n_ext_ts;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.n_per_out	= 0;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.n_pins	= mv88e6xxx_num_gpio(chip);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.pps	= 0;
+drivers/net/dsa/mv88e6xxx/ptp.c:	for (i = 0; i < chip->ptp_clock_info.n_pins; ++i) {
+drivers/net/dsa/mv88e6xxx/ptp.c:		struct ptp_pin_desc *ppd = &chip->pin_config[i];
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.pin_config = chip->pin_config;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.max_adj    = MV88E6XXX_MAX_ADJ_PPB;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.adjfine	= mv88e6xxx_ptp_adjfine;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.adjtime	= mv88e6xxx_ptp_adjtime;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.gettime64	= mv88e6xxx_ptp_gettime;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.settime64	= mv88e6xxx_ptp_settime;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.enable	= ptp_ops->ptp_enable;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.verify	= ptp_ops->ptp_verify;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.do_aux_work = mv88e6xxx_hwtstamp_work;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock = ptp_clock_register(&chip->ptp_clock_info, chip->dev);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (IS_ERR(chip->ptp_clock))
+drivers/net/dsa/mv88e6xxx/ptp.c:		return PTR_ERR(chip->ptp_clock);
+drivers/net/dsa/mv88e6xxx/ptp.c:	schedule_delayed_work(&chip->overflow_work,
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (chip->ptp_clock) {
+drivers/net/dsa/mv88e6xxx/ptp.c:		cancel_delayed_work_sync(&chip->overflow_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:		if (chip->info->ops->ptp_ops->event_work)
+drivers/net/dsa/mv88e6xxx/ptp.c:			cancel_delayed_work_sync(&chip->tai_event_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:		ptp_clock_unregister(chip->ptp_clock);
+drivers/net/dsa/mv88e6xxx/ptp.c:		chip->ptp_clock = NULL;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:		dev_err(chip->dev, "failed to read statistic\n");
+drivers/net/dsa/mv88e6xxx/serdes.c:			dev_err(chip->dev, "failed to read statistic\n");
+drivers/net/dsa/mv88e6xxx/serdes.c:	struct mv88e6xxx_port *mv88e6xxx_port = &chip->ports[port];
+drivers/net/dsa/mv88e6xxx/serdes.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/serdes.c:	return irq_find_mapping(chip->g2_irq.domain, MV88E6352_SERDES_IRQ);
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode_port = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode_port10 = chip->ports[10].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode_port9 = chip->ports[9].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/serdes.c:		dev_err(chip->dev, "can't read SGMII PHY status: %d\n", err);
+drivers/net/dsa/mv88e6xxx/serdes.c:			dev_err(chip->dev, "invalid PHY speed\n");
+drivers/net/dsa/mv88e6xxx/serdes.c:		dev_err(chip->dev, "can't propagate PHY settings to MAC: %d\n",
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	return irq_find_mapping(chip->g2_irq.domain, port);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_get_lane)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_get_lane(chip, port);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_power)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_power(chip, port, lane, true);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_power)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_power(chip, port, lane, false);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_mapping)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_mapping(chip, port);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_enable)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_enable(chip, port, lane, true);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_enable)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_enable(chip, port, lane, false);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_status)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_status(chip, port, lane);
+drivers/net/dsa/mv88e6xxx/smi.c:	ret = mdiobus_read_nested(chip->bus, dev, reg);
+drivers/net/dsa/mv88e6xxx/smi.c:	ret = mdiobus_write_nested(chip->bus, dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_read(chip, chip->sw_addr + dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_write(chip, chip->sw_addr + dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_write(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_read(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_write(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_write(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	if (chip->info->dual_chip)
+drivers/net/dsa/mv88e6xxx/smi.c:		chip->smi_ops = &mv88e6xxx_smi_dual_direct_ops;
+drivers/net/dsa/mv88e6xxx/smi.c:		chip->smi_ops = &mv88e6xxx_smi_direct_ops;
+drivers/net/dsa/mv88e6xxx/smi.c:	else if (chip->info->multi_chip)
+drivers/net/dsa/mv88e6xxx/smi.c:		chip->smi_ops = &mv88e6xxx_smi_indirect_ops;
+drivers/net/dsa/mv88e6xxx/smi.c:	chip->bus = bus;
+drivers/net/dsa/mv88e6xxx/smi.c:	chip->sw_addr = sw_addr;
+drivers/net/dsa/mv88e6xxx/smi.h:	if (chip->smi_ops && chip->smi_ops->read)
+drivers/net/dsa/mv88e6xxx/smi.h:		return chip->smi_ops->read(chip, dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.h:	if (chip->smi_ops && chip->smi_ops->write)
+drivers/net/dsa/mv88e6xxx/smi.h:		return chip->smi_ops->write(chip, dev, reg, data);
+drivers/net/ethernet/3com/typhoon.c:	/* The chip-specific entries in the device structure. */
+drivers/net/ethernet/8390/axnet_cs.c:  This is the chip-specific code for many 8390-based ethernet adaptors.
+drivers/net/ethernet/8390/lib8390.c:  This is the chip-specific code for many 8390-based ethernet adaptors.
+drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c: * bnx2x_func_init_cmn_chip - performs HW init at chip-common stage
+drivers/net/ethernet/broadcom/tg3.c:	 * chip-internal interrupt pending events.
+drivers/net/ethernet/broadcom/tg3.c:	 * chip-internal interrupt pending events.
+drivers/net/ethernet/broadcom/tg3.c:	 * chip-internal interrupt pending events.
+drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c:	/* Initiate chip-wide soft reset */
+drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:/* 10Gb/s-BT PHY Support. chip-external 10Gb/s-BT PHYs are complex chips
+drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:/* Handle updating of chip-external 10Gb/s-BT PHY firmware.  This needs to
+drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:	/* If this is a 10Gb/s-BT adapter make sure the chip-external
+drivers/net/ethernet/dec/tulip/winbond-840.c:	/* The chip-specific entries in the device structure. */
+drivers/net/ethernet/dlink/sundance.c:	/* The chip-specific entries in the device structure. */
+drivers/net/ethernet/intel/ixgbe/ixgbe_type.h:#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_MASK	0xFF01 /* int chip-wide mask */
+drivers/net/ethernet/intel/ixgbe/ixgbe_type.h:#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_FLAG	0xFC01 /* int chip-wide mask */
+drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c:	/* Enable chip-wide vendor alarm */
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.h: * @ports.index:	chip-wide first channel index
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c: * @idx:	NFP chip-wide port index
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c: * @idx:	NFP chip-wide port index
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c: * @idx:	NFP chip-wide port index
+drivers/net/ethernet/smsc/smc9194.c: .    Attempt to allocate memory for a packet, if chip-memory is not
+drivers/net/ethernet/smsc/smc9194.c: . chip-memory.
+drivers/net/ethernet/via/via-rhine.c:	/* The chip-specific entries in the device structure. */
+drivers/net/phy/microchip.c:#include <dt-bindings/net/microchip-lan78xx.h>
+drivers/net/phy/spi_ks8995.c:	result <<= ks->chip->addr_width + ks->chip->addr_shift;
+drivers/net/phy/spi_ks8995.c:	result |= address << ks->chip->addr_shift;
+drivers/net/phy/spi_ks8995.c:	if (id0 != ks->chip->family_id) {
+drivers/net/phy/spi_ks8995.c:			ks->chip->family_id, id0);
+drivers/net/phy/spi_ks8995.c:	switch (ks->chip->family_id) {
+drivers/net/phy/spi_ks8995.c:		    (get_chip_id(id1) == ks->chip->chip_id)) {
+drivers/net/phy/spi_ks8995.c:			    (ks->chip->chip_id == KSZ8864_CHIP_ID)) {
+drivers/net/phy/spi_ks8995.c:		if (get_chip_id(id1) == ks->chip->chip_id) {
+drivers/net/phy/spi_ks8995.c:	ks->regs_attr.size = ks->chip->regs_size;
+drivers/net/phy/spi_ks8995.c:		 ks->chip->name, ks->chip->chip_id, ks->revision_id);
+drivers/net/usb/cdc_subset.c: * well tends to require chip-specific vendor requests.  Also, Windows
+drivers/net/usb/sr9700.c:MODULE_DESCRIPTION("SR9700 one chip USB 1.1 USB to Ethernet device from http://www.corechip-sz.com/");
+drivers/net/usb/sr9800.c:MODULE_DESCRIPTION("SR9800 USB 2.0 USB2NET Dev : http://www.corechip-sz.com");
+drivers/net/wireless/ath/ath10k/core.c:			  "bus=%s,bmi-chip-id=%d,bmi-board-id=%d%s",
+drivers/net/wireless/ath/ath10k/core.c:			  "bus=%s,bmi-chip-id=%d,bmi-eboard-id=%d",
+drivers/net/wireless/ath/ath10k/pci.c:		if (supp_chip->dev_id == dev_id &&
+drivers/net/wireless/ath/ath10k/pci.c:		    supp_chip->rev_id == rev_id)
+drivers/net/wireless/ath/ath5k/initvals.c: * ath5k_hw_write_initvals() - Write initial chip-specific register dump
+drivers/net/wireless/ath/ath5k/initvals.c: * Write initial chip-specific register dump, to get the chipset on a
+drivers/net/wireless/ath/ath5k/phy.c:	/* Bank Modifications (chip-specific) */
+drivers/net/wireless/ath/ath9k/ar9003_phy.c:		/* disable IRQ, disable chip-reset for BB panic */
+drivers/net/wireless/ath/ath9k/ar9003_phy.c:	/* enable IRQ, disable chip-reset for BB watchdog */
+drivers/net/wireless/broadcom/b43/main.c:	 * the chip-internal counter. */
+drivers/net/wireless/broadcom/b43legacy/main.c:	 * the chip-internal counter. */
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	return core->chip->ops->read32(core->chip->ctx, core->pub.base + reg);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core->chip->ops->write32(core->chip->ctx, core->pub.base + reg, val);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	switch (sr->chip->pub.chip) {
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		if (sr->chip->pub.chiprev < 2)
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, id);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		val = chip->ops->read32(chip->ctx, cpu->wrapbase + BCMA_IOCTL);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	pub = &chip->pub;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	cc = list_first_entry(&chip->cores, struct brcmf_core_priv, list);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	pub->cc_caps = chip->ops->read32(chip->ctx,
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	pub->cc_caps_ext = chip->ops->read32(chip->ctx,
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		val = chip->ops->read32(chip->ctx,
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	if (chip->ops->setup)
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		ret = chip->ops->setup(chip->ctx, pub);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	INIT_LIST_HEAD(&chip->cores);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->num_cores = 0;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops = ops;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ctx = ctx;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	return &chip->pub;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	brcmf_chip_detach(&chip->pub);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	list_for_each_entry_safe(core, tmp, &chip->cores, list) {
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	list_for_each_entry(core, &chip->cores, list)
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	cc = list_first_entry(&chip->cores, struct brcmf_core_priv, list);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	return core->chip->iscoreup(core);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core->chip->coredisable(core, prereset, reset);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core->chip->resetcore(core, prereset, reset, postreset);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_80211);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_INTERNAL_MEM);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	if (chip->pub.chip == BRCM_CC_43430_CHIP_ID) {
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_INTERNAL_MEM);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops->activate(chip->ctx, &chip->pub, 0);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CM3);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_80211);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops->activate(chip->ctx, &chip->pub, rstvec);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CR4);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_80211);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops->activate(chip->ctx, &chip->pub, rstvec);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CA7);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		chip->ops->write32(chip->ctx, addr, 3);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 43224 chip-specific ChipControl register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4331 chip-specific ChipControl register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4319 chip-specific ChipStatus register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4336 chip-specific ChipStatus register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4313 chip-specific ChipStatus register bits */
+drivers/net/wireless/realtek/rtw88/bf.c:	chip->ops->config_bfee(rtwdev, rtwvif, bfee, false);
+drivers/net/wireless/realtek/rtw88/bf.c:	if (!(chip->band & RTW_BAND_5G))
+drivers/net/wireless/realtek/rtw88/bf.c:		if (bfinfo->bfer_mu_cnt >= chip->bfer_mu_max_num) {
+drivers/net/wireless/realtek/rtw88/bf.c:		chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
+drivers/net/wireless/realtek/rtw88/bf.c:		if (bfinfo->bfer_su_cnt >= chip->bfer_su_max_num) {
+drivers/net/wireless/realtek/rtw88/bf.c:		for (i = 0; i < chip->bfer_su_max_num; i++) {
+drivers/net/wireless/realtek/rtw88/bf.c:		chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
+drivers/net/wireless/realtek/rtw88/coex.c:	u8 tol = chip->rssi_tolerance;
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->scbd_support)
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->scbd_support)
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->new_scbd10_def && (bitpos & COEX_SCBD_FIX2M)) {
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->scbd_support)
+drivers/net/wireless/realtek/rtw88/coex.c:	if (coex_rfe->wlg_at_btg && chip->scbd_support &&
+drivers/net/wireless/realtek/rtw88/coex.c:	if (chip->scbd_support) {
+drivers/net/wireless/realtek/rtw88/coex.c:		rssi_step = chip->wl_rssi_step[i];
+drivers/net/wireless/realtek/rtw88/coex.c:		rssi_step = chip->bt_rssi_step[i];
+drivers/net/wireless/realtek/rtw88/coex.c:		rssi_step = chip->wl_rssi_step[i];
+drivers/net/wireless/realtek/rtw88/coex.c:			bw = chip->bt_afh_span_bw40;
+drivers/net/wireless/realtek/rtw88/coex.c:			bw = chip->bt_afh_span_bw20;
+drivers/net/wireless/realtek/rtw88/coex.c:	} else if (chip->afh_5g_num > 1) {
+drivers/net/wireless/realtek/rtw88/coex.c:		for (i = 0; i < chip->afh_5g_num; i++) {
+drivers/net/wireless/realtek/rtw88/coex.c:			if (center_chan == chip->afh_5g[i].wl_5g_ch) {
+drivers/net/wireless/realtek/rtw88/coex.c:				center_chan = chip->afh_5g[i].bt_skip_ch;
+drivers/net/wireless/realtek/rtw88/coex.c:				bw = chip->afh_5g[i].bt_skip_span;
+drivers/net/wireless/realtek/rtw88/coex.c:		if (type < chip->table_sant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_sant[type].bt,
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_sant[type].wl);
+drivers/net/wireless/realtek/rtw88/coex.c:		if (type < chip->table_nsant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_nsant[type].bt,
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_nsant[type].wl);
+drivers/net/wireless/realtek/rtw88/coex.c:		if (chip->pstdma_type == COEX_PSTDMA_FORCE_LPSOFF)
+drivers/net/wireless/realtek/rtw88/coex.c:		if (type < chip->tdma_sant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[0],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[1],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[2],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[3],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[4]);
+drivers/net/wireless/realtek/rtw88/coex.c:		if (n < chip->tdma_nsant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[0],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[1],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[2],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[3],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[4]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	if (level > chip->wl_rf_para_num - 1)
+drivers/net/wireless/realtek/rtw88/coex.c:		level = chip->wl_rf_para_num - 1;
+drivers/net/wireless/realtek/rtw88/coex.c:		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_tx[level]);
+drivers/net/wireless/realtek/rtw88/coex.c:		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[level]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	if (chip->bt_rssi_type == COEX_BTRSSI_RATIO) {
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_init(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	if (!chip->ops->coex_set_ant_switch)
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_ant_switch(rtwdev, ctrl_type, pos_type);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_gnt_fix(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_gnt_debug(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_rfe_type(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_wl_tx_power(rtwdev, wl_pwr);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_wl_rx_gain(rtwdev, low_gain);
+drivers/net/wireless/realtek/rtw88/debug.c:	u8 page_size = rtwdev->chip->page_size;
+drivers/net/wireless/realtek/rtw88/debug.c:	if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C) {
+drivers/net/wireless/realtek/rtw88/efuse.c:	chip->ops->cfg_ldo25(rtwdev, false);
+drivers/net/wireless/realtek/rtw88/efuse.c:	ret = chip->ops->read_efuse(rtwdev, log_map);
+drivers/net/wireless/realtek/rtw88/fw.c:	size = chip->tx_pkt_desc_sz + sizeof(*dpk_hdr);
+drivers/net/wireless/realtek/rtw88/fw.c:	skb_reserve(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	size = chip->tx_pkt_desc_sz + sizeof(*pg_info_hdr);
+drivers/net/wireless/realtek/rtw88/fw.c:	skb_reserve(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	pg_size = rtwdev->chip->page_size;
+drivers/net/wireless/realtek/rtw88/fw.c:	page_size = chip->page_size;
+drivers/net/wireless/realtek/rtw88/fw.c:	tx_desc_sz = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/hci.h:	val = rtwdev->chip->ops->read_rf(rtwdev, rf_path, addr, mask);
+drivers/net/wireless/realtek/rtw88/hci.h:	rtwdev->chip->ops->write_rf(rtwdev, rf_path, addr, mask, data);
+drivers/net/wireless/realtek/rtw88/mac.c:	pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
+drivers/net/wireless/realtek/rtw88/mac.c:	u8 sys_func_en = rtwdev->chip->sys_func_en;
+drivers/net/wireless/realtek/rtw88/mac.c:	u32 desc_size = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/mac.c:		rqpn = &chip->rqpn_table[1];
+drivers/net/wireless/realtek/rtw88/mac.c:			rqpn = &chip->rqpn_table[2];
+drivers/net/wireless/realtek/rtw88/mac.c:			rqpn = &chip->rqpn_table[3];
+drivers/net/wireless/realtek/rtw88/mac.c:			rqpn = &chip->rqpn_table[4];
+drivers/net/wireless/realtek/rtw88/mac.c:	u8 csi_buf_pg_num = chip->csi_buf_pg_num;
+drivers/net/wireless/realtek/rtw88/mac.c:	fifo->txff_pg_num = chip->txff_size >> 7;
+drivers/net/wireless/realtek/rtw88/mac.c:		pg_tbl = &chip->page_table[1];
+drivers/net/wireless/realtek/rtw88/mac.c:			pg_tbl = &chip->page_table[2];
+drivers/net/wireless/realtek/rtw88/mac.c:			pg_tbl = &chip->page_table[3];
+drivers/net/wireless/realtek/rtw88/mac.c:			pg_tbl = &chip->page_table[4];
+drivers/net/wireless/realtek/rtw88/mac.c:	rtw_write32(rtwdev, REG_RXFF_BNDY, chip->rxff_size - C2H_PKT_BUF - 1);
+drivers/net/wireless/realtek/rtw88/mac.c:	ret = chip->ops->mac_init(rtwdev);
+drivers/net/wireless/realtek/rtw88/mac80211.c:			chip->ops->phy_calibration(rtwdev);
+drivers/net/wireless/realtek/rtw88/mac80211.c:		chip->ops->set_gid_table(rtwdev, vif, conf);
+drivers/net/wireless/realtek/rtw88/main.c:	chip->ops->cfg_csi_rate(rtwdev, rtwdev->dm_info.min_rssi,
+drivers/net/wireless/realtek/rtw88/main.c:	chip->ops->set_channel(rtwdev, center_chan, bandwidth, primary_chan_idx);
+drivers/net/wireless/realtek/rtw88/main.c:	chip->ops->phy_set_param(rtwdev);
+drivers/net/wireless/realtek/rtw88/main.c:	if (chip->band & RTW_BAND_2G) {
+drivers/net/wireless/realtek/rtw88/main.c:		if (chip->ht_supported)
+drivers/net/wireless/realtek/rtw88/main.c:	if (chip->band & RTW_BAND_5G) {
+drivers/net/wireless/realtek/rtw88/main.c:		if (chip->ht_supported)
+drivers/net/wireless/realtek/rtw88/main.c:		if (chip->vht_supported)
+drivers/net/wireless/realtek/rtw88/main.c:	efuse->physical_size = chip->phy_efuse_size;
+drivers/net/wireless/realtek/rtw88/main.c:	efuse->logical_size = chip->log_efuse_size;
+drivers/net/wireless/realtek/rtw88/main.c:	efuse->protect_size = chip->ptct_efuse_size;
+drivers/net/wireless/realtek/rtw88/main.c:	if (!(BIT(rtw_fw_lps_deep_mode) & chip->lps_deep_mode_supported))
+drivers/net/wireless/realtek/rtw88/main.c:	ret = rtw_load_firmware(rtwdev, rtwdev->chip->fw_name);
+drivers/net/wireless/realtek/rtw88/main.c:	max_tx_headroom = rtwdev->chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	tx_desc_size = chip->tx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	rx_desc_size = chip->rx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 desc_sz = chip->rx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 tx_pkt_desc_sz = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 tx_buf_desc_sz = chip->tx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/pci.c:	tx_pkt_desc_sz = rtwdev->chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	tx_pkt_desc_sz = rtwdev->chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:		skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 pkt_desc_sz = chip->rx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 buf_desc_sz = chip->rx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:		chip->ops->query_rx_desc(rtwdev, rx_desc, &pkt_stat, &rx_status);
+drivers/net/wireless/realtek/rtw88/pci.c:	for (i = 0; i < chip->intf_table->n_gen1_para; i++) {
+drivers/net/wireless/realtek/rtw88/pci.c:		para = &chip->intf_table->gen1_para[i];
+drivers/net/wireless/realtek/rtw88/pci.c:	for (i = 0; i < chip->intf_table->n_gen2_para; i++) {
+drivers/net/wireless/realtek/rtw88/pci.c:		para = &chip->intf_table->gen2_para[i];
+drivers/net/wireless/realtek/rtw88/phy.c:	addr = chip->dig[0].addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	mask = chip->dig[0].mask;
+drivers/net/wireless/realtek/rtw88/phy.c:		addr = chip->dig[path].addr;
+drivers/net/wireless/realtek/rtw88/phy.c:		mask = chip->dig[path].mask;
+drivers/net/wireless/realtek/rtw88/phy.c:	chip->ops->false_alarm_statistics(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	if (chip->ops->dpk_track)
+drivers/net/wireless/realtek/rtw88/phy.c:		chip->ops->dpk_track(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	if (chip->ops->cck_pd_set)
+drivers/net/wireless/realtek/rtw88/phy.c:		chip->ops->cck_pd_set(rtwdev, level);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtwdev->chip->ops->pwr_track(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	const u32 *base_addr = chip->rf_base_addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	u32 *sipi_addr = chip->rf_sipi_addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	const u32 *base_addr = chip->rf_base_addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (rtwdev->chip->is_pwr_by_rate_dec)
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 max_power_index = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 max_power_index = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (!chip->rfk_init_tbl)
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->rfk_init_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->mac_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->bb_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->agc_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:		tbl = chip->rf_tbl[rf_path];
+drivers/net/wireless/realtek/rtw88/phy.c:	if (!chip->en_dis_dpd)
+drivers/net/wireless/realtek/rtw88/phy.c:	if (DIS_DPD_RATE ## _rate & chip->dpd_ratemask)			\
+drivers/net/wireless/realtek/rtw88/phy.c:		dpd_diff = -6 * chip->txgi_factor;			\
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 factor = chip->txgi_factor;
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 factor = chip->txgi_factor;
+drivers/net/wireless/realtek/rtw88/phy.c:	s8 power_limit = (s8)rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	return (s8)rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (rtwdev->chip->en_dis_dpd)
+drivers/net/wireless/realtek/rtw88/phy.c:	if (tx_power > rtwdev->chip->max_power_index)
+drivers/net/wireless/realtek/rtw88/phy.c:		tx_power = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	chip->ops->set_tx_power_index(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	s8 max_power_index = (s8)rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	const struct rtw_pwr_track_tbl *tbl = rtwdev->chip->pwr_track_tbl;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (delta_iqk >= rtwdev->chip->iqk_threshold) {
+drivers/net/wireless/realtek/rtw88/phy.h:	if (chip->rfe_defs_size == 0)
+drivers/net/wireless/realtek/rtw88/phy.h:	if (efuse->rfe_option < chip->rfe_defs_size)
+drivers/net/wireless/realtek/rtw88/phy.h:		rfe_def = &chip->rfe_defs[efuse->rfe_option];
+drivers/net/wireless/realtek/rtw88/rtw8822b.c:	u32 desc_sz = rtwdev->chip->rx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/rtw8822b.c:	u8 max_pwr_idx = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/rtw8822c.c:	u32 desc_sz = rtwdev->chip->rx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/tx.c:	pkt_info->offset = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/tx.c:	pkt_info->offset = chip->tx_pkt_desc_sz;
+drivers/net/wireless/ti/wl1251/io.c:	 * a chip-specific register address, so look it up in the registers
+drivers/net/wireless/ti/wlcore/wlcore.h:	/* per-chip-family private structure */
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_init(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_init(&chip->usb, hw, intf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_rf_init(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(!mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_clear(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_rf_clear(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_destroy(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	i += zd_usb_scnprint_id(&chip->usb, buffer+i, size-i);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	i += zd_rf_scnprint_id(&chip->rf, buffer+i, size-i);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	i += scnprintf(buffer+i, size-i, " pa%1x %c%c%c%c%c", chip->pa_type,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_cck_gain ? 'g' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_cr157 ? '7' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_6m_band_edge ? '6' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->new_phy_layout ? 'N' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->al2230s_bit ? 'S' : '-');
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_usb_iowrite16v_async(&chip->usb, ioreqs16, count16);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_iowrite16v_async_start(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		zd_usb_iowrite16v_async_end(&chip->usb, 0);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_iowrite16v_async_end(&chip->usb, 50 /* ms */);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_iowrite16v_async_start(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		r = zd_usb_iowrite16v_async(&chip->usb, &ioreqs[i], j);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			zd_usb_iowrite16v_async_end(&chip->usb, 0);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_iowrite16v_async_end(&chip->usb, 50 /* ms */);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_iowrite16v_async_start(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			zd_usb_iowrite16v_async_end(&chip->usb, 0);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_iowrite16v_async_end(&chip->usb, 50 /* ms */);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->pa_type = (value >> 16) & 0x0f;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cck_gain = (value >> 8) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cr157 = (value >> 13) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_6m_band_edge = (value >> 21) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->new_phy_layout = (value >> 31) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->al2230s_bit = (value >> 7) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->link_led = ((value >> 4) & 1) ? LED1 : LED2;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->supports_tx_led = 1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			chip->supports_tx_led = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->pa_type, chip->patch_cck_gain,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_cr157, chip->patch_6m_band_edge,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->new_phy_layout,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->link_led == LED1 ? 1 : 2,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->supports_tx_led);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->pa_type = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cck_gain = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cr157 = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_6m_band_edge = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->new_phy_layout = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return read_values(chip, chip->pwr_cal_values,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return read_values(chip, chip->pwr_int_values,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		r = read_values(chip, chip->ofdm_cal_values[i],
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!chip->patch_cr157)
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!chip->patch_6m_band_edge)
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_rf_patch_6m_band_edge(&chip->rf, channel);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return (zd_addr_t)((u16)chip->fw_regs_base + offset);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_ioread16_locked(chip, (u16*)&chip->fw_regs_base,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		  (u16)chip->fw_regs_base);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_read_fw(&chip->usb, E2P_MAC_ADDR_P1, addr,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_rf_init_hw(&chip->rf, rf_type);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	u8 value = chip->pwr_int_values[channel - 1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	u8 value = chip->pwr_cal_values[channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ioreqs[0].value = chip->ofdm_cal_values[OFDM_36M_INDEX][channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ioreqs[1].value = chip->ofdm_cal_values[OFDM_48M_INDEX][channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ioreqs[2].value = chip->ofdm_cal_values[OFDM_54M_INDEX][channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!zd_rf_should_update_pwr_int(&chip->rf))
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!chip->patch_cck_gain || !zd_rf_should_patch_cck_gain(&chip->rf))
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_rf_set_channel(&chip->rf, channel);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	channel = chip->rf.channel;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	other_led = chip->link_led == LED1 ? LED2 : LED1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			ioreqs[1].value &= ~chip->link_led;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			ioreqs[1].value |= chip->link_led;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		ioreqs[1].value |= chip->link_led;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_switch_radio_on(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_switch_radio_off(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_usb_enable_int(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_disable_int(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_enable_tx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_usb_enable_rx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_tx_watchdog_enable(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_tx_watchdog_disable(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_disable_rx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_disable_tx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return chip->usb.is_zd1211b;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_ioread16v(&chip->usb, values, addresses, count);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_ioread16(&chip->usb, value, addr);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_iowrite16v(&chip->usb, &ioreq, 1);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_rfwrite(&chip->usb, value, bits);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return chip->rf.channel;
+drivers/net/wireless/zydas/zd1211rw/zd_mac.c:	struct zd_usb *usb = &chip->usb;
+drivers/net/wireless/zydas/zd1211rw/zd_rf.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_rf.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_rf.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_rf_al2230.c:	if (chip->new_phy_layout) {
+drivers/net/wireless/zydas/zd1211rw/zd_rf_al7230b.c:	if (chip->new_phy_layout) {
+drivers/net/wireless/zydas/zd1211rw/zd_rf_al7230b.c:	if (chip->new_phy_layout)
+drivers/net/wireless/zydas/zd1211rw/zd_rf_uw2453.c:	u8 int_value = chip->pwr_int_values[channel - 1];
+drivers/nvmem/Makefile:nvmem_rockchip_efuse-y		:= rockchip-efuse.o
+drivers/nvmem/Makefile:obj-$(CONFIG_ROCKCHIP_OTP)	+= nvmem-rockchip-otp.o
+drivers/nvmem/Makefile:nvmem-rockchip-otp-y		:= rockchip-otp.o
+drivers/nvmem/rockchip-efuse.c:	.name = "rockchip-efuse",
+drivers/nvmem/rockchip-efuse.c:		.compatible = "rockchip,rockchip-efuse",
+drivers/nvmem/rockchip-efuse.c:		.name = "rockchip-efuse",
+drivers/nvmem/rockchip-otp.c:	.name = "rockchip-otp",
+drivers/nvmem/rockchip-otp.c:		.name = "rockchip-otp",
+drivers/pci/controller/Makefile:obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o
+drivers/pci/controller/Makefile:obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
+drivers/pci/controller/pci-aardvark.c:	irq_chip->name = devm_kasprintf(dev, GFP_KERNEL, "%s-irq",
+drivers/pci/controller/pci-aardvark.c:	if (!irq_chip->name) {
+drivers/pci/controller/pci-aardvark.c:	irq_chip->irq_mask = advk_pcie_irq_mask;
+drivers/pci/controller/pci-aardvark.c:	irq_chip->irq_mask_ack = advk_pcie_irq_mask;
+drivers/pci/controller/pci-aardvark.c:	irq_chip->irq_unmask = advk_pcie_irq_unmask;
+drivers/pci/controller/pci-hyperv.c:	return parent->chip->irq_set_affinity(parent, dest, force);
+drivers/pci/controller/pci-tegra.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pci-tegra.c:	msi = find_first_zero_bit(chip->used, INT_PCI_MSI_NR);
+drivers/pci/controller/pci-tegra.c:		set_bit(msi, chip->used);
+drivers/pci/controller/pci-tegra.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pci-tegra.c:	struct device *dev = chip->chip.dev;
+drivers/pci/controller/pci-tegra.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pci-tegra.c:	if (!test_bit(irq, chip->used))
+drivers/pci/controller/pci-tegra.c:		clear_bit(irq, chip->used);
+drivers/pci/controller/pci-tegra.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	msi = find_first_zero_bit(chip->used, INT_PCI_MSI_NR);
+drivers/pci/controller/pcie-rcar.c:		set_bit(msi, chip->used);
+drivers/pci/controller/pcie-rcar.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	msi = bitmap_find_free_region(chip->used, INT_PCI_MSI_NR,
+drivers/pci/controller/pcie-rcar.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	clear_bit(irq, chip->used);
+drivers/pci/controller/pcie-rcar.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rockchip-ep.c:	cpu_addr -= rockchip->mem_res->start;
+drivers/pci/controller/pcie-rockchip-ep.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-ep.c:	rockchip->is_rc = false;
+drivers/pci/controller/pcie-rockchip-ep.c:	rockchip->dev = dev;
+drivers/pci/controller/pcie-rockchip-ep.c:	err = pci_epc_mem_init(epc, rockchip->mem_res->start,
+drivers/pci/controller/pcie-rockchip-ep.c:			       resource_size(rockchip->mem_res));
+drivers/pci/controller/pcie-rockchip-ep.c:		.name = "rockchip-pcie-ep",
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->number == rockchip->root_bus_nr && dev > 0)
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->primary == rockchip->root_bus_nr && dev > 0)
+drivers/pci/controller/pcie-rockchip-host.c:	if (rockchip->legacy_phy)
+drivers/pci/controller/pcie-rockchip-host.c:	addr = rockchip->apb_base + PCIE_RC_CONFIG_NORMAL_BASE + where;
+drivers/pci/controller/pcie-rockchip-host.c:	addr = rockchip->apb_base + PCIE_RC_CONFIG_NORMAL_BASE + offset;
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->parent->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:		*val = readl(rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		*val = readw(rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		*val = readb(rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->parent->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:		writel(val, rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		writew(val, rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		writeb(val, rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:	curr = regulator_get_current_limit(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:			dev_warn(rockchip->dev, "invalid power supply\n");
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	gpiod_set_value_cansleep(rockchip->ep_gpio, 0);
+drivers/pci/controller/pcie-rockchip-host.c:	gpiod_set_value_cansleep(rockchip->ep_gpio, 1);
+drivers/pci/controller/pcie-rockchip-host.c:	err = readl_poll_timeout(rockchip->apb_base + PCIE_CLIENT_BASIC_STATUS1,
+drivers/pci/controller/pcie-rockchip-host.c:	if (rockchip->link_gen == 2) {
+drivers/pci/controller/pcie-rockchip-host.c:		err = readl_poll_timeout(rockchip->apb_base + PCIE_CORE_CTRL,
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->lanes_map = rockchip_pcie_lane_map(rockchip);
+drivers/pci/controller/pcie-rockchip-host.c:		if (!(rockchip->lanes_map & BIT(i))) {
+drivers/pci/controller/pcie-rockchip-host.c:			phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip-host.c:		phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip-host.c:		phy_exit(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:		virq = irq_find_mapping(rockchip->irq_domain, hwirq);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie12v = devm_regulator_get_optional(dev, "vpcie12v");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie12v)) {
+drivers/pci/controller/pcie-rockchip-host.c:		if (PTR_ERR(rockchip->vpcie12v) != -ENODEV)
+drivers/pci/controller/pcie-rockchip-host.c:			return PTR_ERR(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie3v3 = devm_regulator_get_optional(dev, "vpcie3v3");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie3v3)) {
+drivers/pci/controller/pcie-rockchip-host.c:		if (PTR_ERR(rockchip->vpcie3v3) != -ENODEV)
+drivers/pci/controller/pcie-rockchip-host.c:			return PTR_ERR(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie1v8 = devm_regulator_get(dev, "vpcie1v8");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie1v8))
+drivers/pci/controller/pcie-rockchip-host.c:		return PTR_ERR(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie0v9 = devm_regulator_get(dev, "vpcie0v9");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie0v9))
+drivers/pci/controller/pcie-rockchip-host.c:		return PTR_ERR(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v)) {
+drivers/pci/controller/pcie-rockchip-host.c:		err = regulator_enable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3)) {
+drivers/pci/controller/pcie-rockchip-host.c:		err = regulator_enable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	err = regulator_enable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	err = regulator_enable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->irq_domain = irq_domain_add_linear(intc, PCI_NUM_INTX,
+drivers/pci/controller/pcie-rockchip-host.c:	if (!rockchip->irq_domain) {
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->msg_bus_addr = pci_addr;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->msg_bus_addr += ((reg_no + offset) << 20);
+drivers/pci/controller/pcie-rockchip-host.c:	writel(0x0, rockchip->msg_region + PCIE_RC_SEND_PME_OFF);
+drivers/pci/controller/pcie-rockchip-host.c:	err = readl_poll_timeout(rockchip->apb_base + PCIE_CLIENT_DEBUG_OUT_0,
+drivers/pci/controller/pcie-rockchip-host.c:		dev_err(rockchip->dev, "PCIe link enter L2 timeout!\n");
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	err = regulator_enable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->dev = dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->is_rc = true;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->root_bus_nr = bus_res->start;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->msg_region = devm_ioremap(dev, rockchip->msg_bus_addr, SZ_1M);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!rockchip->msg_region) {
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->root_bus = bus;
+drivers/pci/controller/pcie-rockchip-host.c:	irq_domain_remove(rockchip->irq_domain);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	pci_stop_root_bus(rockchip->root_bus);
+drivers/pci/controller/pcie-rockchip-host.c:	pci_remove_root_bus(rockchip->root_bus);
+drivers/pci/controller/pcie-rockchip-host.c:	irq_domain_remove(rockchip->irq_domain);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:		.name = "rockchip-pcie",
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->is_rc) {
+drivers/pci/controller/pcie-rockchip.c:		rockchip->reg_base = devm_pci_remap_cfg_resource(dev, regs);
+drivers/pci/controller/pcie-rockchip.c:		if (IS_ERR(rockchip->reg_base))
+drivers/pci/controller/pcie-rockchip.c:			return PTR_ERR(rockchip->reg_base);
+drivers/pci/controller/pcie-rockchip.c:		rockchip->mem_res =
+drivers/pci/controller/pcie-rockchip.c:		if (!rockchip->mem_res)
+drivers/pci/controller/pcie-rockchip.c:	rockchip->apb_base = devm_ioremap_resource(dev, regs);
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->apb_base))
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->apb_base);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->lanes = 1;
+drivers/pci/controller/pcie-rockchip.c:	err = of_property_read_u32(node, "num-lanes", &rockchip->lanes);
+drivers/pci/controller/pcie-rockchip.c:	if (!err && (rockchip->lanes == 0 ||
+drivers/pci/controller/pcie-rockchip.c:		     rockchip->lanes == 3 ||
+drivers/pci/controller/pcie-rockchip.c:		     rockchip->lanes > 4)) {
+drivers/pci/controller/pcie-rockchip.c:		rockchip->lanes = 1;
+drivers/pci/controller/pcie-rockchip.c:	rockchip->link_gen = of_pci_get_max_link_speed(node);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->link_gen < 0 || rockchip->link_gen > 2)
+drivers/pci/controller/pcie-rockchip.c:		rockchip->link_gen = 2;
+drivers/pci/controller/pcie-rockchip.c:	rockchip->core_rst = devm_reset_control_get_exclusive(dev, "core");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->core_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->core_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->core_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->mgmt_rst = devm_reset_control_get_exclusive(dev, "mgmt");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->mgmt_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->mgmt_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->mgmt_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->mgmt_sticky_rst = devm_reset_control_get_exclusive(dev,
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->mgmt_sticky_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->mgmt_sticky_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->mgmt_sticky_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->pipe_rst = devm_reset_control_get_exclusive(dev, "pipe");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->pipe_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->pipe_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->pipe_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->pm_rst = devm_reset_control_get_exclusive(dev, "pm");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->pm_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->pm_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->pm_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->pclk_rst = devm_reset_control_get_exclusive(dev, "pclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->pclk_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->pclk_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->pclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->aclk_rst = devm_reset_control_get_exclusive(dev, "aclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->aclk_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->aclk_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->aclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->is_rc) {
+drivers/pci/controller/pcie-rockchip.c:		rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
+drivers/pci/controller/pcie-rockchip.c:		if (IS_ERR(rockchip->ep_gpio)) {
+drivers/pci/controller/pcie-rockchip.c:			return PTR_ERR(rockchip->ep_gpio);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->aclk_pcie = devm_clk_get(dev, "aclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->aclk_pcie)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->aclk_perf_pcie = devm_clk_get(dev, "aclk-perf");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->aclk_perf_pcie)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->hclk_pcie = devm_clk_get(dev, "hclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->hclk_pcie)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->clk_pcie_pm = devm_clk_get(dev, "pm");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->clk_pcie_pm)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->clk_pcie_pm);
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->aclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->pclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->pm_rst);
+drivers/pci/controller/pcie-rockchip.c:		err = phy_init(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->core_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->mgmt_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->mgmt_sticky_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->pipe_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->pm_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->aclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->pclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->link_gen == 2)
+drivers/pci/controller/pcie-rockchip.c:	       PCIE_CLIENT_CONF_LANE_NUM(rockchip->lanes);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->is_rc)
+drivers/pci/controller/pcie-rockchip.c:		err = phy_power_on(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->mgmt_sticky_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->core_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->mgmt_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->pipe_rst);
+drivers/pci/controller/pcie-rockchip.c:		phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:		phy_exit(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:		rockchip->legacy_phy = true;
+drivers/pci/controller/pcie-rockchip.c:		rockchip->phys[0] = phy;
+drivers/pci/controller/pcie-rockchip.c:		rockchip->phys[i] = phy;
+drivers/pci/controller/pcie-rockchip.c:		if (rockchip->lanes_map & BIT(i))
+drivers/pci/controller/pcie-rockchip.c:			phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:		phy_exit(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->clk_pcie_pm);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->clk_pcie_pm);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.h:	return readl(rockchip->apb_base + reg);
+drivers/pci/controller/pcie-rockchip.h:	writel(val, rockchip->apb_base + reg);
+drivers/pci/controller/vmd.c:	data->chip->irq_unmask(data);
+drivers/pci/controller/vmd.c:	data->chip->irq_mask(data);
+drivers/pci/msi.c:	if (!chip || !chip->setup_irq)
+drivers/pci/msi.c:	err = chip->setup_irq(chip, dev, desc);
+drivers/pci/msi.c:	if (!chip || !chip->teardown_irq)
+drivers/pci/msi.c:	chip->teardown_irq(chip, irq);
+drivers/pci/msi.c:	if (chip && chip->setup_irqs)
+drivers/pci/msi.c:		return chip->setup_irqs(chip, dev, nvec, type);
+drivers/pci/msi.c:	if (!chip->irq_write_msi_msg)
+drivers/pci/msi.c:		chip->irq_write_msi_msg = pci_msi_domain_write_msg;
+drivers/pci/msi.c:	if (!chip->irq_mask)
+drivers/pci/msi.c:		chip->irq_mask = pci_msi_mask_irq;
+drivers/pci/msi.c:	if (!chip->irq_unmask)
+drivers/pci/msi.c:		chip->irq_unmask = pci_msi_unmask_irq;
+drivers/pci/msi.c:	info->chip->flags |= IRQCHIP_ONESHOT_SAFE;
+drivers/pcmcia/at91_cf.c:	/* reserve chip-select regions */
+drivers/pcmcia/electra_cf.c:	/* reserve chip-select regions */
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_DP)		+= phy-rockchip-dp.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_EMMC)		+= phy-rockchip-emmc.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY)	+= phy-rockchip-inno-dsidphy.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_INNO_HDMI)	+= phy-rockchip-inno-hdmi.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2)	+= phy-rockchip-inno-usb2.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_PCIE)		+= phy-rockchip-pcie.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_TYPEC)	+= phy-rockchip-typec.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_USB)		+= phy-rockchip-usb.o
+drivers/phy/rockchip/phy-rockchip-dp.c:		.name	= "rockchip-dp-phy",
+drivers/phy/rockchip/phy-rockchip-emmc.c:		.name	= "rockchip-emmc-phy",
+drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:	/* try to read the chip-version */
+drivers/phy/rockchip/phy-rockchip-inno-usb2.c:		.name	= "rockchip-usb2phy",
+drivers/phy/rockchip/phy-rockchip-pcie.c:		.name	= "rockchip-pcie-phy",
+drivers/phy/rockchip/phy-rockchip-typec.c:		.name	= "rockchip-typec-phy",
+drivers/phy/rockchip/phy-rockchip-usb.c:		.name	= "rockchip-usb-phy",
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->base = -1;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->ngpio = pctrl->soc->ngpios;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->label = dev_name(pctrl->dev);
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->parent = pctrl->dev;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->of_node = pctrl->dev->of_node;
+drivers/pinctrl/actions/pinctrl-owl.c:	pctrl->irq_chip.name = chip->of_node->name;
+drivers/pinctrl/actions/pinctrl-owl.c:	gpio_irq = &chip->irq;
+drivers/pinctrl/actions/pinctrl-owl.c:	gpio_irq->map = devm_kcalloc(pctrl->dev, chip->ngpio,
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:		if (chip->irq.parents[i] == irq) {
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:	int irq = irq_find_mapping(chip->irq.domain, offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	val = readl(chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	writel(val, chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	return !!(readl(chip->base + offset) & BIT(shift));
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	for (i = 0; i < chip->num_banks; i++) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		unsigned long val = readl(chip->base + (i * GPIO_BANK_SIZE) +
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:			writel(BIT(bit), chip->base + (i * GPIO_BANK_SIZE) +
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	writel(val, chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		dev_err(chip->dev, "invalid GPIO IRQ type 0x%x\n",
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->pinmux_is_supported)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->pinmux_is_supported)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set input\n", gpio);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	return !(readl(chip->base + offset) & BIT(shift));
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	return !!(readl(chip->base + offset) & BIT(shift));
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->nr_pinconf_disable)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	for (i = 0; i < chip->nr_pinconf_disable; i++)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		if (chip->pinconf_disable[i] == param)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->pinconf_disable = devm_kcalloc(chip->dev, nbits,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:					     sizeof(*chip->pinconf_disable),
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->pinconf_disable)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->nr_pinconf_disable = nbits;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		chip->pinconf_disable[nbits++] = iproc_pinconf_disable_map[bit];
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set pullup:%d\n", gpio, pull_up);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->base;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set drive strength:%d mA\n", gpio,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->base;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:			dev_err(chip->dev, "invalid configuration\n");
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	struct pinctrl_desc *pctldesc = &chip->pctldesc;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	struct gpio_chip *gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	pins = devm_kcalloc(chip->dev, gc->ngpio, sizeof(*pins), GFP_KERNEL);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		pins[i].name = devm_kasprintf(chip->dev, GFP_KERNEL,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	pctldesc->name = dev_name(chip->dev);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (IS_ERR(chip->pctl)) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		dev_err(chip->dev, "unable to register pinctrl device\n");
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		return PTR_ERR(chip->pctl);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->dev = dev;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (IS_ERR(chip->base)) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		return PTR_ERR(chip->base);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		chip->io_ctrl = devm_ioremap_resource(dev, res);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		if (IS_ERR(chip->io_ctrl)) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:			return PTR_ERR(chip->io_ctrl);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->io_ctrl_type = io_ctrl_type;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_init(&chip->lock);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->num_banks = (ngpios + NGPIOS_PER_BANK - 1) / NGPIOS_PER_BANK;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->pinmux_is_supported = of_property_read_bool(dev->of_node,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		irqc = &chip->irqchip;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		base_address = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		base_address = chip->base;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return !!(readl(chip->io_ctrl + reg) & BIT(gpio));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return !!(readl(chip->base + reg) & BIT(gpio));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	int_status = readl(chip->base + NSP_CHIP_A_INT_STATUS);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		event = readl(chip->base + NSP_GPIO_EVENT_INT_MASK) &
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			      readl(chip->base + NSP_GPIO_EVENT);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		level = readl(chip->base + NSP_GPIO_DATA_IN) ^
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			      readl(chip->base + NSP_GPIO_INT_POLARITY);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		level &= readl(chip->base + NSP_GPIO_INT_MASK);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			writel(BIT(bit), chip->base + NSP_GPIO_EVENT);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		dev_err(chip->dev, "invalid GPIO IRQ type 0x%x\n",
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u level_low:%s falling:%s\n", gpio,
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set input\n", gpio);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	return !!(readl(chip->base + NSP_GPIO_DATA_IN) & BIT(gpio));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set pullup:%d pulldown: %d\n",
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set drive strength:%d mA\n", gpio,
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		val = readl(chip->io_ctrl + offset);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		writel(val, chip->io_ctrl + offset);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		val = readl(chip->io_ctrl + offset) & BIT(shift);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			dev_err(chip->dev, "invalid configuration\n");
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	struct pinctrl_desc *pctldesc = &chip->pctldesc;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	struct gpio_chip *gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	pins = devm_kcalloc(chip->dev, gc->ngpio, sizeof(*pins), GFP_KERNEL);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		pins[i].name = devm_kasprintf(chip->dev, GFP_KERNEL,
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	pctldesc->name = dev_name(chip->dev);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	if (IS_ERR(chip->pctl)) {
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		dev_err(chip->dev, "unable to register pinctrl device\n");
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return PTR_ERR(chip->pctl);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->dev = dev;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	if (IS_ERR(chip->base)) {
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return PTR_ERR(chip->base);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->io_ctrl = devm_platform_ioremap_resource(pdev, 1);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	if (IS_ERR(chip->io_ctrl)) {
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return PTR_ERR(chip->io_ctrl);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_init(&chip->lock);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		irqc = &chip->irqchip;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		val = readl(chip->base + NSP_CHIP_A_INT_MASK);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		writel(val, (chip->base + NSP_CHIP_A_INT_MASK));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:				       IRQF_SHARED, "gpio-a", &chip->gc);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		girq = &chip->gc.irq;
+drivers/pinctrl/cirrus/pinctrl-lochnagar.c:		dev_err(chip->parent, "Failed to set %s value: %d\n",
+drivers/pinctrl/cirrus/pinctrl-lochnagar.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	return priv->chip->n_pin_groups + priv->chip->n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	if (selector < priv->chip->n_pin_groups)
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		return priv->chip->pin_groups[selector].name;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	selector -= priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	if (selector < priv->chip->n_pin_groups) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		*pins = priv->chip->pin_groups[selector].pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		*num_pins = priv->chip->pin_groups[selector].n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		selector -= priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	for (i = 0; i < chip->n_pin_groups; ++i) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		for (g_pin = 0; g_pin < chip->pin_groups[i].n_pins; ++g_pin) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:			if (chip->pin_groups[i].pins[g_pin] == pin) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:					   chip->pin_groups[i].name);
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		*num_groups = priv->chip->n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	const struct madera_pin_groups *pin_group = priv->chip->pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	unsigned int n_chip_groups = priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		 * be offset by the number of chip-specific functions at the
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	unsigned int n_groups = priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		pin_group = &priv->chip->pin_groups[selector];
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	madera_pin_desc.npins = priv->chip->n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera.h:	const struct madera_pin_chip *chip; /* chip-specific groups */
+drivers/pinctrl/core.c:			if (range->base + range->npins - 1 < chip->base ||
+drivers/pinctrl/core.c:			    range->base > chip->base + chip->ngpio - 1)
+drivers/pinctrl/intel/pinctrl-baytrail.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-baytrail.c:	int ret = pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-baytrail.c:	chip->irq_eoi(data);
+drivers/pinctrl/intel/pinctrl-baytrail.c:			clear_bit(i, chip->irq.valid_mask);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->ngpio = community->pins[community->npins - 1].number + 1;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->label = dev_name(pctrl->dev);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->add_pin_ranges = chv_gpio_add_pin_ranges;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->parent = pctrl->dev;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->base = -1;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.chip = &pctrl->irqchip;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.init_hw = chv_gpio_irq_init_hw;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.parent_handler = chv_gpio_irq_handler;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.num_parents = 1;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.parents = &pctrl->irq;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.default_type = IRQ_TYPE_NONE;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.handler = handle_bad_irq;
+drivers/pinctrl/intel/pinctrl-cherryview.c:		chip->irq.init_valid_mask = chv_init_irq_valid_mask;
+drivers/pinctrl/intel/pinctrl-cherryview.c:			irq_domain_associate_many(chip->irq.domain, irq_base,
+drivers/pinctrl/intel/pinctrl-intel.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-intel.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/mediatek/pinctrl-moore.c:	return pinctrl_gpio_direction_input(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-moore.c:	return pinctrl_gpio_direction_output(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->label		= PINCTRL_PINCTRL_DEV;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->parent		= hw->dev;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->request		= gpiochip_generic_request;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->free		= gpiochip_generic_free;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->direction_input	= mtk_gpio_direction_input;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->direction_output	= mtk_gpio_direction_output;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->get		= mtk_gpio_get;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->set		= mtk_gpio_set;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->to_irq		= mtk_gpio_to_irq,
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->set_config	= mtk_gpio_set_config,
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->base		= -1;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->ngpio		= hw->soc->npins;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->of_node		= np;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->of_gpio_n_cells	= 2;
+drivers/pinctrl/mediatek/pinctrl-moore.c:					     chip->ngpio);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->ngpio = pctl->devdata->npins;
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->label = dev_name(&pdev->dev);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->parent = &pdev->dev;
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->base = -1;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	return pinctrl_gpio_direction_input(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-paris.c:	return pinctrl_gpio_direction_output(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->label		= PINCTRL_PINCTRL_DEV;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->parent		= hw->dev;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->request		= gpiochip_generic_request;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->free		= gpiochip_generic_free;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->get_direction	= mtk_gpio_get_direction;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->direction_input	= mtk_gpio_direction_input;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->direction_output	= mtk_gpio_direction_output;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->get		= mtk_gpio_get;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->set		= mtk_gpio_set;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->to_irq		= mtk_gpio_to_irq,
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->set_config	= mtk_gpio_set_config,
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->base		= -1;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->ngpio		= hw->soc->npins;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->of_node		= np;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->of_gpio_n_cells	= 2;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_ack = armada_37xx_irq_ack;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_mask = armada_37xx_irq_mask;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_unmask = armada_37xx_irq_unmask;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_set_wake = armada_37xx_irq_set_wake;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_set_type = armada_37xx_irq_set_type;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_startup = armada_37xx_irq_startup;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->name = info->data->name;
+drivers/pinctrl/nomadik/pinctrl-abx500.c:		seq_printf(s, " %-9s", chip->get(chip, offset) ? "hi" : "lo");
+drivers/pinctrl/nomadik/pinctrl-abx500.c:	unsigned gpio = chip->base;
+drivers/pinctrl/nomadik/pinctrl-abx500.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/nomadik/pinctrl-abx500.c:				 chip->base + offset - 1);
+drivers/pinctrl/nomadik/pinctrl-abx500.c:		dev_dbg(chip->parent, "pin %d [%#lx]: %s %s\n",
+drivers/pinctrl/nomadik/pinctrl-abx500.c:			dev_err(chip->parent,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	afunc = readl(nmk_chip->addr + NMK_GPIO_AFSLA) & ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	bfunc = readl(nmk_chip->addr + NMK_GPIO_AFSLB) & ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(afunc, nmk_chip->addr + NMK_GPIO_AFSLA);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(bfunc, nmk_chip->addr + NMK_GPIO_AFSLB);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	slpm = readl(nmk_chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(slpm, nmk_chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	pdis = readl(nmk_chip->addr + NMK_GPIO_PDIS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->pull_up &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(pdis, nmk_chip->addr + NMK_GPIO_PDIS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->pull_up |= BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->pull_up &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	bool enabled = nmk_chip->lowemi & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->lowemi |= BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->lowemi &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel_relaxed(nmk_chip->lowemi,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		       nmk_chip->addr + NMK_GPIO_LOWEMI);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DIRC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DIRS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 rwimsc = nmk_chip->rwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 fwimsc = nmk_chip->fwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (glitch && nmk_chip->set_ioforce) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(rwimsc & ~bit, nmk_chip->addr + NMK_GPIO_RWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(fwimsc & ~bit, nmk_chip->addr + NMK_GPIO_FWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->set_ioforce(true);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (glitch && nmk_chip->set_ioforce) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->set_ioforce(false);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(rwimsc, nmk_chip->addr + NMK_GPIO_RWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(fwimsc, nmk_chip->addr + NMK_GPIO_FWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 falling = nmk_chip->fimsc & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 rising = nmk_chip->rimsc & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	int gpio = nmk_chip->chip.base + offset;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	int irq = irq_find_mapping(nmk_chip->chip.irq.domain, offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->rimsc &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel_relaxed(nmk_chip->rimsc,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			       nmk_chip->addr + NMK_GPIO_RIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->fimsc &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel_relaxed(nmk_chip->fimsc,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			       nmk_chip->addr + NMK_GPIO_FIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	dev_dbg(nmk_chip->chip.parent, "%d: clearing interrupt mask\n", gpio);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_enable(chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		slpm[i] = readl(chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(temp, chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(slpm[i], chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_disable(chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(d->hwirq), nmk_chip->addr + NMK_GPIO_IC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		rimscval = &nmk_chip->rimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		fimscval = &nmk_chip->fimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		rimscval = &nmk_chip->rwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		fimscval = &nmk_chip->fwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (nmk_chip->edge_rising & BIT(offset)) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(*rimscval, nmk_chip->addr + rimscreg);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (nmk_chip->edge_falling & BIT(offset)) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(*fimscval, nmk_chip->addr + fimscreg);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (nmk_chip->sleepmode && on) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (!(nmk_chip->real_wake & BIT(d->hwirq)))
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_unlock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->real_wake |= BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->real_wake &= ~BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_unlock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock_irqsave(&nmk_chip->lock, flags);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->edge_rising &= ~BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->edge_rising |= BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->edge_falling &= ~BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->edge_falling |= BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_unlock_irqrestore(&nmk_chip->lock, flags);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	status = readl(nmk_chip->addr + NMK_GPIO_IS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, bit));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	dir = !(readl(nmk_chip->addr + NMK_GPIO_DIR) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DIRC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	value = !!(readl(nmk_chip->addr + NMK_GPIO_DAT) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	afunc = readl(nmk_chip->addr + NMK_GPIO_AFSLA) & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	bfunc = readl(nmk_chip->addr + NMK_GPIO_AFSLB) & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	is_out = !!(readl(nmk_chip->addr + NMK_GPIO_DIR) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	pull = !(readl(nmk_chip->addr + NMK_GPIO_PDIS) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	data_out = !!(readl(nmk_chip->addr + NMK_GPIO_DAT) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		int irq = chip->to_irq(chip, offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			if (nmk_chip->edge_rising & BIT(offset))
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			else if (nmk_chip->edge_falling & BIT(offset))
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	unsigned		gpio = chip->base;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->bank = id;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip = &nmk_chip->chip;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->base = id * NMK_GPIO_PER_CHIP;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->ngpio = NMK_GPIO_PER_CHIP;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->label = dev_name(&gpio_pdev->dev);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->parent = &gpio_pdev->dev;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->addr = base;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->clk = clk;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	BUG_ON(nmk_chip->bank >= ARRAY_SIZE(nmk_gpio_chips));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	dev->id = nmk_chip->bank;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	 * The virt address in nmk_chip->addr is in the nomadik register space,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->sleepmode = supports_sleepmode;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock_init(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip = &nmk_chip->chip;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->request = gpiochip_generic_request;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->free = gpiochip_generic_free;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->get_direction = nmk_gpio_get_dir;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->direction_input = nmk_gpio_make_input;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->get = nmk_gpio_get_input;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->direction_output = nmk_gpio_make_output;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->set = nmk_gpio_set_output;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->dbg_show = nmk_gpio_dbg_show;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->can_sleep = false;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip = &nmk_chip->irqchip;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_ack = nmk_gpio_irq_ack;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_mask = nmk_gpio_irq_mask;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_unmask = nmk_gpio_irq_unmask;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_set_type = nmk_gpio_irq_set_type;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_set_wake = nmk_gpio_irq_set_wake;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_startup = nmk_gpio_irq_startup;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_shutdown = nmk_gpio_irq_shutdown;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->flags = IRQCHIP_MASK_ON_SUSPEND;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->name = kasprintf(GFP_KERNEL, "nmk%u-%u-%u",
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:				  chip->base,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:				  chip->base + chip->ngpio - 1);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	girq = &chip->irq;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->lowemi = readl_relaxed(nmk_chip->addr + NMK_GPIO_LOWEMI);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->of_node = np;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_gpio_dbg_show_one(s, pctldev, chip, offset - chip->base, offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			dev_dbg(nmk_chip->chip.parent,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		dev_dbg(nmk_chip->chip.parent,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_disable(nmk_chip->clk);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	ret = pinctrl_gpio_direction_input(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent, "gpio_direction_output: offset%d = %x\n", offset,
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	ret = pinctrl_gpio_direction_output(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent, "gpio_request: offset%d\n", offset);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	ret = pinctrl_gpio_request(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent, "gpio_free: offset%d\n", offset);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	pinctrl_gpio_free(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent_device, "==> got irq sts %.8x %.8x\n", sts,
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "setirqtype: %u.%u = %u\n", gpio,
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "edge.rising\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "edge.falling\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "edge.both\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "level.low\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "level.high\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "invalid irq type\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "irq_ack: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "irq_mask: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "irq_unmask: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "startup: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/pinctrl-as3722.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-as3722.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->of_node = dev->of_node;
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->ngpio = atmel_pioctrl->npins;
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->label = dev_name(dev);
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->parent = dev;
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->names = atmel_pioctrl->group_names;
+drivers/pinctrl/pinctrl-at91-pio4.c:			atmel_pioctrl->gpio_chip->ngpio,
+drivers/pinctrl/pinctrl-at91-pio4.c:				     0, 0, atmel_pioctrl->gpio_chip->ngpio);
+drivers/pinctrl/pinctrl-at91.c:	mask = 1 << (offset - chip->base);
+drivers/pinctrl/pinctrl-at91.c:		offset, 'A' + range->id, offset - chip->base, mask);
+drivers/pinctrl/pinctrl-at91.c:	writel_relaxed(mask, at91_chip->regbase + PIO_PER);
+drivers/pinctrl/pinctrl-at91.c:	uint32_t set_mask = (*mask & *bits) & BITS_MASK(chip->ngpio);
+drivers/pinctrl/pinctrl-at91.c:	uint32_t clear_mask = (*mask & ~(*bits)) & BITS_MASK(chip->ngpio);
+drivers/pinctrl/pinctrl-at91.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/pinctrl/pinctrl-at91.c:			   gpio_label, chip->label, i);
+drivers/pinctrl/pinctrl-at91.c:					   gpio_chip->irq.domain, n));
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->name = "GPIO";
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_ack = gpio_irq_ack;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_disable = gpio_irq_mask;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_mask = gpio_irq_mask;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_unmask = gpio_irq_unmask;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_set_wake = gpio_irq_set_wake,
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_set_type = at91_gpio->ops->irq_type;
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->regbase = devm_platform_ioremap_resource(pdev, 0);
+drivers/pinctrl/pinctrl-at91.c:	if (IS_ERR(at91_chip->regbase)) {
+drivers/pinctrl/pinctrl-at91.c:		ret = PTR_ERR(at91_chip->regbase);
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->ops = (struct at91_pinctrl_mux_ops *)
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->pioc_virq = irq;
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->pioc_idx = alias_idx;
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->clock = devm_clk_get(&pdev->dev, NULL);
+drivers/pinctrl/pinctrl-at91.c:	if (IS_ERR(at91_chip->clock)) {
+drivers/pinctrl/pinctrl-at91.c:		ret = PTR_ERR(at91_chip->clock);
+drivers/pinctrl/pinctrl-at91.c:	ret = clk_prepare_enable(at91_chip->clock);
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->chip = at91_gpio_template;
+drivers/pinctrl/pinctrl-at91.c:	chip = &at91_chip->chip;
+drivers/pinctrl/pinctrl-at91.c:	chip->of_node = np;
+drivers/pinctrl/pinctrl-at91.c:	chip->label = dev_name(&pdev->dev);
+drivers/pinctrl/pinctrl-at91.c:	chip->parent = &pdev->dev;
+drivers/pinctrl/pinctrl-at91.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/pinctrl-at91.c:	chip->base = alias_idx * MAX_NB_GPIO_PER_BANK;
+drivers/pinctrl/pinctrl-at91.c:			chip->ngpio = ngpio;
+drivers/pinctrl/pinctrl-at91.c:	names = devm_kcalloc(&pdev->dev, chip->ngpio, sizeof(char *),
+drivers/pinctrl/pinctrl-at91.c:	for (i = 0; i < chip->ngpio; i++)
+drivers/pinctrl/pinctrl-at91.c:	chip->names = (const char *const *)names;
+drivers/pinctrl/pinctrl-at91.c:	range = &at91_chip->range;
+drivers/pinctrl/pinctrl-at91.c:	range->name = chip->label;
+drivers/pinctrl/pinctrl-at91.c:	range->npins = chip->ngpio;
+drivers/pinctrl/pinctrl-at91.c:	dev_info(&pdev->dev, "at address %p\n", at91_chip->regbase);
+drivers/pinctrl/pinctrl-at91.c:	clk_disable_unprepare(at91_chip->clock);
+drivers/pinctrl/pinctrl-axp209.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-axp209.c:	chip->set(chip, offset, value);
+drivers/pinctrl/pinctrl-coh901.c:	struct u300_gpio_port *port = &gpio->ports[irq - chip->base];
+drivers/pinctrl/pinctrl-coh901.c:			int pin_irq = irq_find_mapping(chip->irq.domain, offset);
+drivers/pinctrl/pinctrl-digicolor.c:	chip->label		= DRIVER_NAME;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->parent		= pmap->dev;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->request		= gpiochip_generic_request;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->free		= gpiochip_generic_free;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->direction_input	= dc_gpio_direction_input;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->direction_output	= dc_gpio_direction_output;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->get		= dc_gpio_get;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->set		= dc_gpio_set;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->base		= -1;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->ngpio		= PINS_COUNT;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->of_node		= np;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->of_gpio_n_cells	= 2;
+drivers/pinctrl/pinctrl-mcp23s08.c:	err = devm_request_threaded_irq(chip->parent, mcp->irq, NULL,
+drivers/pinctrl/pinctrl-mcp23s08.c:					irqflags, dev_name(chip->parent), mcp);
+drivers/pinctrl/pinctrl-mcp23s08.c:		dev_err(chip->parent, "unable to request IRQ#%d: %d\n",
+drivers/pinctrl/pinctrl-mcp23s08.c:		dev_err(chip->parent,
+drivers/pinctrl/pinctrl-ocelot.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-ocelot.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-ocelot.c:			generic_handle_irq(irq_linear_revmap(chip->irq.domain,
+drivers/pinctrl/pinctrl-rk805.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-rk805.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-rockchip.c:	pin = offset - chip->base;
+drivers/pinctrl/pinctrl-rockchip.c:	return _rockchip_pmx_gpio_set_direction(chip, offset - chip->base,
+drivers/pinctrl/pinctrl-rockchip.c:	ctrldesc->name = "rockchip-pinctrl";
+drivers/pinctrl/pinctrl-rockchip.c:		.name	= "rockchip-pinctrl",
+drivers/pinctrl/pinctrl-rza1.c:	chip->base	= -1;
+drivers/pinctrl/pinctrl-rza1.c:	chip->label	= devm_kasprintf(rza1_pctl->dev, GFP_KERNEL, "%pOFn",
+drivers/pinctrl/pinctrl-rza1.c:	if (!chip->label)
+drivers/pinctrl/pinctrl-rza1.c:	chip->ngpio	= of_args.args[2];
+drivers/pinctrl/pinctrl-rza1.c:	chip->of_node	= np;
+drivers/pinctrl/pinctrl-rza1.c:	chip->parent	= rza1_pctl->dev;
+drivers/pinctrl/pinctrl-rza1.c:	range->name	= chip->label;
+drivers/pinctrl/pinctrl-rza1.c:		 chip->label, chip->ngpio);
+drivers/pinctrl/pinctrl-st.c:	pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-st.c:	pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/qcom/pinctrl-msm.c:	unsigned gpio = chip->base;
+drivers/pinctrl/qcom/pinctrl-msm.c:	for (i = 0; i < chip->ngpio; i++, gpio++)
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->base = -1;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->ngpio = ngpio;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->label = dev_name(pctrl->dev);
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->parent = pctrl->dev;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->of_node = pctrl->dev->of_node;
+drivers/pinctrl/qcom/pinctrl-msm.c:		chip->init_valid_mask = msm_gpio_init_valid_mask;
+drivers/pinctrl/qcom/pinctrl-msm.c:		chip->irq.parent_domain = irq_find_matching_host(np,
+drivers/pinctrl/qcom/pinctrl-msm.c:		if (!chip->irq.parent_domain)
+drivers/pinctrl/qcom/pinctrl-msm.c:		chip->irq.child_to_parent_hwirq = msm_gpio_wakeirq;
+drivers/pinctrl/qcom/pinctrl-msm.c:		skip = irq_domain_qcom_handle_wakeup(chip->irq.parent_domain);
+drivers/pinctrl/qcom/pinctrl-msm.c:	girq = &chip->irq;
+drivers/pinctrl/qcom/pinctrl-msm.c:			dev_name(pctrl->dev), 0, 0, chip->ngpio);
+drivers/pinctrl/qcom/pinctrl-spmi-gpio.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-spmi-gpio.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/pinctrl/qcom/pinctrl-spmi-mpp.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-spmi-mpp.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	irq = chip->to_irq(chip, offset);
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	unsigned gpio = chip->base;
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c:	unsigned gpio = chip->base;
+drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_mask = our_chip->eint_mask + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_pend = our_chip->eint_pend + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_mask = our_chip->eint_mask + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_con = our_chip->eint_con + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	irq_set_chip_and_handler(virq, &b->irq_chip->chip,
+drivers/pinctrl/samsung/pinctrl-exynos.c:		our_chip->eint_wake_mask_value |= bit;
+drivers/pinctrl/samsung/pinctrl-exynos.c:		our_chip->eint_wake_mask_value &= ~bit;
+drivers/pinctrl/samsung/pinctrl-exynos.c:		pend = readl(b->eint_base + b->irq_chip->eint_pend
+drivers/pinctrl/samsung/pinctrl-exynos.c:		mask = readl(b->eint_base + b->irq_chip->eint_mask
+drivers/pinctrl/samsung/pinctrl-exynos.c:		 irq_chip->eint_wake_mask_value);
+drivers/pinctrl/samsung/pinctrl-exynos.c:	regmap_write(pmu_regs, irq_chip->eint_wake_mask_reg,
+drivers/pinctrl/samsung/pinctrl-exynos.c:		     irq_chip->eint_wake_mask_value);
+drivers/pinctrl/samsung/pinctrl-s3c24xx.c:	parent_chip->irq_ack(irq_get_irq_data(parent_irq));
+drivers/pinctrl/samsung/pinctrl-s3c24xx.c:	parent_chip->irq_mask(irq_get_irq_data(parent_irq));
+drivers/pinctrl/samsung/pinctrl-s3c24xx.c:	parent_chip->irq_unmask(irq_get_irq_data(parent_irq));
+drivers/pinctrl/sh-pfc/gpio.c:	return chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	int idx = sh_pfc_get_pin_index(chip->pfc, offset);
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx];
+drivers/pinctrl/sh-pfc/gpio.c:	*reg = &chip->regs[gpio_pin->dreg];
+drivers/pinctrl/sh-pfc/gpio.c:	void __iomem *mem = address - chip->mem->phys + chip->mem->virt;
+drivers/pinctrl/sh-pfc/gpio.c:	void __iomem *mem = address - chip->mem->phys + chip->mem->virt;
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx];
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->regs = devm_kcalloc(pfc->dev, i, sizeof(*chip->regs),
+drivers/pinctrl/sh-pfc/gpio.c:	if (chip->regs == NULL)
+drivers/pinctrl/sh-pfc/gpio.c:		chip->regs[i].info = dreg;
+drivers/pinctrl/sh-pfc/gpio.c:		chip->regs[i].shadow = gpio_read_data_reg(chip, dreg);
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->pins = devm_kcalloc(pfc->dev,
+drivers/pinctrl/sh-pfc/gpio.c:				  pfc->info->nr_pins, sizeof(*chip->pins),
+drivers/pinctrl/sh-pfc/gpio.c:	if (chip->pins == NULL)
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->mem = mem;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->pfc = pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	ret = devm_gpiochip_add_data(pfc->dev, &chip->gpio_chip, chip);
+drivers/pinctrl/sh-pfc/gpio.c:		 chip->gpio_chip.label, chip->gpio_chip.base,
+drivers/pinctrl/sh-pfc/gpio.c:		 chip->gpio_chip.base + chip->gpio_chip.ngpio - 1);
+drivers/pinctrl/sh-pfc/gpio.c:		ret = gpiochip_add_pin_range(&chip->gpio_chip,
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	if (pinctrl_gpio_request(chip->base + gpio))
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	pinctrl_gpio_free(chip->base + gpio);
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->request = atlas7_gpio_request;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->free = atlas7_gpio_free;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->direction_input = atlas7_gpio_direction_input;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->get = atlas7_gpio_get_value;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->direction_output = atlas7_gpio_direction_output;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->set = atlas7_gpio_set_value;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->base = -1;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->ngpio = NGPIO_OF_BANK * nbank;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->label = kstrdup(np->name, GFP_KERNEL);
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->of_node = np;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->of_gpio_n_cells = 2;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->parent = &pdev->dev;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	girq = &chip->irq;
+drivers/pinctrl/sirf/pinctrl-sirf.c:	if (pinctrl_gpio_request(chip->base + offset))
+drivers/pinctrl/sirf/pinctrl-sirf.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/spear/pinctrl-plgpio.c:	int gpio = chip->base + offset;
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/spear/pinctrl-plgpio.c:	int gpio = chip->base + offset;
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/stm32/pinctrl-stm32.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/pinctrl/stm32/pinctrl-stm32.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/pinctrl/stm32/pinctrl-stm32.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/stm32/pinctrl-stm32.c:	pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	u32 pin = offset + chip->base;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	dev_dbg(chip->parent, "%s: request IRQ for GPIO %d, return %d\n",
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:		chip->label, offset + chip->base, irqnum);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->owner = THIS_MODULE;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->request = gpiochip_generic_request;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->free = gpiochip_generic_free;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->set_config = gpiochip_generic_config;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->direction_input = sunxi_pinctrl_gpio_direction_input;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->direction_output = sunxi_pinctrl_gpio_direction_output;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->get = sunxi_pinctrl_gpio_get;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->set = sunxi_pinctrl_gpio_set;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->of_xlate = sunxi_pinctrl_gpio_of_xlate;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->to_irq = sunxi_pinctrl_gpio_to_irq;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->of_gpio_n_cells = 3;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->can_sleep = false;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->ngpio = round_up(last_pin, PINS_PER_BANK) -
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->label = dev_name(&pdev->dev);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->parent = &pdev->dev;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->base = pctl->desc->pin_base;
+drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c:	UNIPHIER_PINMUX_FUNCTION(adinter), /* Achip-Dchip interconnect */
+drivers/pinctrl/vt8500/pinctrl-wmt.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/vt8500/pinctrl-wmt.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/platform/chrome/cros_ec_sysfs.c:		r_chip->vendor[sizeof(r_chip->vendor) - 1] = '\0';
+drivers/platform/chrome/cros_ec_sysfs.c:		r_chip->name[sizeof(r_chip->name) - 1] = '\0';
+drivers/platform/chrome/cros_ec_sysfs.c:		r_chip->revision[sizeof(r_chip->revision) - 1] = '\0';
+drivers/platform/chrome/cros_ec_sysfs.c:				   "Chip vendor:   %s\n", r_chip->vendor);
+drivers/platform/chrome/cros_ec_sysfs.c:				   "Chip name:     %s\n", r_chip->name);
+drivers/platform/chrome/cros_ec_sysfs.c:				   "Chip revision: %s\n", r_chip->revision);
+drivers/platform/x86/intel_int0002_vgpio.c:	struct platform_device *pdev = to_platform_device(chip->parent);
+drivers/platform/x86/intel_int0002_vgpio.c:	generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/platform/x86/intel_int0002_vgpio.c:	pm_wakeup_hard_event(chip->parent);
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->label = DRV_NAME;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->parent = dev;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->owner = THIS_MODULE;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->get = int0002_gpio_get;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->set = int0002_gpio_set;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->direction_input = int0002_gpio_get;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->direction_output = int0002_gpio_direction_output;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->base = -1;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->ngpio = GPE0A_PME_B0_VIRT_GPIO_PIN + 1;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->irq.init_valid_mask = int0002_init_irq_valid_mask;
+drivers/platform/x86/intel_int0002_vgpio.c:	girq = &chip->irq;
+drivers/power/avs/Makefile:obj-$(CONFIG_ROCKCHIP_IODOMAIN)		+= rockchip-io-domain.o
+drivers/power/avs/rockchip-io-domain.c:		.name  = "rockchip-iodomain",
+drivers/power/reset/mt6323-poweroff.c:	pwrc->regmap = mt6397_chip->regmap;
+drivers/power/reset/ocelot-reset.c:	{ .compatible = "mscc,ocelot-chip-reset" },
+drivers/power/reset/ocelot-reset.c:		.name = "ocelot-chip-reset",
+drivers/power/supply/88pm860x_battery.c:	    (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/power/supply/88pm860x_battery.c:	ret = devm_request_threaded_irq(chip->dev, info->irq_cc, NULL,
+drivers/power/supply/88pm860x_battery.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/power/supply/88pm860x_battery.c:	ret = devm_request_threaded_irq(chip->dev, info->irq_batt, NULL,
+drivers/power/supply/88pm860x_battery.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/power/supply/88pm860x_battery.c:		chip->wakeup_flag |= 1 << PM8607_IRQ_CC;
+drivers/power/supply/88pm860x_battery.c:		chip->wakeup_flag &= ~(1 << PM8607_IRQ_CC);
+drivers/power/supply/88pm860x_charger.c:	    (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/power/supply/88pm860x_charger.c:	    (chip->id == CHIP_PM8607) ? chip->companion : chip->client;
+drivers/power/supply/88pm860x_charger.c:			dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/power/supply/max14656_charger_detector.c:	ret = max14656_read_block_reg(chip->client, MAX14656_DEVICE_ID,
+drivers/power/supply/max14656_charger_detector.c:			chip->psy_desc.type = chg_type_props[chg_type].type;
+drivers/power/supply/max14656_charger_detector.c:			chip->psy_desc.type = POWER_SUPPLY_TYPE_UNKNOWN;
+drivers/power/supply/max14656_charger_detector.c:		chip->online = 1;
+drivers/power/supply/max14656_charger_detector.c:		chip->online = 0;
+drivers/power/supply/max14656_charger_detector.c:		chip->psy_desc.type = POWER_SUPPLY_TYPE_UNKNOWN;
+drivers/power/supply/max14656_charger_detector.c:	power_supply_changed(chip->detect_psy);
+drivers/power/supply/max14656_charger_detector.c:	schedule_delayed_work(&chip->irq_work, msecs_to_jiffies(100));
+drivers/power/supply/max14656_charger_detector.c:	struct i2c_client *client = chip->client;
+drivers/power/supply/max14656_charger_detector.c:		val->intval = chip->online;
+drivers/power/supply/max14656_charger_detector.c:	cancel_delayed_work_sync(&chip->irq_work);
+drivers/power/supply/max14656_charger_detector.c:	chip->client = client;
+drivers/power/supply/max14656_charger_detector.c:	chip->online = 0;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.name = MAX14656_NAME;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.type = POWER_SUPPLY_TYPE_UNKNOWN;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.properties = max14656_battery_props;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.num_properties = ARRAY_SIZE(max14656_battery_props);
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.get_property = max14656_get_property;
+drivers/power/supply/max14656_charger_detector.c:	chip->irq = irq;
+drivers/power/supply/max14656_charger_detector.c:	chip->detect_psy = devm_power_supply_register(dev,
+drivers/power/supply/max14656_charger_detector.c:		       &chip->psy_desc, &psy_cfg);
+drivers/power/supply/max14656_charger_detector.c:	if (IS_ERR(chip->detect_psy)) {
+drivers/power/supply/max14656_charger_detector.c:	INIT_DELAYED_WORK(&chip->irq_work, max14656_irq_worker);
+drivers/power/supply/max14656_charger_detector.c:	ret = devm_request_irq(dev, chip->irq, max14656_irq,
+drivers/power/supply/max14656_charger_detector.c:		dev_err(dev, "request_irq %d failed\n", chip->irq);
+drivers/power/supply/max14656_charger_detector.c:	enable_irq_wake(chip->irq);
+drivers/power/supply/max14656_charger_detector.c:	schedule_delayed_work(&chip->irq_work, msecs_to_jiffies(2000));
+drivers/power/supply/max17040_battery.c:		val->intval = chip->status;
+drivers/power/supply/max17040_battery.c:		val->intval = chip->online;
+drivers/power/supply/max17040_battery.c:		val->intval = chip->vcell;
+drivers/power/supply/max17040_battery.c:		val->intval = chip->soc;
+drivers/power/supply/max17040_battery.c:	chip->vcell = vcell;
+drivers/power/supply/max17040_battery.c:	chip->soc = (soc >> 8);
+drivers/power/supply/max17040_battery.c:	if (chip->pdata && chip->pdata->battery_online)
+drivers/power/supply/max17040_battery.c:		chip->online = chip->pdata->battery_online();
+drivers/power/supply/max17040_battery.c:		chip->online = 1;
+drivers/power/supply/max17040_battery.c:	if (!chip->pdata || !chip->pdata->charger_online
+drivers/power/supply/max17040_battery.c:			|| !chip->pdata->charger_enable) {
+drivers/power/supply/max17040_battery.c:		chip->status = POWER_SUPPLY_STATUS_UNKNOWN;
+drivers/power/supply/max17040_battery.c:	if (chip->pdata->charger_online()) {
+drivers/power/supply/max17040_battery.c:		if (chip->pdata->charger_enable())
+drivers/power/supply/max17040_battery.c:			chip->status = POWER_SUPPLY_STATUS_CHARGING;
+drivers/power/supply/max17040_battery.c:			chip->status = POWER_SUPPLY_STATUS_NOT_CHARGING;
+drivers/power/supply/max17040_battery.c:		chip->status = POWER_SUPPLY_STATUS_DISCHARGING;
+drivers/power/supply/max17040_battery.c:	if (chip->soc > MAX17040_BATTERY_FULL)
+drivers/power/supply/max17040_battery.c:		chip->status = POWER_SUPPLY_STATUS_FULL;
+drivers/power/supply/max17040_battery.c:	max17040_get_vcell(chip->client);
+drivers/power/supply/max17040_battery.c:	max17040_get_soc(chip->client);
+drivers/power/supply/max17040_battery.c:	max17040_get_online(chip->client);
+drivers/power/supply/max17040_battery.c:	max17040_get_status(chip->client);
+drivers/power/supply/max17040_battery.c:	queue_delayed_work(system_power_efficient_wq, &chip->work,
+drivers/power/supply/max17040_battery.c:	chip->client = client;
+drivers/power/supply/max17040_battery.c:	chip->pdata = client->dev.platform_data;
+drivers/power/supply/max17040_battery.c:	chip->battery = power_supply_register(&client->dev,
+drivers/power/supply/max17040_battery.c:	if (IS_ERR(chip->battery)) {
+drivers/power/supply/max17040_battery.c:		return PTR_ERR(chip->battery);
+drivers/power/supply/max17040_battery.c:	INIT_DEFERRABLE_WORK(&chip->work, max17040_work);
+drivers/power/supply/max17040_battery.c:	queue_delayed_work(system_power_efficient_wq, &chip->work,
+drivers/power/supply/max17040_battery.c:	power_supply_unregister(chip->battery);
+drivers/power/supply/max17040_battery.c:	cancel_delayed_work(&chip->work);
+drivers/power/supply/max17040_battery.c:	cancel_delayed_work(&chip->work);
+drivers/power/supply/max17040_battery.c:	queue_delayed_work(system_power_efficient_wq, &chip->work,
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	ret = power_supply_am_i_supplied(chip->battery);
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_FullCAP, &charge_full);
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_RepCap, &charge_now);
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_AvgCurrent, &data);
+drivers/power/supply/max17042_battery.c:	avg_current *= 1562500 / chip->pdata->r_sns;
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_AvgVCELL, &val);
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_VCELL, &val);
+drivers/power/supply/max17042_battery.c:	if (vavg < chip->pdata->vmin) {
+drivers/power/supply/max17042_battery.c:	if (vbatt > chip->pdata->vmax + MAX17042_VMAX_TOLERANCE) {
+drivers/power/supply/max17042_battery.c:	if (temp < chip->pdata->temp_min) {
+drivers/power/supply/max17042_battery.c:	if (temp > chip->pdata->temp_max) {
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	if (!chip->init_complete)
+drivers/power/supply/max17042_battery.c:		if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
+drivers/power/supply/max17042_battery.c:		do_div(data64, chip->pdata->r_sns);
+drivers/power/supply/max17042_battery.c:		do_div(data64, chip->pdata->r_sns);
+drivers/power/supply/max17042_battery.c:		do_div(data64, chip->pdata->r_sns);
+drivers/power/supply/max17042_battery.c:		val->intval = chip->pdata->temp_min;
+drivers/power/supply/max17042_battery.c:		val->intval = chip->pdata->temp_max;
+drivers/power/supply/max17042_battery.c:		if (chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:			val->intval *= 1562500 / chip->pdata->r_sns;
+drivers/power/supply/max17042_battery.c:		if (chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:			val->intval *= 1562500 / chip->pdata->r_sns;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:			chip->pdata->config_data->cell_char_tbl[i]);
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:		dev_err(&chip->client->dev, "%s compare failed\n", __func__);
+drivers/power/supply/max17042_battery.c:			dev_info(&chip->client->dev, "0x%x, 0x%x",
+drivers/power/supply/max17042_battery.c:		dev_info(&chip->client->dev, "\n");
+drivers/power/supply/max17042_battery.c:	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
+drivers/power/supply/max17042_battery.c:		chip->pdata->config_data->cell_char_tbl,
+drivers/power/supply/max17042_battery.c:	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17047 ||
+drivers/power/supply/max17042_battery.c:			chip->chip_type == MAXIM_DEVICE_TYPE_MAX17050)
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042) {
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type) {
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:		dev_err(&chip->client->dev, "%s init failed\n",
+drivers/power/supply/max17042_battery.c:		dev_err(&chip->client->dev, "%s lock verify failed\n",
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	regmap_read(chip->regmap, MAX17042_STATUS, &val);
+drivers/power/supply/max17042_battery.c:		dev_info(&chip->client->dev, "SOC threshold INTR\n");
+drivers/power/supply/max17042_battery.c:	power_supply_changed(chip->battery);
+drivers/power/supply/max17042_battery.c:	if (chip->pdata->enable_por_init && chip->pdata->config_data) {
+drivers/power/supply/max17042_battery.c:	chip->init_complete = 1;
+drivers/power/supply/max17042_battery.c:	struct device *dev = &chip->client->dev;
+drivers/power/supply/max17042_battery.c:	struct device *dev = &chip->client->dev;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type != MAXIM_DEVICE_TYPE_MAX17042) {
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_MiscCFG, &misc_cfg);
+drivers/power/supply/max17042_battery.c:	struct device *dev = &chip->client->dev;
+drivers/power/supply/max17042_battery.c:	cancel_work_sync(&chip->work);
+drivers/power/supply/max17042_battery.c:	chip->client = client;
+drivers/power/supply/max17042_battery.c:		chip->chip_type = id->driver_data;
+drivers/power/supply/max17042_battery.c:		chip->chip_type = acpi_id->driver_data;
+drivers/power/supply/max17042_battery.c:	chip->regmap = devm_regmap_init_i2c(client, &max17042_regmap_config);
+drivers/power/supply/max17042_battery.c:	if (IS_ERR(chip->regmap)) {
+drivers/power/supply/max17042_battery.c:	chip->pdata = max17042_get_pdata(chip);
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata) {
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata->enable_current_sense)
+drivers/power/supply/max17042_battery.c:	if (chip->pdata->r_sns == 0)
+drivers/power/supply/max17042_battery.c:		chip->pdata->r_sns = MAX17042_DEFAULT_SNS_RESISTOR;
+drivers/power/supply/max17042_battery.c:	if (chip->pdata->init_data)
+drivers/power/supply/max17042_battery.c:		for (i = 0; i < chip->pdata->num_init_data; i++)
+drivers/power/supply/max17042_battery.c:			regmap_write(chip->regmap,
+drivers/power/supply/max17042_battery.c:					chip->pdata->init_data[i].addr,
+drivers/power/supply/max17042_battery.c:					chip->pdata->init_data[i].data);
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_CGAIN, 0x0000);
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_MiscCFG, 0x0003);
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_LearnCFG, 0x0007);
+drivers/power/supply/max17042_battery.c:	chip->battery = devm_power_supply_register(&client->dev, max17042_desc,
+drivers/power/supply/max17042_battery.c:	if (IS_ERR(chip->battery)) {
+drivers/power/supply/max17042_battery.c:		return PTR_ERR(chip->battery);
+drivers/power/supply/max17042_battery.c:						chip->battery->desc->name,
+drivers/power/supply/max17042_battery.c:			regmap_update_bits(chip->regmap, MAX17042_CONFIG,
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_SALRT_Th, 0xff00);
+drivers/power/supply/max17042_battery.c:	regmap_read(chip->regmap, MAX17042_STATUS, &val);
+drivers/power/supply/max17042_battery.c:		INIT_WORK(&chip->work, max17042_init_worker);
+drivers/power/supply/max17042_battery.c:		schedule_work(&chip->work);
+drivers/power/supply/max17042_battery.c:		chip->init_complete = 1;
+drivers/power/supply/max17042_battery.c:	if (chip->client->irq) {
+drivers/power/supply/max17042_battery.c:		disable_irq(chip->client->irq);
+drivers/power/supply/max17042_battery.c:		enable_irq_wake(chip->client->irq);
+drivers/power/supply/max17042_battery.c:	if (chip->client->irq) {
+drivers/power/supply/max17042_battery.c:		disable_irq_wake(chip->client->irq);
+drivers/power/supply/max17042_battery.c:		enable_irq(chip->client->irq);
+drivers/power/supply/max8925_power.c:	dev_dbg(chip->dev, "%s\n", (enable) ? "Enable charger"
+drivers/power/supply/max8925_power.c:	switch (irq - chip->irq_base) {
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Adapter inserted\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Adapter removed\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Battery temperature is out of range\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Error detection\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Battery temperature is in range\n");
+drivers/power/supply/max8925_power.c:		dev_info(chip->dev, "Sys power is too low\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Sys power is above low threshold\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Charging is done\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Charging in top-off mode\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Safe timer is expired\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Charger is reset\n");
+drivers/power/supply/max8925_power.c:	ret = request_threaded_irq(chip->irq_base + _irq, NULL,		\
+drivers/power/supply/max8925_power.c:		dev_err(chip->dev, "Failed to request IRQ #%d: %d\n",	\
+drivers/power/supply/max8925_power.c:	irq = chip->irq_base + MAX8925_IRQ_VCHG_DC_OVP;
+drivers/power/supply/max8925_power.c:	for (; irq <= chip->irq_base + MAX8925_IRQ_VCHG_TMR_FAULT; irq++)
+drivers/power/supply/max8925_power.c:	info->gpm = chip->i2c;
+drivers/power/supply/max8925_power.c:	info->adc = chip->adc;
+drivers/power/supply/sbs-battery.c:	int retries = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	retries_length = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	retries_block = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	int retries = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:		if (chip->poll_time == 0)
+drivers/power/supply/sbs-battery.c:			chip->last_state = val->intval;
+drivers/power/supply/sbs-battery.c:		else if (chip->last_state != val->intval) {
+drivers/power/supply/sbs-battery.c:			cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:			power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-battery.c:			chip->poll_time = 0;
+drivers/power/supply/sbs-battery.c:	struct i2c_client *client = chip->client;
+drivers/power/supply/sbs-battery.c:	if (chip->gpio_detect) {
+drivers/power/supply/sbs-battery.c:		ret = gpiod_get_value_cansleep(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:			chip->is_present = val->intval;
+drivers/power/supply/sbs-battery.c:		if (chip->flags & SBS_FLAGS_TI_BQ20Z75)
+drivers/power/supply/sbs-battery.c:		mutex_lock(&chip->mode_lock);
+drivers/power/supply/sbs-battery.c:		mutex_unlock(&chip->mode_lock);
+drivers/power/supply/sbs-battery.c:	if (!chip->enable_detection)
+drivers/power/supply/sbs-battery.c:	if (!chip->gpio_detect &&
+drivers/power/supply/sbs-battery.c:		chip->is_present != (ret >= 0)) {
+drivers/power/supply/sbs-battery.c:		chip->is_present = (ret >= 0);
+drivers/power/supply/sbs-battery.c:		power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-battery.c:	if (ret && chip->is_present)
+drivers/power/supply/sbs-battery.c:	struct power_supply *battery = chip->power_supply;
+drivers/power/supply/sbs-battery.c:	ret = gpiod_get_value_cansleep(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:	chip->is_present = ret;
+drivers/power/supply/sbs-battery.c:	cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:	schedule_delayed_work(&chip->work, HZ);
+drivers/power/supply/sbs-battery.c:	chip->poll_time = chip->poll_retry_count;
+drivers/power/supply/sbs-battery.c:	ret = sbs_read_word_data(chip->client, sbs_data[REG_STATUS].addr);
+drivers/power/supply/sbs-battery.c:		chip->poll_time = 0;
+drivers/power/supply/sbs-battery.c:	sbs_status_correct(chip->client, &ret);
+drivers/power/supply/sbs-battery.c:	if (chip->last_state != ret) {
+drivers/power/supply/sbs-battery.c:		chip->poll_time = 0;
+drivers/power/supply/sbs-battery.c:		power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-battery.c:	if (chip->poll_time > 0) {
+drivers/power/supply/sbs-battery.c:		schedule_delayed_work(&chip->work, HZ);
+drivers/power/supply/sbs-battery.c:		chip->poll_time--;
+drivers/power/supply/sbs-battery.c:	chip->flags = (u32)(uintptr_t)of_device_get_match_data(&client->dev);
+drivers/power/supply/sbs-battery.c:	chip->client = client;
+drivers/power/supply/sbs-battery.c:	chip->enable_detection = false;
+drivers/power/supply/sbs-battery.c:	chip->last_state = POWER_SUPPLY_STATUS_UNKNOWN;
+drivers/power/supply/sbs-battery.c:	mutex_init(&chip->mode_lock);
+drivers/power/supply/sbs-battery.c:				  &chip->i2c_retry_count);
+drivers/power/supply/sbs-battery.c:		chip->i2c_retry_count = 0;
+drivers/power/supply/sbs-battery.c:				  &chip->poll_retry_count);
+drivers/power/supply/sbs-battery.c:		chip->poll_retry_count = 0;
+drivers/power/supply/sbs-battery.c:		chip->poll_retry_count = pdata->poll_retry_count;
+drivers/power/supply/sbs-battery.c:		chip->i2c_retry_count  = pdata->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	chip->i2c_retry_count = chip->i2c_retry_count + 1;
+drivers/power/supply/sbs-battery.c:	chip->gpio_detect = devm_gpiod_get_optional(&client->dev,
+drivers/power/supply/sbs-battery.c:	if (IS_ERR(chip->gpio_detect)) {
+drivers/power/supply/sbs-battery.c:			PTR_ERR(chip->gpio_detect));
+drivers/power/supply/sbs-battery.c:		return PTR_ERR(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:	if (!chip->gpio_detect)
+drivers/power/supply/sbs-battery.c:	irq = gpiod_to_irq(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:	if (!(force_load || chip->gpio_detect)) {
+drivers/power/supply/sbs-battery.c:	chip->power_supply = devm_power_supply_register(&client->dev, sbs_desc,
+drivers/power/supply/sbs-battery.c:	if (IS_ERR(chip->power_supply)) {
+drivers/power/supply/sbs-battery.c:		rc = PTR_ERR(chip->power_supply);
+drivers/power/supply/sbs-battery.c:	INIT_DELAYED_WORK(&chip->work, sbs_delayed_work);
+drivers/power/supply/sbs-battery.c:	chip->enable_detection = true;
+drivers/power/supply/sbs-battery.c:	cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:	if (chip->poll_time > 0)
+drivers/power/supply/sbs-battery.c:		cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:	if (chip->flags & SBS_FLAGS_TI_BQ20Z75) {
+drivers/power/supply/sbs-battery.c:		if (chip->is_present && ret < 0)
+drivers/power/supply/sbs-charger.c:	reg = chip->last_state;
+drivers/power/supply/sbs-charger.c:	ret = regmap_read(chip->regmap, SBS_CHARGER_REG_STATUS, &reg);
+drivers/power/supply/sbs-charger.c:	if (!ret && reg != chip->last_state) {
+drivers/power/supply/sbs-charger.c:		chip->last_state = reg;
+drivers/power/supply/sbs-charger.c:		power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-charger.c:	schedule_delayed_work(&chip->work,
+drivers/power/supply/sbs-charger.c:	chip->client = client;
+drivers/power/supply/sbs-charger.c:	chip->regmap = devm_regmap_init_i2c(client, &sbs_regmap);
+drivers/power/supply/sbs-charger.c:	if (IS_ERR(chip->regmap))
+drivers/power/supply/sbs-charger.c:		return PTR_ERR(chip->regmap);
+drivers/power/supply/sbs-charger.c:	ret = regmap_read(chip->regmap, SBS_CHARGER_REG_STATUS, &val);
+drivers/power/supply/sbs-charger.c:	chip->last_state = val;
+drivers/power/supply/sbs-charger.c:	chip->power_supply = devm_power_supply_register(&client->dev, &sbs_desc,
+drivers/power/supply/sbs-charger.c:	if (IS_ERR(chip->power_supply)) {
+drivers/power/supply/sbs-charger.c:		return PTR_ERR(chip->power_supply);
+drivers/power/supply/sbs-charger.c:		INIT_DELAYED_WORK(&chip->work, sbs_delayed_work);
+drivers/power/supply/sbs-charger.c:		schedule_delayed_work(&chip->work,
+drivers/power/supply/sbs-charger.c:	cancel_delayed_work_sync(&chip->work);
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->ts_sel) | (PCH_ECS_ETH);
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->ts_sel));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->control) | PCH_TSC_RESET;
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->control));
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->control));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->ch_control);
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->ch_control));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->ch_event);
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->ch_event));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->src_uuid_lo);
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->src_uuid_hi);
+drivers/ptp/ptp_pch.c:	lo = ioread32(&chip->regs->rx_snap_lo);
+drivers/ptp/ptp_pch.c:	hi = ioread32(&chip->regs->rx_snap_hi);
+drivers/ptp/ptp_pch.c:	lo = ioread32(&chip->regs->tx_snap_lo);
+drivers/ptp/ptp_pch.c:	hi = ioread32(&chip->regs->tx_snap_hi);
+drivers/ptp/ptp_pch.c:	iowrite32(0x01, &chip->regs->stl_max_set_en);
+drivers/ptp/ptp_pch.c:	iowrite32(0xFFFFFFFF, &chip->regs->stl_max_set);
+drivers/ptp/ptp_pch.c:	iowrite32(0x00, &chip->regs->stl_max_set_en);
+drivers/ptp/ptp_pch.c:	if ((chip->regs == NULL) || addr == (u8 *)NULL) {
+drivers/ptp/ptp_pch.c:		iowrite32(val, &chip->regs->ts_st[i]);
+drivers/ptp/ptp_pch.c:	ptp_clock_unregister(chip->ptp_clock);
+drivers/ptp/ptp_pch.c:	if (chip->regs != NULL) {
+drivers/ptp/ptp_pch.c:		iounmap(chip->regs);
+drivers/ptp/ptp_pch.c:		chip->regs = NULL;
+drivers/ptp/ptp_pch.c:	if (chip->mem_base != 0) {
+drivers/ptp/ptp_pch.c:		release_mem_region(chip->mem_base, chip->mem_size);
+drivers/ptp/ptp_pch.c:		chip->mem_base = 0;
+drivers/ptp/ptp_pch.c:	chip->mem_base = pci_resource_start(pdev, IO_MEM_BAR);
+drivers/ptp/ptp_pch.c:	if (!chip->mem_base) {
+drivers/ptp/ptp_pch.c:	chip->mem_size = pci_resource_len(pdev, IO_MEM_BAR);
+drivers/ptp/ptp_pch.c:	if (!request_mem_region(chip->mem_base, chip->mem_size, "1588_regs")) {
+drivers/ptp/ptp_pch.c:	chip->regs = ioremap(chip->mem_base, chip->mem_size);
+drivers/ptp/ptp_pch.c:	if (!chip->regs) {
+drivers/ptp/ptp_pch.c:	chip->caps = ptp_pch_caps;
+drivers/ptp/ptp_pch.c:	chip->ptp_clock = ptp_clock_register(&chip->caps, &pdev->dev);
+drivers/ptp/ptp_pch.c:	if (IS_ERR(chip->ptp_clock)) {
+drivers/ptp/ptp_pch.c:		ret = PTR_ERR(chip->ptp_clock);
+drivers/ptp/ptp_pch.c:	spin_lock_init(&chip->register_lock);
+drivers/ptp/ptp_pch.c:	chip->irq = pdev->irq;
+drivers/ptp/ptp_pch.c:	chip->pdev = pdev;
+drivers/ptp/ptp_pch.c:	spin_lock_irqsave(&chip->register_lock, flags);
+drivers/ptp/ptp_pch.c:	iowrite32(DEFAULT_ADDEND, &chip->regs->addend);
+drivers/ptp/ptp_pch.c:	iowrite32(1, &chip->regs->trgt_lo);
+drivers/ptp/ptp_pch.c:	iowrite32(0, &chip->regs->trgt_hi);
+drivers/ptp/ptp_pch.c:	iowrite32(PCH_TSE_TTIPEND, &chip->regs->event);
+drivers/ptp/ptp_pch.c:	spin_unlock_irqrestore(&chip->register_lock, flags);
+drivers/ptp/ptp_pch.c:	ptp_clock_unregister(chip->ptp_clock);
+drivers/ptp/ptp_pch.c:	iounmap(chip->regs);
+drivers/ptp/ptp_pch.c:	chip->regs = NULL;
+drivers/ptp/ptp_pch.c:	release_mem_region(chip->mem_base, chip->mem_size);
+drivers/ptp/ptp_pch.c:	chip->mem_base = 0;
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/core.c:	bitmap_clear(allocated_pwms, chip->base, chip->npwm);
+drivers/pwm/core.c:	kfree(chip->pwms);
+drivers/pwm/core.c:	chip->pwms = NULL;
+drivers/pwm/core.c:		const char *chip_name = dev_name(chip->dev);
+drivers/pwm/core.c:	if (!try_module_get(pwm->chip->ops->owner))
+drivers/pwm/core.c:	if (pwm->chip->ops->request) {
+drivers/pwm/core.c:		err = pwm->chip->ops->request(pwm->chip, pwm);
+drivers/pwm/core.c:			module_put(pwm->chip->ops->owner);
+drivers/pwm/core.c:	if (!chip->dev || !chip->dev->of_node)
+drivers/pwm/core.c:	if (!chip->of_xlate) {
+drivers/pwm/core.c:		chip->of_xlate = of_pwm_simple_xlate;
+drivers/pwm/core.c:		chip->of_pwm_n_cells = 2;
+drivers/pwm/core.c:	of_node_get(chip->dev->of_node);
+drivers/pwm/core.c:	if (chip->dev)
+drivers/pwm/core.c:		of_node_put(chip->dev->of_node);
+drivers/pwm/core.c: * @data: pointer to chip-specific data
+drivers/pwm/core.c: * Returns: A pointer to the chip-private data for the PWM device.
+drivers/pwm/core.c: * Register a new PWM chip. If chip->base < 0 then a dynamically assigned base
+drivers/pwm/core.c:	if (!chip || !chip->dev || !chip->ops || !chip->npwm)
+drivers/pwm/core.c:	if (!pwm_ops_check(chip->ops))
+drivers/pwm/core.c:	ret = alloc_pwms(chip->base, chip->npwm);
+drivers/pwm/core.c:	chip->pwms = kcalloc(chip->npwm, sizeof(*pwm), GFP_KERNEL);
+drivers/pwm/core.c:	if (!chip->pwms) {
+drivers/pwm/core.c:	chip->base = ret;
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		pwm = &chip->pwms[i];
+drivers/pwm/core.c:		pwm->pwm = chip->base + i;
+drivers/pwm/core.c:		if (chip->ops->get_state)
+drivers/pwm/core.c:			chip->ops->get_state(chip, pwm, &pwm->state);
+drivers/pwm/core.c:	bitmap_set(allocated_pwms, chip->base, chip->npwm);
+drivers/pwm/core.c:	INIT_LIST_HEAD(&chip->list);
+drivers/pwm/core.c:	list_add(&chip->list, &pwm_chips);
+drivers/pwm/core.c: * Register a new PWM chip. If chip->base < 0 then a dynamically assigned base
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/core.c:	list_del_init(&chip->list);
+drivers/pwm/core.c:	if (!chip || index >= chip->npwm)
+drivers/pwm/core.c:	pwm = &chip->pwms[index];
+drivers/pwm/core.c:	if (chip->ops->apply) {
+drivers/pwm/core.c:		err = chip->ops->apply(chip, pwm, state);
+drivers/pwm/core.c:			if (!chip->ops->set_polarity)
+drivers/pwm/core.c:				chip->ops->disable(chip, pwm);
+drivers/pwm/core.c:			err = chip->ops->set_polarity(chip, pwm,
+drivers/pwm/core.c:			err = chip->ops->config(pwm->chip, pwm,
+drivers/pwm/core.c:				err = chip->ops->enable(chip, pwm);
+drivers/pwm/core.c:				chip->ops->disable(chip, pwm);
+drivers/pwm/core.c:	if (!pwm || !pwm->chip->ops)
+drivers/pwm/core.c:	if (!pwm->chip->ops->capture)
+drivers/pwm/core.c:	err = pwm->chip->ops->capture(pwm->chip, pwm, result, timeout);
+drivers/pwm/core.c:		if (chip->dev && chip->dev->of_node == np) {
+drivers/pwm/core.c:		dev_warn(pwm->chip->dev,
+drivers/pwm/core.c:	dl = device_link_add(dev, pwm->chip->dev, DL_FLAG_AUTOREMOVE_CONSUMER);
+drivers/pwm/core.c:			dev_name(pwm->chip->dev));
+drivers/pwm/core.c:		struct acpi_device *adev = ACPI_COMPANION(chip->dev);
+drivers/pwm/core.c:		if ((chip->dev == dev) || (adev && &adev->dev == dev)) {
+drivers/pwm/core.c:	if (pwm->chip->ops->free)
+drivers/pwm/core.c:		pwm->chip->ops->free(pwm->chip, pwm);
+drivers/pwm/core.c:	module_put(pwm->chip->ops->owner);
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/core.c:		   chip->dev->bus ? chip->dev->bus->name : "no-bus",
+drivers/pwm/core.c:		   dev_name(chip->dev), chip->npwm,
+drivers/pwm/core.c:		   (chip->npwm != 1) ? "s" : "");
+drivers/pwm/pwm-ab8500.c:	reg = AB8500_PWM_OUT_CTRL1_REG + ((chip->base - 1) * 2);
+drivers/pwm/pwm-ab8500.c:	ret = abx500_set_register_interruptible(chip->dev, AB8500_MISC,
+drivers/pwm/pwm-ab8500.c:	ret = abx500_set_register_interruptible(chip->dev, AB8500_MISC,
+drivers/pwm/pwm-ab8500.c:	ret = abx500_mask_and_set_register_interruptible(chip->dev,
+drivers/pwm/pwm-ab8500.c:				1 << (chip->base - 1), 1 << (chip->base - 1));
+drivers/pwm/pwm-ab8500.c:		dev_err(chip->dev, "%s: Failed to enable PWM, Error %d\n",
+drivers/pwm/pwm-ab8500.c:	ret = abx500_mask_and_set_register_interruptible(chip->dev,
+drivers/pwm/pwm-ab8500.c:				1 << (chip->base - 1), 0);
+drivers/pwm/pwm-ab8500.c:		dev_err(chip->dev, "%s: Failed to disable PWM, Error %d\n",
+drivers/pwm/pwm-atmel-hlcdc.c:	struct atmel_hlcdc *hlcdc = chip->hlcdc;
+drivers/pwm/pwm-atmel-hlcdc.c:		if (!chip->errata || !chip->errata->slow_clk_erratum) {
+drivers/pwm/pwm-atmel-hlcdc.c:		if ((chip->errata && chip->errata->slow_clk_erratum) ||
+drivers/pwm/pwm-atmel-hlcdc.c:			if (!pres && chip->errata &&
+drivers/pwm/pwm-atmel-hlcdc.c:			    chip->errata->div1_clk_erratum)
+drivers/pwm/pwm-atmel-hlcdc.c:		if (new_clk != chip->cur_clk) {
+drivers/pwm/pwm-atmel-hlcdc.c:			clk_disable_unprepare(chip->cur_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:			chip->cur_clk = new_clk;
+drivers/pwm/pwm-atmel-hlcdc.c:		clk_disable_unprepare(chip->cur_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:		chip->cur_clk = NULL;
+drivers/pwm/pwm-atmel-hlcdc.c:	if (pwm_is_enabled(&chip->chip.pwms[0]))
+drivers/pwm/pwm-atmel-hlcdc.c:		clk_disable_unprepare(chip->hlcdc->periph_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:	pwm_get_state(&chip->chip.pwms[0], &state);
+drivers/pwm/pwm-atmel-hlcdc.c:		ret = clk_prepare_enable(chip->hlcdc->periph_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:	return atmel_hlcdc_pwm_apply(&chip->chip, &chip->chip.pwms[0], &state);
+drivers/pwm/pwm-atmel-hlcdc.c:		chip->errata = match->data;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->hlcdc = hlcdc;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.ops = &atmel_hlcdc_pwm_ops;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.dev = dev;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.base = -1;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.npwm = 1;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-atmel-hlcdc.c:	ret = pwmchip_add_with_polarity(&chip->chip, PWM_POLARITY_INVERSED);
+drivers/pwm/pwm-atmel-hlcdc.c:	ret = pwmchip_remove(&chip->chip);
+drivers/pwm/pwm-atmel-hlcdc.c:	clk_disable_unprepare(chip->hlcdc->periph_clk);
+drivers/pwm/pwm-atmel-tcb.c:	tcbpwm = devm_kzalloc(chip->dev, sizeof(*tcbpwm), GFP_KERNEL);
+drivers/pwm/pwm-atmel-tcb.c:		devm_kfree(chip->dev, tcbpwm);
+drivers/pwm/pwm-atmel-tcb.c:	devm_kfree(chip->dev, tcbpwm);
+drivers/pwm/pwm-atmel-tcb.c:		dev_err(chip->dev,
+drivers/pwm/pwm-atmel.c:	return readl_relaxed(chip->base + offset);
+drivers/pwm/pwm-atmel.c:	writel_relaxed(val, chip->base + offset);
+drivers/pwm/pwm-atmel.c:	return readl_relaxed(chip->base + base + offset);
+drivers/pwm/pwm-atmel.c:	writel_relaxed(val, chip->base + base + offset);
+drivers/pwm/pwm-atmel.c:		dev_err(chip->dev, "pres exceeds the maximum value\n");
+drivers/pwm/pwm-atmel.c:			dev_err(chip->dev,
+drivers/pwm/pwm-atmel.c:				dev_err(chip->dev, "failed to enable clock\n");
+drivers/pwm/pwm-bcm-kona.c:		dev_err(chip->dev, "failed to enable clock: %d\n", ret);
+drivers/pwm/pwm-bcm-kona.c:		dev_err(chip->dev, "failed to enable clock: %d\n", ret);
+drivers/pwm/pwm-berlin.c:	return readl_relaxed(chip->base + channel * 0x10 + offset);
+drivers/pwm/pwm-berlin.c:	writel_relaxed(value, chip->base + channel * 0x10 + offset);
+drivers/pwm/pwm-clps711x.c:	if (args->args[0] >= chip->npwm)
+drivers/pwm/pwm-cros-ec.c:		dev_err(chip->dev, "error getting initial duty: %d\n", ret);
+drivers/pwm/pwm-cros-ec.c:	chip->dev = dev;
+drivers/pwm/pwm-cros-ec.c:	chip->ops = &cros_ec_pwm_ops;
+drivers/pwm/pwm-cros-ec.c:	chip->of_xlate = cros_ec_pwm_xlate;
+drivers/pwm/pwm-cros-ec.c:	chip->of_pwm_n_cells = 1;
+drivers/pwm/pwm-cros-ec.c:	chip->base = -1;
+drivers/pwm/pwm-cros-ec.c:	chip->npwm = ret;
+drivers/pwm/pwm-cros-ec.c:	dev_dbg(dev, "Probed %u PWMs\n", chip->npwm);
+drivers/pwm/pwm-ep93xx.c:	struct platform_device *pdev = to_platform_device(chip->dev);
+drivers/pwm/pwm-ep93xx.c:	struct platform_device *pdev = to_platform_device(chip->dev);
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	freq = div_u64(clk_get_rate(hi_pwm_chip->clk), 1000000);
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CFG0_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CFG1_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:		hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:		hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	freq = div_u64(clk_get_rate(hi_pwm_chip->clk), 1000000);
+drivers/pwm/pwm-hibvt.c:	base = hi_pwm_chip->base;
+drivers/pwm/pwm-hibvt.c:		if (hi_pwm_chip->soc->quirk_force_enable && state->enabled)
+drivers/pwm/pwm-hibvt.c:	pwm_chip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/pwm/pwm-hibvt.c:	if (IS_ERR(pwm_chip->clk)) {
+drivers/pwm/pwm-hibvt.c:				PTR_ERR(pwm_chip->clk));
+drivers/pwm/pwm-hibvt.c:		return PTR_ERR(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.ops = &hibvt_pwm_ops;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.dev = &pdev->dev;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.base = -1;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.npwm = soc->num_pwms;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->soc = soc;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->base = devm_ioremap_resource(&pdev->dev, res);
+drivers/pwm/pwm-hibvt.c:	if (IS_ERR(pwm_chip->base))
+drivers/pwm/pwm-hibvt.c:		return PTR_ERR(pwm_chip->base);
+drivers/pwm/pwm-hibvt.c:	ret = clk_prepare_enable(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
+drivers/pwm/pwm-hibvt.c:	if (IS_ERR(pwm_chip->rstc)) {
+drivers/pwm/pwm-hibvt.c:		clk_disable_unprepare(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:		return PTR_ERR(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	reset_control_assert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	reset_control_deassert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	ret = pwmchip_add(&pwm_chip->chip);
+drivers/pwm/pwm-hibvt.c:		clk_disable_unprepare(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	for (i = 0; i < pwm_chip->chip.npwm; i++) {
+drivers/pwm/pwm-hibvt.c:		hibvt_pwm_set_bits(pwm_chip->base, PWM_CTRL_ADDR(i),
+drivers/pwm/pwm-hibvt.c:	reset_control_assert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	reset_control_deassert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	clk_disable_unprepare(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	return pwmchip_remove(&pwm_chip->chip);
+drivers/pwm/pwm-img.c:	writel(val, chip->base + reg);
+drivers/pwm/pwm-img.c:	return readl(chip->base + reg);
+drivers/pwm/pwm-img.c:	unsigned int max_timebase = pwm_chip->data->max_timebase;
+drivers/pwm/pwm-img.c:	if (period_ns < pwm_chip->min_period_ns ||
+drivers/pwm/pwm-img.c:	    period_ns > pwm_chip->max_period_ns) {
+drivers/pwm/pwm-img.c:		dev_err(chip->dev, "configured period not in range\n");
+drivers/pwm/pwm-img.c:	input_clk_hz = clk_get_rate(pwm_chip->pwm_clk);
+drivers/pwm/pwm-img.c:		dev_err(chip->dev,
+drivers/pwm/pwm-img.c:	ret = pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-img.c:	pm_runtime_mark_last_busy(chip->dev);
+drivers/pwm/pwm-img.c:	pm_runtime_put_autosuspend(chip->dev);
+drivers/pwm/pwm-img.c:	ret = pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-img.c:	regmap_update_bits(pwm_chip->periph_regs, PERIP_PWM_PDM_CONTROL,
+drivers/pwm/pwm-img.c:	pm_runtime_mark_last_busy(chip->dev);
+drivers/pwm/pwm-img.c:	pm_runtime_put_autosuspend(chip->dev);
+drivers/pwm/pwm-img.c:	clk_disable_unprepare(pwm_chip->pwm_clk);
+drivers/pwm/pwm-img.c:	clk_disable_unprepare(pwm_chip->sys_clk);
+drivers/pwm/pwm-img.c:	ret = clk_prepare_enable(pwm_chip->sys_clk);
+drivers/pwm/pwm-img.c:	ret = clk_prepare_enable(pwm_chip->pwm_clk);
+drivers/pwm/pwm-img.c:		clk_disable_unprepare(pwm_chip->sys_clk);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++) {
+drivers/pwm/pwm-img.c:	return pwmchip_remove(&pwm_chip->chip);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++)
+drivers/pwm/pwm-img.c:		pwm_chip->suspend_ch_cfg[i] = img_pwm_readl(pwm_chip,
+drivers/pwm/pwm-img.c:	pwm_chip->suspend_ctrl_cfg = img_pwm_readl(pwm_chip, PWM_CTRL_CFG);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++)
+drivers/pwm/pwm-img.c:			       pwm_chip->suspend_ch_cfg[i]);
+drivers/pwm/pwm-img.c:	img_pwm_writel(pwm_chip, PWM_CTRL_CFG, pwm_chip->suspend_ctrl_cfg);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++)
+drivers/pwm/pwm-img.c:		if (pwm_chip->suspend_ctrl_cfg & BIT(i))
+drivers/pwm/pwm-img.c:			regmap_update_bits(pwm_chip->periph_regs,
+drivers/pwm/pwm-imx27.c:		dev_warn(chip->dev, "can't set polarity, output disconnected");
+drivers/pwm/pwm-imx27.c:	struct device *dev = chip->dev;
+drivers/pwm/pwm-imx27.c:	struct device *dev = chip->dev;
+drivers/pwm/pwm-lpc18xx-sct.c:		dev_err(chip->dev, "period %d not in range\n", period_ns);
+drivers/pwm/pwm-lpc18xx-sct.c:		dev_err(chip->dev, "conflicting period requested for PWM %u\n",
+drivers/pwm/pwm-lpc18xx-sct.c:		for (i = 0; i < chip->npwm; i++)
+drivers/pwm/pwm-lpc18xx-sct.c:			pwm_set_period(&chip->pwms[i], period_ns);
+drivers/pwm/pwm-lpss.c:		dev_err(pwm->chip->dev, "PWM_SW_UPDATE was not cleared\n");
+drivers/pwm/pwm-lpss.c:			pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-lpss.c:				pm_runtime_put(chip->dev);
+drivers/pwm/pwm-lpss.c:				pm_runtime_put(chip->dev);
+drivers/pwm/pwm-lpss.c:		pm_runtime_put(chip->dev);
+drivers/pwm/pwm-lpss.c:		pm_runtime_get(chip->dev);
+drivers/pwm/pwm-mediatek.c:	return readl(chip->regs + pwm_mediatek_reg_offset[num] + offset);
+drivers/pwm/pwm-mediatek.c:	writel(value, chip->regs + pwm_mediatek_reg_offset[num] + offset);
+drivers/pwm/pwm-mediatek.c:		dev_err(chip->dev, "period %d not supported\n", period_ns);
+drivers/pwm/pwm-meson.c:	struct device *dev = chip->dev;
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "requested duty cycle: %d ns, period: %d ns\n",
+drivers/pwm/pwm-omap-dmtimer.c:		dev_err(chip->dev, "invalid pmtimer fclk\n");
+drivers/pwm/pwm-omap-dmtimer.c:		dev_err(chip->dev, "invalid pmtimer fclk rate\n");
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "clk rate: %luHz\n", clk_rate);
+drivers/pwm/pwm-omap-dmtimer.c:		dev_info(chip->dev,
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev,
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev, "using minimum of 1 clock cycle\n");
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev,
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev, "using maximum of 1 clock cycle less than period\n");
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "effective duty cycle: %lld ns, period: %lld ns\n",
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "load value: %#08x (%d), match value: %#08x (%d)\n",
+drivers/pwm/pwm-pca9685.c: * However, the ratio between each configured duty cycle and the chip-wide
+drivers/pwm/pwm-pca9685.c:			/* Change the chip-wide output frequency */
+drivers/pwm/pwm-pca9685.c:			dev_err(chip->dev,
+drivers/pwm/pwm-pca9685.c:	pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-pca9685.c:	pm_runtime_put(chip->dev);
+drivers/pwm/pwm-pxa.c:	return pwmchip_remove(&chip->chip);
+drivers/pwm/pwm-rcar.c:	return pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-rcar.c:	pm_runtime_put(chip->dev);
+drivers/pwm/pwm-rockchip.c:		.name = "rockchip-pwm",
+drivers/pwm/pwm-samsung.c:	struct samsung_pwm_variant *variant = &chip->variant;
+drivers/pwm/pwm-samsung.c:	reg = readl(chip->base + REG_TCFG1);
+drivers/pwm/pwm-samsung.c:	rate = clk_get_rate(chip->base_clk);
+drivers/pwm/pwm-samsung.c:	reg = readl(chip->base + REG_TCFG0);
+drivers/pwm/pwm-samsung.c:	struct samsung_pwm_variant *variant = &chip->variant;
+drivers/pwm/pwm-samsung.c:		clk = (chan < 2) ? chip->tclk0 : chip->tclk1;
+drivers/pwm/pwm-samsung.c:		dev_warn(chip->chip.dev,
+drivers/pwm/pwm-samsung.c:	dev_dbg(chip->chip.dev, "tin parent at %lu\n", rate);
+drivers/pwm/pwm-samsung.c:	if (!(our_chip->variant.output_mask & BIT(pwm->hwpwm))) {
+drivers/pwm/pwm-samsung.c:		dev_warn(chip->dev,
+drivers/pwm/pwm-samsung.c:	tcon = readl(our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	our_chip->disabled_mask &= ~BIT(pwm->hwpwm);
+drivers/pwm/pwm-samsung.c:	tcon = readl(our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	our_chip->disabled_mask |= BIT(pwm->hwpwm);
+drivers/pwm/pwm-samsung.c:	tcon = readl(chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	tcnt = readl(our_chip->base + REG_TCNTB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:	oldtcmp = readl(our_chip->base + REG_TCMPB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:		dev_dbg(our_chip->chip.dev, "duty_ns=%d, period_ns=%d (%u)\n",
+drivers/pwm/pwm-samsung.c:		dev_dbg(our_chip->chip.dev, "tin_rate=%lu\n", tin_rate);
+drivers/pwm/pwm-samsung.c:	dev_dbg(our_chip->chip.dev,
+drivers/pwm/pwm-samsung.c:	writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:	writel(tcmp, our_chip->base + REG_TCMPB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:		dev_dbg(our_chip->chip.dev, "Forcing manual update");
+drivers/pwm/pwm-samsung.c:	tcon = readl(chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:		chip->inverter_mask |= BIT(channel);
+drivers/pwm/pwm-samsung.c:		chip->inverter_mask &= ~BIT(channel);
+drivers/pwm/pwm-samsung.c:	writel(tcon, chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	struct device_node *np = chip->chip.dev->of_node;
+drivers/pwm/pwm-samsung.c:	memcpy(&chip->variant, match->data, sizeof(chip->variant));
+drivers/pwm/pwm-samsung.c:			dev_err(chip->chip.dev,
+drivers/pwm/pwm-samsung.c:		chip->variant.output_mask |= BIT(val);
+drivers/pwm/pwm-samsung.c:	chip->chip.dev = &pdev->dev;
+drivers/pwm/pwm-samsung.c:	chip->chip.ops = &pwm_samsung_ops;
+drivers/pwm/pwm-samsung.c:	chip->chip.base = -1;
+drivers/pwm/pwm-samsung.c:	chip->chip.npwm = SAMSUNG_PWM_NUM;
+drivers/pwm/pwm-samsung.c:	chip->inverter_mask = BIT(SAMSUNG_PWM_NUM) - 1;
+drivers/pwm/pwm-samsung.c:		chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-samsung.c:		chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-samsung.c:		memcpy(&chip->variant, pdev->dev.platform_data,
+drivers/pwm/pwm-samsung.c:							sizeof(chip->variant));
+drivers/pwm/pwm-samsung.c:	chip->base = devm_ioremap_resource(&pdev->dev, res);
+drivers/pwm/pwm-samsung.c:	if (IS_ERR(chip->base))
+drivers/pwm/pwm-samsung.c:		return PTR_ERR(chip->base);
+drivers/pwm/pwm-samsung.c:	chip->base_clk = devm_clk_get(&pdev->dev, "timers");
+drivers/pwm/pwm-samsung.c:	if (IS_ERR(chip->base_clk)) {
+drivers/pwm/pwm-samsung.c:		return PTR_ERR(chip->base_clk);
+drivers/pwm/pwm-samsung.c:	ret = clk_prepare_enable(chip->base_clk);
+drivers/pwm/pwm-samsung.c:		if (chip->variant.output_mask & BIT(chan))
+drivers/pwm/pwm-samsung.c:	chip->tclk0 = devm_clk_get(&pdev->dev, "pwm-tclk0");
+drivers/pwm/pwm-samsung.c:	chip->tclk1 = devm_clk_get(&pdev->dev, "pwm-tclk1");
+drivers/pwm/pwm-samsung.c:	ret = pwmchip_add(&chip->chip);
+drivers/pwm/pwm-samsung.c:		clk_disable_unprepare(chip->base_clk);
+drivers/pwm/pwm-samsung.c:		clk_get_rate(chip->base_clk),
+drivers/pwm/pwm-samsung.c:		!IS_ERR(chip->tclk0) ? clk_get_rate(chip->tclk0) : 0,
+drivers/pwm/pwm-samsung.c:		!IS_ERR(chip->tclk1) ? clk_get_rate(chip->tclk1) : 0);
+drivers/pwm/pwm-samsung.c:	ret = pwmchip_remove(&chip->chip);
+drivers/pwm/pwm-samsung.c:	clk_disable_unprepare(chip->base_clk);
+drivers/pwm/pwm-samsung.c:	struct pwm_chip *chip = &our_chip->chip;
+drivers/pwm/pwm-samsung.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/pwm-samsung.c:		if (our_chip->variant.output_mask & BIT(i))
+drivers/pwm/pwm-samsung.c:					our_chip->inverter_mask & BIT(i));
+drivers/pwm/pwm-samsung.c:		if (our_chip->disabled_mask & BIT(i))
+drivers/pwm/pwm-sifive.c:	chip->dev = dev;
+drivers/pwm/pwm-sifive.c:	chip->ops = &pwm_sifive_ops;
+drivers/pwm/pwm-sifive.c:	chip->of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-sifive.c:	chip->of_pwm_n_cells = 3;
+drivers/pwm/pwm-sifive.c:	chip->base = -1;
+drivers/pwm/pwm-sifive.c:	chip->npwm = 4;
+drivers/pwm/pwm-sifive.c:	dev_dbg(dev, "SiFive PWM chip registered %d PWMs\n", chip->npwm);
+drivers/pwm/pwm-spear.c:	return readl_relaxed(chip->mmio_base + (num << 4) + offset);
+drivers/pwm/pwm-spear.c:	writel_relaxed(val, chip->mmio_base + (num << 4) + offset);
+drivers/pwm/pwm-stm32.c:	if (pwm->chip->npwm < 2)
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error reading PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error writing PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error reading PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error writing PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:			dev_err(chip->dev, "unable to connect PWM#%u to pin\n",
+drivers/pwm/pwm-stmpe.c:	dev_dbg(chip->dev, "PWM#%u: config duty %d ns, period %d ns\n",
+drivers/pwm/pwm-stmpe.c:		dev_dbg(chip->dev,
+drivers/pwm/pwm-stmpe.c:			dev_err(chip->dev, "error writing register %02x: %d\n",
+drivers/pwm/pwm-stmpe.c:			dev_err(chip->dev, "error writing register %02x: %d\n",
+drivers/pwm/pwm-stmpe.c:	dev_dbg(chip->dev, "programmed PWM#%u, %u bytes\n", pwm->hwpwm, i);
+drivers/pwm/pwm-sun4i.c:	return readl(chip->base + offset);
+drivers/pwm/pwm-sun4i.c:	writel(val, chip->base + offset);
+drivers/pwm/pwm-sun4i.c:			dev_err(chip->dev, "failed to enable PWM clock\n");
+drivers/pwm/pwm-sun4i.c:			dev_err(chip->dev, "period exceeds the maximum value\n");
+drivers/pwm/pwm-tegra.c:	return readl(chip->regs + (num << 4));
+drivers/pwm/pwm-tegra.c:	writel(val, chip->regs + (num << 4));
+drivers/pwm/pwm-tiecap.c:		dev_warn(chip->dev, "Removing PWM device without disabling\n");
+drivers/pwm/pwm-tiecap.c:		pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:			dev_err(chip->dev,
+drivers/pwm/pwm-tiehrpwm.c:		dev_err(chip->dev, "Unsupported values\n");
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:		dev_err(chip->dev, "Failed to enable TBCLK for %s: %d\n",
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:		dev_warn(chip->dev, "Removing PWM device without disabling\n");
+drivers/pwm/pwm-tiehrpwm.c:		pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to request PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to free PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read GPBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read GPBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read PMBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to request PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read PMBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to free PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-vt8500.c:		dev_err(chip->dev, "failed to enable clock\n");
+drivers/pwm/pwm-vt8500.c:		dev_err(chip->dev, "failed to enable clock\n");
+drivers/pwm/pwm-vt8500.c:	chip->chip.dev = &pdev->dev;
+drivers/pwm/pwm-vt8500.c:	chip->chip.ops = &vt8500_pwm_ops;
+drivers/pwm/pwm-vt8500.c:	chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-vt8500.c:	chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-vt8500.c:	chip->chip.base = -1;
+drivers/pwm/pwm-vt8500.c:	chip->chip.npwm = VT8500_NR_PWMS;
+drivers/pwm/pwm-vt8500.c:	chip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/pwm/pwm-vt8500.c:	if (IS_ERR(chip->clk)) {
+drivers/pwm/pwm-vt8500.c:		return PTR_ERR(chip->clk);
+drivers/pwm/pwm-vt8500.c:	chip->base = devm_ioremap_resource(&pdev->dev, r);
+drivers/pwm/pwm-vt8500.c:	if (IS_ERR(chip->base))
+drivers/pwm/pwm-vt8500.c:		return PTR_ERR(chip->base);
+drivers/pwm/pwm-vt8500.c:	ret = clk_prepare(chip->clk);
+drivers/pwm/pwm-vt8500.c:	ret = pwmchip_add(&chip->chip);
+drivers/pwm/pwm-vt8500.c:		clk_unprepare(chip->clk);
+drivers/pwm/pwm-vt8500.c:	clk_unprepare(chip->clk);
+drivers/pwm/pwm-vt8500.c:	return pwmchip_remove(&chip->chip);
+drivers/pwm/sysfs.c:	if (hwpwm >= chip->npwm)
+drivers/pwm/sysfs.c:	if (hwpwm >= chip->npwm)
+drivers/pwm/sysfs.c:	ret = pwm_unexport_child(parent, &chip->pwms[hwpwm]);
+drivers/pwm/sysfs.c:	return sprintf(buf, "%u\n", chip->npwm);
+drivers/pwm/sysfs.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/sysfs.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/sysfs.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/sysfs.c:	return pwm_class_resume_npwm(parent, chip->npwm);
+drivers/pwm/sysfs.c:	parent = device_create(&pwm_class, chip->dev, MKDEV(0, 0), chip,
+drivers/pwm/sysfs.c:			       "pwmchip%d", chip->base);
+drivers/pwm/sysfs.c:		dev_warn(chip->dev,
+drivers/pwm/sysfs.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/sysfs.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/regulator/88pm800-regulator.c:	config.dev = chip->dev;
+drivers/regulator/88pm800-regulator.c:	config.regmap = chip->subchip->regmap_power;
+drivers/regulator/88pm8607.c:	if ((i == PM8607_ID_BUCK3) && chip->buck3_double)
+drivers/regulator/88pm8607.c:	config.dev = chip->dev;
+drivers/regulator/88pm8607.c:	if (chip->id == CHIP_PM8607)
+drivers/regulator/88pm8607.c:		config.regmap = chip->regmap;
+drivers/regulator/88pm8607.c:		config.regmap = chip->regmap_companion;
+drivers/regulator/ad5398.c:	unsigned range_uA = chip->max_uA - chip->min_uA;
+drivers/regulator/ad5398.c:	return chip->min_uA + (selector * range_uA / chip->current_level);
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	ret = (data & chip->current_mask) >> chip->current_offset;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	unsigned range_uA = chip->max_uA - chip->min_uA;
+drivers/regulator/ad5398.c:	if (min_uA < chip->min_uA)
+drivers/regulator/ad5398.c:		min_uA = chip->min_uA;
+drivers/regulator/ad5398.c:	if (max_uA > chip->max_uA)
+drivers/regulator/ad5398.c:		max_uA = chip->max_uA;
+drivers/regulator/ad5398.c:	if (min_uA > chip->max_uA || max_uA < chip->min_uA)
+drivers/regulator/ad5398.c:	selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level,
+drivers/regulator/ad5398.c:	selector = (selector << chip->current_offset) & chip->current_mask;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	chip->client = client;
+drivers/regulator/ad5398.c:	chip->min_uA = df->min_uA;
+drivers/regulator/ad5398.c:	chip->max_uA = df->max_uA;
+drivers/regulator/ad5398.c:	chip->current_level = 1 << df->current_bits;
+drivers/regulator/ad5398.c:	chip->current_offset = df->current_offset;
+drivers/regulator/ad5398.c:	chip->current_mask = (chip->current_level - 1) << chip->current_offset;
+drivers/regulator/ad5398.c:	chip->rdev = devm_regulator_register(&client->dev, &ad5398_reg,
+drivers/regulator/ad5398.c:	if (IS_ERR(chip->rdev)) {
+drivers/regulator/ad5398.c:		return PTR_ERR(chip->rdev);
+drivers/regulator/da9062-regulator.c:	switch (chip->chip_type) {
+drivers/regulator/da9062-regulator.c:		dev_err(chip->dev, "Unrecognised chip type\n");
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:		config.dev = chip->dev;
+drivers/regulator/da9062-regulator.c:		config.regmap = chip->regmap;
+drivers/regulator/da9210-regulator.c:	error = regmap_read(chip->regmap, DA9210_REG_EVENT_B, &val);
+drivers/regulator/da9210-regulator.c:	regulator_lock(chip->rdev);
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:	regulator_unlock(chip->rdev);
+drivers/regulator/da9210-regulator.c:		error = regmap_write(chip->regmap, DA9210_REG_EVENT_B, handled);
+drivers/regulator/da9210-regulator.c:	dev_err(regmap_get_device(chip->regmap), "I2C error : %d\n", error);
+drivers/regulator/da9210-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &da9210_regmap_config);
+drivers/regulator/da9210-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/da9210-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/da9210-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/da9210-regulator.c:	error = regmap_write(chip->regmap, DA9210_REG_MASK_A, ~0);
+drivers/regulator/da9210-regulator.c:		error = regmap_write(chip->regmap, DA9210_REG_MASK_B, ~0);
+drivers/regulator/da9210-regulator.c:	chip->rdev = rdev;
+drivers/regulator/da9210-regulator.c:		error = regmap_update_bits(chip->regmap, DA9210_REG_MASK_B,
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_BUCKA_CONF+id, &data);
+drivers/regulator/da9211-regulator.c:	return regmap_update_bits(chip->regmap, DA9211_REG_BUCKA_CONF+id,
+drivers/regulator/da9211-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/da9211-regulator.c:				return regmap_update_bits(chip->regmap,
+drivers/regulator/da9211-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_BUCK_ILIM, &data);
+drivers/regulator/da9211-regulator.c:	err = regmap_read(chip->regmap, DA9211_REG_EVENT_B, &reg_val);
+drivers/regulator/da9211-regulator.c:	        regulator_lock(chip->rdev[0]);
+drivers/regulator/da9211-regulator.c:		regulator_notifier_call_chain(chip->rdev[0],
+drivers/regulator/da9211-regulator.c:	        regulator_unlock(chip->rdev[0]);
+drivers/regulator/da9211-regulator.c:		err = regmap_write(chip->regmap, DA9211_REG_EVENT_B,
+drivers/regulator/da9211-regulator.c:	        regulator_lock(chip->rdev[1]);
+drivers/regulator/da9211-regulator.c:		regulator_notifier_call_chain(chip->rdev[1],
+drivers/regulator/da9211-regulator.c:	        regulator_unlock(chip->rdev[1]);
+drivers/regulator/da9211-regulator.c:		err = regmap_write(chip->regmap, DA9211_REG_EVENT_B,
+drivers/regulator/da9211-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_CONFIG_E, &data);
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to read CONFIG_E reg: %d\n", ret);
+drivers/regulator/da9211-regulator.c:	if (chip->pdata->num_buck == 1 && data == 0x00)
+drivers/regulator/da9211-regulator.c:		chip->num_regulator = 1;
+drivers/regulator/da9211-regulator.c:	else if (chip->pdata->num_buck == 2 && data != 0x00)
+drivers/regulator/da9211-regulator.c:		chip->num_regulator = 2;
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Configuration is mismatched\n");
+drivers/regulator/da9211-regulator.c:	for (i = 0; i < chip->num_regulator; i++) {
+drivers/regulator/da9211-regulator.c:		config.init_data = chip->pdata->init_data[i];
+drivers/regulator/da9211-regulator.c:		config.dev = chip->dev;
+drivers/regulator/da9211-regulator.c:		config.regmap = chip->regmap;
+drivers/regulator/da9211-regulator.c:		config.of_node = chip->pdata->reg_node[i];
+drivers/regulator/da9211-regulator.c:		if (chip->pdata->gpiod_ren[i])
+drivers/regulator/da9211-regulator.c:			config.ena_gpiod = chip->pdata->gpiod_ren[i];
+drivers/regulator/da9211-regulator.c:			devm_gpiod_unhinge(chip->dev, config.ena_gpiod);
+drivers/regulator/da9211-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/da9211-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/da9211-regulator.c:			dev_err(chip->dev,
+drivers/regulator/da9211-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/da9211-regulator.c:		if (chip->chip_irq != 0) {
+drivers/regulator/da9211-regulator.c:			ret = regmap_update_bits(chip->regmap,
+drivers/regulator/da9211-regulator.c:				dev_err(chip->dev,
+drivers/regulator/da9211-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/da9211-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &da9211_regmap_config);
+drivers/regulator/da9211-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/da9211-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/da9211-regulator.c:	chip->pdata = i2c->dev.platform_data;
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_DEVICE_ID, &data);
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to read DEVICE_ID reg: %d\n", ret);
+drivers/regulator/da9211-regulator.c:		chip->chip_id = DA9211;
+drivers/regulator/da9211-regulator.c:		chip->chip_id = DA9213;
+drivers/regulator/da9211-regulator.c:		chip->chip_id = DA9215;
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Unsupported device id = 0x%x.\n", data);
+drivers/regulator/da9211-regulator.c:	if (!chip->pdata)
+drivers/regulator/da9211-regulator.c:		chip->pdata = da9211_parse_regulators_dt(chip->dev);
+drivers/regulator/da9211-regulator.c:	if (IS_ERR(chip->pdata)) {
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "No regulators defined for the platform\n");
+drivers/regulator/da9211-regulator.c:		return PTR_ERR(chip->pdata);
+drivers/regulator/da9211-regulator.c:	chip->chip_irq = i2c->irq;
+drivers/regulator/da9211-regulator.c:	if (chip->chip_irq != 0) {
+drivers/regulator/da9211-regulator.c:		ret = devm_request_threaded_irq(chip->dev, chip->chip_irq, NULL,
+drivers/regulator/da9211-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/da9211-regulator.c:				chip->chip_irq);
+drivers/regulator/da9211-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to initialize regulator: %d\n", ret);
+drivers/regulator/lp8755.c:	return regmap_read(pchip->regmap, reg, val);
+drivers/regulator/lp8755.c:	return regmap_write(pchip->regmap, reg, val);
+drivers/regulator/lp8755.c:	return regmap_update_bits(pchip->regmap, reg, mask, val);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev, "Not supported buck mode %s\n", __func__);
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev,
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	struct lp8755_platform_data *pdata = pchip->pdata;
+drivers/regulator/lp8755.c:	pchip->mphase = regval & 0x0F;
+drivers/regulator/lp8755.c:	for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) {
+drivers/regulator/lp8755.c:		buck_num = mphase_buck[pchip->mphase].buck_num[icnt];
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	struct lp8755_platform_data *pdata = pchip->pdata;
+drivers/regulator/lp8755.c:	rconfig.regmap = pchip->regmap;
+drivers/regulator/lp8755.c:	rconfig.dev = pchip->dev;
+drivers/regulator/lp8755.c:	for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) {
+drivers/regulator/lp8755.c:		buck_num = mphase_buck[pchip->mphase].buck_num[icnt];
+drivers/regulator/lp8755.c:		rconfig.of_node = pchip->dev->of_node;
+drivers/regulator/lp8755.c:		pchip->rdev[buck_num] =
+drivers/regulator/lp8755.c:		    devm_regulator_register(pchip->dev,
+drivers/regulator/lp8755.c:		if (IS_ERR(pchip->rdev[buck_num])) {
+drivers/regulator/lp8755.c:			ret = PTR_ERR(pchip->rdev[buck_num]);
+drivers/regulator/lp8755.c:			pchip->rdev[buck_num] = NULL;
+drivers/regulator/lp8755.c:			dev_err(pchip->dev, "regulator init failed: buck %d\n",
+drivers/regulator/lp8755.c:		    && (pchip->irqmask & (0x04 << icnt))
+drivers/regulator/lp8755.c:		    && (pchip->rdev[icnt] != NULL)) {
+drivers/regulator/lp8755.c:			regulator_lock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:			regulator_notifier_call_chain(pchip->rdev[icnt],
+drivers/regulator/lp8755.c:			regulator_unlock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:	if ((flag1 & 0x01) && (pchip->irqmask & 0x01))
+drivers/regulator/lp8755.c:			if (pchip->rdev[icnt] != NULL) {
+drivers/regulator/lp8755.c:				regulator_lock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:				regulator_notifier_call_chain(pchip->rdev[icnt],
+drivers/regulator/lp8755.c:				regulator_unlock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:	if ((flag1 & 0x02) && (pchip->irqmask & 0x02))
+drivers/regulator/lp8755.c:			if (pchip->rdev[icnt] != NULL) {
+drivers/regulator/lp8755.c:				regulator_lock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:				regulator_notifier_call_chain(pchip->rdev[icnt],
+drivers/regulator/lp8755.c:				regulator_unlock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	if (pchip->irq == 0) {
+drivers/regulator/lp8755.c:		dev_warn(pchip->dev, "not use interrupt : %s\n", __func__);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	pchip->irqmask = regval;
+drivers/regulator/lp8755.c:	return devm_request_threaded_irq(pchip->dev, pchip->irq, NULL,
+drivers/regulator/lp8755.c:	pchip->dev = &client->dev;
+drivers/regulator/lp8755.c:	pchip->regmap = devm_regmap_init_i2c(client, &lp8755_regmap);
+drivers/regulator/lp8755.c:	if (IS_ERR(pchip->regmap)) {
+drivers/regulator/lp8755.c:		ret = PTR_ERR(pchip->regmap);
+drivers/regulator/lp8755.c:		pchip->pdata = pdata;
+drivers/regulator/lp8755.c:		pchip->mphase = pdata->mphase;
+drivers/regulator/lp8755.c:		pchip->pdata = devm_kzalloc(pchip->dev,
+drivers/regulator/lp8755.c:		if (!pchip->pdata)
+drivers/regulator/lp8755.c:	pchip->irq = client->irq;
+drivers/regulator/max77620-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/max77620-regulator.c:	pmic->rmap = max77620_chip->rmap;
+drivers/regulator/max77620-regulator.c:	switch (max77620_chip->chip_id) {
+drivers/regulator/max77620-regulator.c:		if ((max77620_chip->chip_id == MAX77620) &&
+drivers/regulator/max8925-regulator.c:	ri->i2c = chip->i2c;
+drivers/regulator/max8925-regulator.c:	config.dev = chip->dev;
+drivers/regulator/max8973-regulator.c:	ret = regmap_read(mchip->regmap, MAX8973_CHIPID1, &val);
+drivers/regulator/max8973-regulator.c:		dev_err(mchip->dev, "Failed to read register CHIPID1, %d", ret);
+drivers/regulator/max8973-regulator.c:		*temp = mchip->junction_temp_warning + 1000;
+drivers/regulator/max8973-regulator.c:	thermal_zone_device_update(mchip->tz_device,
+drivers/regulator/max8973-regulator.c:	if (mchip->id != MAX77621)
+drivers/regulator/max8973-regulator.c:	tzd = devm_thermal_zone_of_sensor_register(mchip->dev, 0, mchip,
+drivers/regulator/max8973-regulator.c:		dev_err(mchip->dev, "Failed to register thermal sensor: %d\n",
+drivers/regulator/max8973-regulator.c:	if (mchip->irq <= 0)
+drivers/regulator/max8973-regulator.c:	irq_data = irq_get_irq_data(mchip->irq);
+drivers/regulator/max8973-regulator.c:	ret = devm_request_threaded_irq(mchip->dev, mchip->irq, NULL,
+drivers/regulator/max8973-regulator.c:					dev_name(mchip->dev), mchip);
+drivers/regulator/max8973-regulator.c:		dev_err(mchip->dev, "Failed to request irq %d, %d\n",
+drivers/regulator/max8973-regulator.c:			mchip->irq, ret);
+drivers/regulator/pfuze100-regulator.c:	struct device *dev = chip->dev;
+drivers/regulator/pfuze100-regulator.c:		chip->flags |= PFUZE_FLAG_DISABLE_SW;
+drivers/regulator/pfuze100-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/pfuze100-regulator.c:	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW1ABMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW1CMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW2MODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW3AMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW3BMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW4MODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN1VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN2VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN3VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN4VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN5VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN6VOL,
+drivers/regulator/pfuze100-regulator.c:	if (pfuze_chip->chip_id != PFUZE100) {
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
+drivers/regulator/pfuze100-regulator.c:	ret = regmap_read(pfuze_chip->regmap, PFUZE100_DEVICEID, &value);
+drivers/regulator/pfuze100-regulator.c:	if (((value & 0x0f) == 0x8) && (pfuze_chip->chip_id == PFUZE100)) {
+drivers/regulator/pfuze100-regulator.c:		dev_info(pfuze_chip->dev, "Assuming misprogrammed ID=0x8");
+drivers/regulator/pfuze100-regulator.c:	} else if ((value & 0x0f) != pfuze_chip->chip_id &&
+drivers/regulator/pfuze100-regulator.c:		   (value & 0xf0) >> 4 != pfuze_chip->chip_id &&
+drivers/regulator/pfuze100-regulator.c:		   (value != pfuze_chip->chip_id)) {
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value);
+drivers/regulator/pfuze100-regulator.c:	ret = regmap_read(pfuze_chip->regmap, PFUZE100_REVID, &value);
+drivers/regulator/pfuze100-regulator.c:	dev_info(pfuze_chip->dev,
+drivers/regulator/pfuze100-regulator.c:	ret = regmap_read(pfuze_chip->regmap, PFUZE100_FABID, &value);
+drivers/regulator/pfuze100-regulator.c:	dev_info(pfuze_chip->dev, "FAB: %x, FIN: %x\n",
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->chip_id = (int)(long)match->data;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->chip_id = id->driver_data;
+drivers/regulator/pfuze100-regulator.c:	pfuze_chip->dev = &client->dev;
+drivers/regulator/pfuze100-regulator.c:	pfuze_chip->regmap = devm_regmap_init_i2c(client, &pfuze_regmap_config);
+drivers/regulator/pfuze100-regulator.c:	if (IS_ERR(pfuze_chip->regmap)) {
+drivers/regulator/pfuze100-regulator.c:		ret = PTR_ERR(pfuze_chip->regmap);
+drivers/regulator/pfuze100-regulator.c:	switch (pfuze_chip->chip_id) {
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze3001_regulators;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze3000_regulators;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze200_regulators;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze100_regulators;
+drivers/regulator/pfuze100-regulator.c:		(pfuze_chip->chip_id == PFUZE100) ? "100" :
+drivers/regulator/pfuze100-regulator.c:		(((pfuze_chip->chip_id == PFUZE200) ? "200" :
+drivers/regulator/pfuze100-regulator.c:		((pfuze_chip->chip_id == PFUZE3000) ? "3000" : "3001"))));
+drivers/regulator/pfuze100-regulator.c:	memcpy(pfuze_chip->regulator_descs, pfuze_chip->pfuze_regulators,
+drivers/regulator/pfuze100-regulator.c:		sizeof(pfuze_chip->regulator_descs));
+drivers/regulator/pfuze100-regulator.c:		desc = &pfuze_chip->regulator_descs[i].desc;
+drivers/regulator/pfuze100-regulator.c:			ret = regmap_read(pfuze_chip->regmap,
+drivers/regulator/pfuze100-regulator.c:				if (pfuze_chip->chip_id == PFUZE3000 ||
+drivers/regulator/pfuze100-regulator.c:					pfuze_chip->chip_id == PFUZE3001) {
+drivers/regulator/pfuze100-regulator.c:		if (pfuze_chip->flags & PFUZE_FLAG_DISABLE_SW) {
+drivers/regulator/pfuze100-regulator.c:			if (pfuze_chip->regulator_descs[i].sw_reg) {
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->regulators[i] =
+drivers/regulator/pfuze100-regulator.c:		if (IS_ERR(pfuze_chip->regulators[i])) {
+drivers/regulator/pfuze100-regulator.c:				pfuze_chip->pfuze_regulators[i].desc.name);
+drivers/regulator/pfuze100-regulator.c:			return PTR_ERR(pfuze_chip->regulators[i]);
+drivers/regulator/pv88060-regulator.c:	err = regmap_read(chip->regmap, PV88060_REG_EVENT_A, &reg_val);
+drivers/regulator/pv88060-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88060-regulator.c:				regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88060-regulator.c:				regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:		err = regmap_write(chip->regmap, PV88060_REG_EVENT_A,
+drivers/regulator/pv88060-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88060-regulator.c:				regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88060-regulator.c:				regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:		err = regmap_write(chip->regmap, PV88060_REG_EVENT_A,
+drivers/regulator/pv88060-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/pv88060-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/pv88060-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &pv88060_regmap_config);
+drivers/regulator/pv88060-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/pv88060-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/pv88060-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/pv88060-regulator.c:		ret = regmap_write(chip->regmap, PV88060_REG_MASK_A, 0xFF);
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:		ret = regmap_write(chip->regmap, PV88060_REG_MASK_B, 0xFF);
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:		ret = regmap_write(chip->regmap, PV88060_REG_MASK_C, 0xFF);
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/pv88060-regulator.c:		ret = regmap_update_bits(chip->regmap, PV88060_REG_MASK_A,
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/pv88060-regulator.c:	config.dev = chip->dev;
+drivers/regulator/pv88060-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/pv88060-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88060-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:	err = regmap_read(chip->regmap, PV88080_REG_EVENT_A, &reg_val);
+drivers/regulator/pv88080-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88080-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88080-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:		err = regmap_write(chip->regmap, PV88080_REG_EVENT_A,
+drivers/regulator/pv88080-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88080-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88080-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:		err = regmap_write(chip->regmap, PV88080_REG_EVENT_A,
+drivers/regulator/pv88080-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/pv88080-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/pv88080-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &pv88080_regmap_config);
+drivers/regulator/pv88080-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/pv88080-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/pv88080-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev, "Failed to get of_match_node\n");
+drivers/regulator/pv88080-regulator.c:		chip->type = (unsigned long)match->data;
+drivers/regulator/pv88080-regulator.c:		chip->type = id->driver_data;
+drivers/regulator/pv88080-regulator.c:		ret = regmap_write(chip->regmap, PV88080_REG_MASK_A, 0xFF);
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:		ret = regmap_write(chip->regmap, PV88080_REG_MASK_B, 0xFF);
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:		ret = regmap_write(chip->regmap, PV88080_REG_MASK_C, 0xFF);
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/pv88080-regulator.c:		ret = regmap_update_bits(chip->regmap, PV88080_REG_MASK_A,
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/pv88080-regulator.c:	switch (chip->type) {
+drivers/regulator/pv88080-regulator.c:		chip->regmap_config = &pv88080_aa_regs;
+drivers/regulator/pv88080-regulator.c:		chip->regmap_config = &pv88080_ba_regs;
+drivers/regulator/pv88080-regulator.c:	regmap_config = chip->regmap_config;
+drivers/regulator/pv88080-regulator.c:	config.dev = chip->dev;
+drivers/regulator/pv88080-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/pv88080-regulator.c:		ret = regmap_read(chip->regmap,
+drivers/regulator/pv88080-regulator.c:		ret = regmap_read(chip->regmap,
+drivers/regulator/pv88080-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88080-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:	chip->rdev[PV88080_ID_HVBUCK] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88080-regulator.c:	if (IS_ERR(chip->rdev[PV88080_ID_HVBUCK])) {
+drivers/regulator/pv88080-regulator.c:		dev_err(chip->dev, "Failed to register PV88080 regulator\n");
+drivers/regulator/pv88080-regulator.c:		return PTR_ERR(chip->rdev[PV88080_ID_HVBUCK]);
+drivers/regulator/pv88090-regulator.c:	err = regmap_read(chip->regmap, PV88090_REG_EVENT_A, &reg_val);
+drivers/regulator/pv88090-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88090-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88090-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:		err = regmap_write(chip->regmap, PV88090_REG_EVENT_A,
+drivers/regulator/pv88090-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88090-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88090-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:		err = regmap_write(chip->regmap, PV88090_REG_EVENT_A,
+drivers/regulator/pv88090-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/pv88090-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/pv88090-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &pv88090_regmap_config);
+drivers/regulator/pv88090-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/pv88090-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/pv88090-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/pv88090-regulator.c:		ret = regmap_write(chip->regmap, PV88090_REG_MASK_A, 0xFF);
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:		ret = regmap_write(chip->regmap, PV88090_REG_MASK_B, 0xFF);
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/pv88090-regulator.c:		ret = regmap_update_bits(chip->regmap, PV88090_REG_MASK_A,
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/pv88090-regulator.c:	config.dev = chip->dev;
+drivers/regulator/pv88090-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/pv88090-regulator.c:			ret = regmap_read(chip->regmap,
+drivers/regulator/pv88090-regulator.c:			ret = regmap_read(chip->regmap,
+drivers/regulator/pv88090-regulator.c:				dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88090-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:		chip->rdesc[id] = &regls_desc[id];
+drivers/regulator/slg51000-regulator.c:		rdesc = chip->rdesc[id];
+drivers/regulator/slg51000-regulator.c:		config.regmap = chip->regmap;
+drivers/regulator/slg51000-regulator.c:		config.dev = chip->dev;
+drivers/regulator/slg51000-regulator.c:		ret = regmap_bulk_read(chip->regmap, min_regs[id],
+drivers/regulator/slg51000-regulator.c:			dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:			ret = regmap_read(chip->regmap, reg, &val);
+drivers/regulator/slg51000-regulator.c:				dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:			ret = regmap_read(chip->regmap, reg, &val);
+drivers/regulator/slg51000-regulator.c:				dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		chip->rdev[id] = devm_regulator_register(chip->dev, rdesc,
+drivers/regulator/slg51000-regulator.c:		if (IS_ERR(chip->rdev[id])) {
+drivers/regulator/slg51000-regulator.c:			ret = PTR_ERR(chip->rdev[id]);
+drivers/regulator/slg51000-regulator.c:			dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:				chip->rdesc[id]->name, ret);
+drivers/regulator/slg51000-regulator.c:	struct regmap *regmap = chip->regmap;
+drivers/regulator/slg51000-regulator.c:			dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		dev_info(chip->dev,
+drivers/regulator/slg51000-regulator.c:			regulator_lock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:			regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/slg51000-regulator.c:			regulator_unlock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:				dev_warn(chip->dev,
+drivers/regulator/slg51000-regulator.c:				regulator_lock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/slg51000-regulator.c:				regulator_unlock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:			dev_warn(chip->dev, "High temperature warning!\n");
+drivers/regulator/slg51000-regulator.c:	ret = regmap_read(chip->regmap, SLG51000_SYSCTL_FAULT_LOG1, &val);
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev, "Failed to read Fault log register\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_OVER_TEMP\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_POWER_SEQ_CRASH_REQ\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_RST\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_POR\n");
+drivers/regulator/slg51000-regulator.c:		chip->cs_gpiod = cs_gpiod;
+drivers/regulator/slg51000-regulator.c:	chip->chip_irq = client->irq;
+drivers/regulator/slg51000-regulator.c:	chip->dev = dev;
+drivers/regulator/slg51000-regulator.c:	chip->regmap = devm_regmap_init_i2c(client, &slg51000_regmap_config);
+drivers/regulator/slg51000-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/slg51000-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev, "Failed to init regulator(%d)\n", ret);
+drivers/regulator/slg51000-regulator.c:	if (chip->chip_irq) {
+drivers/regulator/slg51000-regulator.c:		ret = devm_request_threaded_irq(dev, chip->chip_irq, NULL,
+drivers/regulator/slg51000-regulator.c:				chip->chip_irq);
+drivers/remoteproc/da8xx_remoteproc.c: * @ack_fxn: chip-specific ack function for ack'ing irq
+drivers/remoteproc/da8xx_remoteproc.c:	drproc->ack_fxn = irq_data->chip->irq_ack;
+drivers/rtc/rtc-88pm80x.c:	info->map = chip->regmap;
+drivers/rtc/rtc-88pm80x.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/rtc/rtc-88pm860x.c:	info->i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/rtc/rtc-88pm860x.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/rtc/rtc-88pm860x.c:		chip->wakeup_flag |= 1 << PM8607_IRQ_RTC;
+drivers/rtc/rtc-88pm860x.c:		chip->wakeup_flag &= ~(1 << PM8607_IRQ_RTC);
+drivers/rtc/rtc-ac100.c:	struct device_node *np = chip->dev->of_node;
+drivers/rtc/rtc-ac100.c:	chip->clk_data = devm_kzalloc(chip->dev,
+drivers/rtc/rtc-ac100.c:				      struct_size(chip->clk_data, hws,
+drivers/rtc/rtc-ac100.c:	if (!chip->clk_data)
+drivers/rtc/rtc-ac100.c:	chip->rtc_32k_clk = clk_hw_register_fixed_rate(chip->dev,
+drivers/rtc/rtc-ac100.c:	if (IS_ERR(chip->rtc_32k_clk)) {
+drivers/rtc/rtc-ac100.c:		ret = PTR_ERR(chip->rtc_32k_clk);
+drivers/rtc/rtc-ac100.c:		dev_err(chip->dev, "Failed to register RTC-32k clock: %d\n",
+drivers/rtc/rtc-ac100.c:		dev_err(chip->dev, "Failed to get ADDA 4M clock\n");
+drivers/rtc/rtc-ac100.c:		struct ac100_clkout *clk = &chip->clks[i];
+drivers/rtc/rtc-ac100.c:		clk->regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:		ret = devm_clk_hw_register(chip->dev, &clk->hw);
+drivers/rtc/rtc-ac100.c:			dev_err(chip->dev, "Failed to register clk '%s': %d\n",
+drivers/rtc/rtc-ac100.c:		chip->clk_data->hws[i] = &clk->hw;
+drivers/rtc/rtc-ac100.c:	chip->clk_data->num = i;
+drivers/rtc/rtc-ac100.c:	ret = of_clk_add_hw_provider(np, of_clk_hw_onecell_get, chip->clk_data);
+drivers/rtc/rtc-ac100.c:	clk_unregister_fixed_rate(chip->rtc_32k_clk->clk);
+drivers/rtc/rtc-ac100.c:	of_clk_del_provider(chip->dev->of_node);
+drivers/rtc/rtc-ac100.c:	clk_unregister_fixed_rate(chip->rtc_32k_clk->clk);
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	mutex_lock(&chip->rtc->ops_lock);
+drivers/rtc/rtc-ac100.c:		rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
+drivers/rtc/rtc-ac100.c:		ret = ac100_rtc_alarm_irq_enable(chip->dev, 0);
+drivers/rtc/rtc-ac100.c:	mutex_unlock(&chip->rtc->ops_lock);
+drivers/rtc/rtc-ac100.c:	chip->dev = &pdev->dev;
+drivers/rtc/rtc-ac100.c:	chip->regmap = ac100->regmap;
+drivers/rtc/rtc-ac100.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/rtc/rtc-ac100.c:	if (chip->irq < 0)
+drivers/rtc/rtc-ac100.c:		return chip->irq;
+drivers/rtc/rtc-ac100.c:	chip->rtc = devm_rtc_allocate_device(&pdev->dev);
+drivers/rtc/rtc-ac100.c:	if (IS_ERR(chip->rtc))
+drivers/rtc/rtc-ac100.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-ac100.c:	chip->rtc->ops = &ac100_rtc_ops;
+drivers/rtc/rtc-ac100.c:	ret = devm_request_threaded_irq(&pdev->dev, chip->irq, NULL,
+drivers/rtc/rtc-ac100.c:	regmap_write_bits(chip->regmap, AC100_RTC_CTRL, AC100_RTC_CTRL_24HOUR,
+drivers/rtc/rtc-ac100.c:	regmap_write(chip->regmap, AC100_ALM_INT_ENA, 0);
+drivers/rtc/rtc-ac100.c:	regmap_write(chip->regmap, AC100_ALM_INT_STA, AC100_ALM_INT_ENABLE);
+drivers/rtc/rtc-ac100.c:	return rtc_register_device(chip->rtc);
+drivers/rtc/rtc-da9063.c:		if (chip->variant_code == PMIC_DA9063_AD)
+drivers/rtc/rtc-ds1307.c:	ret = regmap_bulk_read(ds1307->regmap, chip->offset, regs,
+drivers/rtc/rtc-ds1307.c:	if (regs[chip->century_reg] & chip->century_bit &&
+drivers/rtc/rtc-ds1307.c:	if (t->tm_year > (chip->century_bit ? 299 : 199))
+drivers/rtc/rtc-ds1307.c:	if (chip->century_enable_bit)
+drivers/rtc/rtc-ds1307.c:		regs[chip->century_reg] |= chip->century_enable_bit;
+drivers/rtc/rtc-ds1307.c:	if (t->tm_year > 199 && chip->century_bit)
+drivers/rtc/rtc-ds1307.c:		regs[chip->century_reg] |= chip->century_bit;
+drivers/rtc/rtc-ds1307.c:	result = regmap_bulk_write(ds1307->regmap, chip->offset, regs,
+drivers/rtc/rtc-ds1307.c:	return regmap_bulk_read(ds1307->regmap, chip->nvram_offset + offset,
+drivers/rtc/rtc-ds1307.c:	return regmap_bulk_write(ds1307->regmap, chip->nvram_offset + offset,
+drivers/rtc/rtc-ds1307.c:	if (!chip->do_trickle_setup)
+drivers/rtc/rtc-ds1307.c:	return chip->do_trickle_setup(ds1307, ohms, diode);
+drivers/rtc/rtc-ds1307.c:	want_irq = client->irq > 0 && chip->alarm;
+drivers/rtc/rtc-ds1307.c:	if (trickle_charger_setup && chip->trickle_charger_reg) {
+drivers/rtc/rtc-ds1307.c:			trickle_charger_setup, chip->trickle_charger_reg);
+drivers/rtc/rtc-ds1307.c:		regmap_write(ds1307->regmap, chip->trickle_charger_reg,
+drivers/rtc/rtc-ds1307.c:	if (chip->alarm && of_property_read_bool(client->dev.of_node,
+drivers/rtc/rtc-ds1307.c:			regs[0] |= DS1337_BIT_INTCN | chip->bbsqi_bit;
+drivers/rtc/rtc-ds1307.c:	err = regmap_bulk_read(ds1307->regmap, chip->offset, regs,
+drivers/rtc/rtc-ds1307.c:		regmap_write(ds1307->regmap, chip->offset + DS1307_REG_HOUR,
+drivers/rtc/rtc-ds1307.c:						chip->irq_handler ?: ds1307_irq,
+drivers/rtc/rtc-ds1307.c:	ds1307->rtc->ops = chip->rtc_ops ?: &ds13xx_rtc_ops;
+drivers/rtc/rtc-ds1307.c:	if (chip->nvram_size) {
+drivers/rtc/rtc-ds1307.c:			.size = chip->nvram_size,
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[0] = address & 0x7f;
+drivers/rtc/rtc-ds1390.c:	status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 1);
+drivers/rtc/rtc-ds1390.c:	*data = chip->txrx_buf[0];
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[0] = DS1390_REG_SECONDS;
+drivers/rtc/rtc-ds1390.c:	status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 8);
+drivers/rtc/rtc-ds1390.c:	dt->tm_sec	= bcd2bin(chip->txrx_buf[0]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_min	= bcd2bin(chip->txrx_buf[1]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_hour	= bcd2bin(chip->txrx_buf[2]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_wday	= bcd2bin(chip->txrx_buf[3]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_mday	= bcd2bin(chip->txrx_buf[4]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_mon	= bcd2bin(chip->txrx_buf[5] & 0x7f) - 1;
+drivers/rtc/rtc-ds1390.c:	dt->tm_year = bcd2bin(chip->txrx_buf[6]) + ((chip->txrx_buf[5] & 0x80) ? 100 : 0);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[0] = DS1390_REG_SECONDS | 0x80;
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[1] = bin2bcd(dt->tm_sec);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[2] = bin2bcd(dt->tm_min);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[3] = bin2bcd(dt->tm_hour);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[4] = bin2bcd(dt->tm_wday);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[5] = bin2bcd(dt->tm_mday);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[6] = bin2bcd(dt->tm_mon + 1) |
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[7] = bin2bcd(dt->tm_year % 100);
+drivers/rtc/rtc-ds1390.c:	return spi_write_then_read(spi, chip->txrx_buf, 8, NULL, 0);
+drivers/rtc/rtc-ds1390.c:	chip->rtc = devm_rtc_device_register(&spi->dev, "ds1390",
+drivers/rtc/rtc-ds1390.c:	if (IS_ERR(chip->rtc)) {
+drivers/rtc/rtc-ds1390.c:		res = PTR_ERR(chip->rtc);
+drivers/rtc/rtc-ds2404.c:	chip->gpio = ds2404_gpio;
+drivers/rtc/rtc-ds2404.c:	chip->rtc = devm_rtc_allocate_device(&pdev->dev);
+drivers/rtc/rtc-ds2404.c:	if (IS_ERR(chip->rtc))
+drivers/rtc/rtc-ds2404.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-ds2404.c:		 chip->gpio[DS2404_RST].gpio, chip->gpio[DS2404_CLK].gpio,
+drivers/rtc/rtc-ds2404.c:		 chip->gpio[DS2404_DQ].gpio);
+drivers/rtc/rtc-ds2404.c:	chip->rtc->ops = &ds2404_rtc_ops;
+drivers/rtc/rtc-ds2404.c:	chip->rtc->range_max = U32_MAX;
+drivers/rtc/rtc-ds2404.c:	retval = rtc_register_device(chip->rtc);
+drivers/rtc/rtc-max8925.c:	info->rtc = chip->rtc;
+drivers/rtc/rtc-max8925.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/rtc/rtc-max8925.c:		chip->wakeup_flag |= 1 << MAX8925_IRQ_RTC_ALARM0;
+drivers/rtc/rtc-max8925.c:		chip->wakeup_flag &= ~(1 << MAX8925_IRQ_RTC_ALARM0);
+drivers/rtc/rtc-mt6397.c:	rtc->regmap = mt6397_chip->regmap;
+drivers/rtc/rtc-sun6i.c:	spin_lock(&chip->lock);
+drivers/rtc/rtc-sun6i.c:	val = readl(chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:		writel(val, chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:		rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
+drivers/rtc/rtc-sun6i.c:	spin_unlock(&chip->lock);
+drivers/rtc/rtc-sun6i.c:		       chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:	writel(alrm_val, chip->base + SUN6I_ALRM_EN);
+drivers/rtc/rtc-sun6i.c:	writel(alrm_irq_val, chip->base + SUN6I_ALRM_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	writel(alrm_wake_val, chip->base + SUN6I_ALARM_CONFIG);
+drivers/rtc/rtc-sun6i.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:		date = readl(chip->base + SUN6I_RTC_YMD);
+drivers/rtc/rtc-sun6i.c:		time = readl(chip->base + SUN6I_RTC_HMS);
+drivers/rtc/rtc-sun6i.c:	} while ((date != readl(chip->base + SUN6I_RTC_YMD)) ||
+drivers/rtc/rtc-sun6i.c:		 (time != readl(chip->base + SUN6I_RTC_HMS)));
+drivers/rtc/rtc-sun6i.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:	alrm_en = readl(chip->base + SUN6I_ALRM_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	alrm_st = readl(chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:	rtc_time_to_tm(chip->alarm, &wkalrm->time);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_COUNTER);
+drivers/rtc/rtc-sun6i.c:	writel(time_gap, chip->base + SUN6I_ALRM_COUNTER);
+drivers/rtc/rtc-sun6i.c:	chip->alarm = time_set;
+drivers/rtc/rtc-sun6i.c:		reg = readl(chip->base + offset);
+drivers/rtc/rtc-sun6i.c:	writel(time, chip->base + SUN6I_RTC_HMS);
+drivers/rtc/rtc-sun6i.c:	writel(date, chip->base + SUN6I_RTC_YMD);
+drivers/rtc/rtc-sun6i.c:		enable_irq_wake(chip->irq);
+drivers/rtc/rtc-sun6i.c:		disable_irq_wake(chip->irq);
+drivers/rtc/rtc-sun6i.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/rtc/rtc-sun6i.c:	if (chip->irq < 0)
+drivers/rtc/rtc-sun6i.c:		return chip->irq;
+drivers/rtc/rtc-sun6i.c:	ret = devm_request_irq(&pdev->dev, chip->irq, sun6i_rtc_alarmirq,
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_COUNTER);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_EN);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM1_EN);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM1_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	       chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	       chip->base + SUN6I_ALRM1_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALARM_CONFIG);
+drivers/rtc/rtc-sun6i.c:	clk_prepare_enable(chip->losc);
+drivers/rtc/rtc-sun6i.c:	chip->rtc = devm_rtc_device_register(&pdev->dev, "rtc-sun6i",
+drivers/rtc/rtc-sun6i.c:	if (IS_ERR(chip->rtc)) {
+drivers/rtc/rtc-sun6i.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-sunxi.c:	val = readl(chip->base + SUNXI_ALRM_IRQ_STA);
+drivers/rtc/rtc-sunxi.c:		writel(val, chip->base + SUNXI_ALRM_IRQ_STA);
+drivers/rtc/rtc-sunxi.c:		rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
+drivers/rtc/rtc-sunxi.c:		alrm_val = readl(chip->base + SUNXI_ALRM_EN);
+drivers/rtc/rtc-sunxi.c:		alrm_irq_val = readl(chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:				chip->base + SUNXI_ALRM_IRQ_STA);
+drivers/rtc/rtc-sunxi.c:	writel(alrm_val, chip->base + SUNXI_ALRM_EN);
+drivers/rtc/rtc-sunxi.c:	writel(alrm_irq_val, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:	alrm = readl(chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	date = readl(chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:			chip->data_year->mask);
+drivers/rtc/rtc-sunxi.c:	alrm_tm->tm_year += SUNXI_YEAR_OFF(chip->data_year);
+drivers/rtc/rtc-sunxi.c:	alrm_en = readl(chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:		date = readl(chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:		time = readl(chip->base + SUNXI_RTC_HMS);
+drivers/rtc/rtc-sunxi.c:	} while ((date != readl(chip->base + SUNXI_RTC_YMD)) ||
+drivers/rtc/rtc-sunxi.c:		 (time != readl(chip->base + SUNXI_RTC_HMS)));
+drivers/rtc/rtc-sunxi.c:					chip->data_year->mask);
+drivers/rtc/rtc-sunxi.c:	rtc_tm->tm_year += SUNXI_YEAR_OFF(chip->data_year);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	writel(alrm, chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:	writel(SUNXI_ALRM_IRQ_EN_CNT_IRQ_EN, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:		reg = readl(chip->base + offset);
+drivers/rtc/rtc-sunxi.c:	if (year < chip->data_year->min || year > chip->data_year->max) {
+drivers/rtc/rtc-sunxi.c:			chip->data_year->min, chip->data_year->max);
+drivers/rtc/rtc-sunxi.c:	rtc_tm->tm_year -= SUNXI_YEAR_OFF(chip->data_year);
+drivers/rtc/rtc-sunxi.c:				chip->data_year->mask);
+drivers/rtc/rtc-sunxi.c:		date |= SUNXI_LEAP_SET_VALUE(1, chip->data_year->leap_shift);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_RTC_HMS);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:	writel(time, chip->base + SUNXI_RTC_HMS);
+drivers/rtc/rtc-sunxi.c:	writel(date, chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:	chip->dev = &pdev->dev;
+drivers/rtc/rtc-sunxi.c:	chip->rtc = devm_rtc_allocate_device(&pdev->dev);
+drivers/rtc/rtc-sunxi.c:	if (IS_ERR(chip->rtc))
+drivers/rtc/rtc-sunxi.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-sunxi.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/rtc/rtc-sunxi.c:	if (IS_ERR(chip->base))
+drivers/rtc/rtc-sunxi.c:		return PTR_ERR(chip->base);
+drivers/rtc/rtc-sunxi.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/rtc/rtc-sunxi.c:	if (chip->irq < 0)
+drivers/rtc/rtc-sunxi.c:		return chip->irq;
+drivers/rtc/rtc-sunxi.c:	ret = devm_request_irq(&pdev->dev, chip->irq, sunxi_rtc_alarmirq,
+drivers/rtc/rtc-sunxi.c:	chip->data_year = of_device_get_match_data(&pdev->dev);
+drivers/rtc/rtc-sunxi.c:	if (!chip->data_year) {
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_EN);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:	writel(SUNXI_ALRM_IRQ_STA_CNT_IRQ_PEND, chip->base +
+drivers/rtc/rtc-sunxi.c:	chip->rtc->ops = &sunxi_rtc_ops;
+drivers/rtc/rtc-sunxi.c:	return rtc_register_device(chip->rtc);
+drivers/rtc/rtc-v3020.c:	chip->leftshift = pdata->leftshift;
+drivers/rtc/rtc-v3020.c:	chip->ioaddress = ioremap(pdev->resource[0].start, 1);
+drivers/rtc/rtc-v3020.c:	if (chip->ioaddress == NULL)
+drivers/rtc/rtc-v3020.c:	iounmap(chip->ioaddress);
+drivers/rtc/rtc-v3020.c:	writel(bit << chip->leftshift, chip->ioaddress);
+drivers/rtc/rtc-v3020.c:	return !!(readl(chip->ioaddress) & (1 << chip->leftshift));
+drivers/rtc/rtc-v3020.c:		chip->gpio = v3020_gpio;
+drivers/rtc/rtc-v3020.c:	gpio_direction_output(chip->gpio[V3020_IO].gpio, bit);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 0);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_WR].gpio, 0);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_WR].gpio, 1);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 1);
+drivers/rtc/rtc-v3020.c:	gpio_direction_input(chip->gpio[V3020_IO].gpio);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 0);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_RD].gpio, 0);
+drivers/rtc/rtc-v3020.c:	bit = !!gpio_get_value(chip->gpio[V3020_IO].gpio);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_RD].gpio, 1);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 1);
+drivers/rtc/rtc-v3020.c:		chip->ops->write_bit(chip, (tmp & 1));
+drivers/rtc/rtc-v3020.c:			chip->ops->write_bit(chip, (data & 1));
+drivers/rtc/rtc-v3020.c:		chip->ops->write_bit(chip, (address & 1));
+drivers/rtc/rtc-v3020.c:		if (chip->ops->read_bit(chip))
+drivers/rtc/rtc-v3020.c:		chip->ops = &v3020_gpio_ops;
+drivers/rtc/rtc-v3020.c:		chip->ops = &v3020_mmio_ops;
+drivers/rtc/rtc-v3020.c:	retval = chip->ops->map_io(chip, pdev, pdata);
+drivers/rtc/rtc-v3020.c:		chip->ops->read_bit(chip);
+drivers/rtc/rtc-v3020.c:			 chip->gpio[V3020_CS].gpio, chip->gpio[V3020_WR].gpio,
+drivers/rtc/rtc-v3020.c:			 chip->gpio[V3020_RD].gpio, chip->gpio[V3020_IO].gpio);
+drivers/rtc/rtc-v3020.c:			 chip->leftshift);
+drivers/rtc/rtc-v3020.c:	chip->rtc = devm_rtc_device_register(&pdev->dev, "v3020",
+drivers/rtc/rtc-v3020.c:	if (IS_ERR(chip->rtc)) {
+drivers/rtc/rtc-v3020.c:		retval = PTR_ERR(chip->rtc);
+drivers/rtc/rtc-v3020.c:	chip->ops->unmap_io(chip);
+drivers/rtc/rtc-v3020.c:	chip->ops->unmap_io(chip);
+drivers/scsi/bfa/bfa_core.c: * Actions on chip-reset completion.
+drivers/scsi/bfa/bfa_hw_ct.c: * Dummy interrupt handler for handling spurious interrupt during chip-reinit.
+drivers/scsi/esp_scsi.h:/* ESP chip-test register read-write */
+drivers/scsi/ipr.c:	if (ioa_cfg->ipr_chip->bist_method == IPR_MMIO)
+drivers/scsi/ipr.c:	ioa_cfg->sis64 = ioa_cfg->ipr_chip->sis_type == IPR_SIS64 ? 1 : 0;
+drivers/scsi/ipr.c:	ioa_cfg->chip_cfg = ioa_cfg->ipr_chip->cfg;
+drivers/scsi/ipr.c:	if (ioa_cfg->ipr_chip->has_msi)
+drivers/scsi/lpfc/lpfc_sli4.h:				   * For chip->host queues (EQ, CQ, RQ):
+drivers/scsi/lpfc/lpfc_sli4.h:				  * For chip->host queues (EQ, CQ):
+drivers/scsi/mesh.c:	switch (mdev->bus->chip->type) {
+drivers/scsi/mpt3sas/mpt3sas_base.c:	doorbell = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(0xC0FFEE00, &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	him_register = ioc->base_readl(&ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(him_register, &ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	ioc->base_readl(&ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	him_register = ioc->base_readl(&ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(him_register, &ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:				    &ioc->chip->ReplyFreeHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:						&ioc->chip->ReplyPostHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			&ioc->chip->ReplyPostHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			     ((u8 __force *)&ioc->chip->Doorbell +
+drivers/scsi/mpt3sas/mpt3sas_base.c:		    &ioc->chip->ReplyPostHostIndex;
+drivers/scsi/mpt3sas/mpt3sas_base.c:			((u8 __iomem *)&ioc->chip->Doorbell + (0x4000 + ((i - 1)
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_mpi_ep_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:				&ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:		_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:				&ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:		_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	s = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		int_status = ioc->base_readl(&ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		int_status = ioc->base_readl(&ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		int_status = ioc->base_readl(&ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			doorbell = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		doorbell_reg = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	    &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	if ((ioc->base_readl(&ioc->chip->Doorbell) & MPI2_DOORBELL_USED)) {
+drivers/scsi/mpt3sas/mpt3sas_base.c:	if (ioc->base_readl(&ioc->chip->HostInterruptStatus) &
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	    &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(cpu_to_le32(request[i]), &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	reply[0] = le16_to_cpu(ioc->base_readl(&ioc->chip->Doorbell)
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	reply[1] = le16_to_cpu(ioc->base_readl(&ioc->chip->Doorbell)
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			    ioc->base_readl(&ioc->chip->Doorbell)
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_FLUSH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_1ST_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_2ND_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_3RD_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_4TH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_5TH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_6TH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		host_diagnostic = ioc->base_readl(&ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	hcb_size = ioc->base_readl(&ioc->chip->HCBSize);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	     &ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		host_diagnostic = ioc->base_readl(&ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(host_diagnostic, &ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		    &ioc->chip->HCBSize);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	    &ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(MPI2_WRSEQ_FLUSH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(ioc->reply_free_host_index, &ioc->chip->ReplyFreeHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:				&ioc->chip->ReplyPostHostIndex);
+drivers/scsi/mvsas/mv_64xx.c:	if (mvi->chip->n_phy <= MVS_SOC_PORTS)
+drivers/scsi/mvsas/mv_64xx.c:		for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_64xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_64xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_64xx.c:	for (i = 0; i < mvi->chip->srs_sz; i++) {
+drivers/scsi/mvsas/mv_94xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_94xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_94xx.c:			port_id + mvi->id * mvi->chip->n_phy, i, id_frame[i]);
+drivers/scsi/mvsas/mv_chips.h:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_init.c:	sas_phy->enabled = (phy_id < mvi->chip->n_phy) ? 1 : 0;
+drivers/scsi/mvsas/mv_init.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_init.c:	((struct mvs_prv_info *)sha->lldd_ha)->n_phy = mvi->chip->n_phy;
+drivers/scsi/mvsas/mv_init.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_init.c:	} while (nhost < chip->n_host);
+drivers/scsi/mvsas/mv_sas.c:				phyno[n] = (j >= mvi->chip->n_phy) ?
+drivers/scsi/mvsas/mv_sas.c:					(j - mvi->chip->n_phy) : j;
+drivers/scsi/mvsas/mv_sas.c:	mv_dprintk("phy %d byte dmaded.\n", i + mvi->id * mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:		for (i = 0; i < mvi->chip->n_phy; ++i)
+drivers/scsi/mvsas/mv_sas.c:					i + mvi->id * mvi->chip->n_phy;
+drivers/scsi/mvsas/mv_sas.c:		i + mvi->id * mvi->chip->n_phy, phy->att_dev_info);
+drivers/scsi/mvsas/mv_sas.c:		i + mvi->id * mvi->chip->n_phy, phy->att_dev_sas_addr);
+drivers/scsi/mvsas/mv_sas.c:	if (i >= mvi->chip->n_phy)
+drivers/scsi/mvsas/mv_sas.c:		port = &mvi->port[i - mvi->chip->n_phy];
+drivers/scsi/mvsas/mv_sas.c:	for (phy_no = 0; phy_no < mvi->chip->n_phy; phy_no++) {
+drivers/scsi/mvsas/mv_sas.c:				phy_no+mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:	mv_dprintk("phy %d ctrl sts=0x%08X.\n", phy_no+mvi->id*mvi->chip->n_phy,
+drivers/scsi/mvsas/mv_sas.c:	mv_dprintk("phy %d irq sts = 0x%08X\n", phy_no+mvi->id*mvi->chip->n_phy,
+drivers/scsi/mvsas/mv_sas.c:		phy_no + mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:				phy_no + mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:			phy_no + mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.h:	((void *) mvi->rx_fis + mvi->chip->fis_offs + 0x100 * reg_set)
+drivers/scsi/mvsas/mv_sas.h:#define MVS_MAX_SG		(1U << mvi->chip->sg_width)
+drivers/scsi/mvsas/mv_sas.h:#define MVS_CHIP_SLOT_SZ	(1U << mvi->chip->slot_width)
+drivers/scsi/mvsas/mv_sas.h:	(mvi->chip->fis_offs + (mvi->chip->fis_count * 0x100))
+drivers/scsi/mvsas/mv_sas.h:#define MVS_CHIP_DISP		(mvi->chip->dispatch)
+drivers/scsi/pm8001/pm8001_init.c:	sas_phy->enabled = (phy_id < pm8001_ha->chip->n_phy) ? 1 : 0;
+drivers/scsi/pm8001/pm8001_init.c:				pm8001_ha->chip->n_phy));
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_sas.c:	for (i = 0; i < pm8001_ha->chip->n_phy; ++i)
+drivers/scsi/pm8001/pm8001_sas.h:#define PM8001_CHIP_DISP	(pm8001_ha->chip->dispatch)
+drivers/scsi/pm8001/pm80xx_hwi.c:	if (pm8001_ha->chip->encrypt) {
+drivers/scsi/pm8001/pm80xx_hwi.c:		for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm80xx_hwi.c:	if (pm8001_ha->chip->encrypt &&
+drivers/scsi/pm8001/pm80xx_hwi.c:	if (pm8001_ha->chip->encrypt &&
+drivers/scsi/pm8001/pm80xx_hwi.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pmcraid.c:	/* Initialize chip-specific details */
+drivers/scsi/qla2xxx/qla_os.c:						 * Escalate to chip-reset
+drivers/scsi/sym53c8xx_2/sym_fw.c:	if (chip->features & FE_LDSTR)
+drivers/scsi/sym53c8xx_2/sym_fw.c:	else if (!(chip->features & (FE_PFEN|FE_NOPM|FE_DAC)))
+drivers/scsi/sym53c8xx_2/sym_glue.c:		chip->features	|= (FE_WRIE | FE_CLSE);
+drivers/scsi/sym53c8xx_2/sym_glue.c:	if (chip->features & FE_WRIE) {
+drivers/scsi/sym53c8xx_2/sym_glue.c:	if (chip->features & FE_66MHZ) {
+drivers/scsi/sym53c8xx_2/sym_glue.c:			chip->features &= ~FE_66MHZ;
+drivers/scsi/sym53c8xx_2/sym_glue.c:	if (!(chip->features & FE_66MHZ) && (status_reg & PCI_STATUS_66MHZ)) {
+drivers/scsi/sym53c8xx_2/sym_hipd.c:		if (device_id != chip->device_id)
+drivers/scsi/sym53c8xx_2/sym_hipd.c:		if (revision > chip->revision_id)
+drivers/scsi/sym53c8xx_2/sym_hipd.c:	 *  regardless revision id (kind of post-chip-design feature. ;-))
+drivers/sh/intc/core.c:				chip->irq_enable(data);
+drivers/sh/intc/core.c:				chip->irq_disable(data);
+drivers/sh/intc/core.c:				chip->irq_enable(data);
+drivers/sh/intc/virq.c:	chip->irq_mask_ack(data);
+drivers/sh/intc/virq.c:	chip->irq_unmask(data);
+drivers/soc/amlogic/meson-gx-socinfo.c:	/* check if chip-id is available */
+drivers/soc/amlogic/meson-gx-socinfo.c:	if (!of_property_read_bool(np, "amlogic,has-chip-id")) {
+drivers/soc/rockchip/pm_domains.c:		.name   = "rockchip-pm-domain",
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_request_resources = irq_chip_request_resources_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_release_resources = irq_chip_release_resources_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_compose_msi_msg = ti_sci_inta_msi_compose_msi_msg;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_write_msi_msg = ti_sci_inta_msi_write_msg;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_set_type = irq_chip_set_type_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_unmask = irq_chip_unmask_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_mask = irq_chip_mask_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_ack = irq_chip_ack_parent;
+drivers/spi/atmel-quadspi.c:		/* Release the chip-select */
+drivers/spi/spi-armada-3700.c:	/* Disable AUTO_CS and deactivate all chip-selects */
+drivers/spi/spi-bcm2835.c:	return !strcmp(chip->label, data);
+drivers/spi/spi-bcm2835.c:			"setup: only two native chip-selects are supported\n");
+drivers/spi/spi-bcm2835aux.c:	 * * multiple chip-selects: cs0-cs2 are all
+drivers/spi/spi-bcm2835aux.c:	 * * multiple chip-selects: cs0-cs2 are all simultaniously asserted
+drivers/spi/spi-dw.c:	if (chip && chip->cs_control)
+drivers/spi/spi-dw.c:		chip->cs_control(!enable);
+drivers/spi/spi-dw.c:		if (transfer->speed_hz != chip->speed_hz) {
+drivers/spi/spi-dw.c:			chip->clk_div = (DIV_ROUND_UP(dws->max_freq, transfer->speed_hz) + 1) & 0xfffe;
+drivers/spi/spi-dw.c:			chip->speed_hz = transfer->speed_hz;
+drivers/spi/spi-dw.c:		spi_set_clk(dws, chip->clk_div);
+drivers/spi/spi-dw.c:		| (chip->type << SPI_FRF_OFFSET)
+drivers/spi/spi-dw.c:		| (chip->tmode << SPI_TMOD_OFFSET);
+drivers/spi/spi-dw.c:	if (chip->cs_control) {
+drivers/spi/spi-dw.c:			chip->tmode = SPI_TMOD_TR;
+drivers/spi/spi-dw.c:			chip->tmode = SPI_TMOD_RO;
+drivers/spi/spi-dw.c:			chip->tmode = SPI_TMOD_TO;
+drivers/spi/spi-dw.c:		cr0 |= (chip->tmode << SPI_TMOD_OFFSET);
+drivers/spi/spi-dw.c:	} else if (!chip->poll_mode) {
+drivers/spi/spi-dw.c:	if (chip->poll_mode)
+drivers/spi/spi-dw.c:			chip->cs_control = chip_info->cs_control;
+drivers/spi/spi-dw.c:		chip->poll_mode = chip_info->poll_mode;
+drivers/spi/spi-dw.c:		chip->type = chip_info->type;
+drivers/spi/spi-dw.c:	chip->tmode = SPI_TMOD_TR;
+drivers/spi/spi-fsl-dspi.c:		if (dspi->cur_chip->ctar_val & SPI_CTAR_LSBFE) {
+drivers/spi/spi-fsl-dspi.c:		dspi->void_write_data = dspi->cur_chip->void_write_data;
+drivers/spi/spi-fsl-dspi.c:			     dspi->cur_chip->ctar_val |
+drivers/spi/spi-fsl-dspi.c:	chip->void_write_data = 0;
+drivers/spi/spi-fsl-dspi.c:	chip->ctar_val = 0;
+drivers/spi/spi-fsl-dspi.c:		chip->ctar_val |= SPI_CTAR_CPOL;
+drivers/spi/spi-fsl-dspi.c:		chip->ctar_val |= SPI_CTAR_CPHA;
+drivers/spi/spi-fsl-dspi.c:		chip->ctar_val |= SPI_CTAR_PCSSCK(pcssck) |
+drivers/spi/spi-fsl-dspi.c:			chip->ctar_val |= SPI_CTAR_LSBFE;
+drivers/spi/spi-mxs.c:	 * toggle the chip-select lines (nCS pins).
+drivers/spi/spi-npcm-fiu.c:	void __iomem *src = (void __iomem *)(chip->flash_region_mapped_ptr +
+drivers/spi/spi-npcm-fiu.c:	void __iomem *dst = (void __iomem *)(chip->flash_region_mapped_ptr +
+drivers/spi/spi-npcm-fiu.c:	if (fiu->clkrate != chip->clkrate) {
+drivers/spi/spi-npcm-fiu.c:		ret = clk_set_rate(fiu->clk, chip->clkrate);
+drivers/spi/spi-npcm-fiu.c:				 chip->clkrate, fiu->clkrate);
+drivers/spi/spi-npcm-fiu.c:			fiu->clkrate = chip->clkrate;
+drivers/spi/spi-npcm-fiu.c:	if (!chip->flash_region_mapped_ptr) {
+drivers/spi/spi-npcm-fiu.c:		chip->flash_region_mapped_ptr =
+drivers/spi/spi-npcm-fiu.c:		if (!chip->flash_region_mapped_ptr) {
+drivers/spi/spi-npcm-fiu.c:	chip->fiu = fiu;
+drivers/spi/spi-npcm-fiu.c:	chip->chipselect = spi->chip_select;
+drivers/spi/spi-npcm-fiu.c:	chip->clkrate = spi->max_speed_hz;
+drivers/spi/spi-nxp-fspi.c: * chip-select Flash configuration register.
+drivers/spi/spi-orion.c:		/* Get chip-select number from the "reg" property */
+drivers/spi/spi-pic32-sqi.c:	 * can be handled at best during spi chip-select switch.
+drivers/spi/spi-pic32.c:	master->num_chipselect	= 1; /* single chip-select */
+drivers/spi/spi-pl022.c:		pl022->cur_chip->cs_control(command);
+drivers/spi/spi-pl022.c:		writel(chip->cr0, SSP_CR0(pl022->virtbase));
+drivers/spi/spi-pl022.c:		writew(chip->cr0, SSP_CR0(pl022->virtbase));
+drivers/spi/spi-pl022.c:	writew(chip->cr1, SSP_CR1(pl022->virtbase));
+drivers/spi/spi-pl022.c:	writew(chip->dmacr, SSP_DMACR(pl022->virtbase));
+drivers/spi/spi-pl022.c:	writew(chip->cpsr, SSP_CPSR(pl022->virtbase));
+drivers/spi/spi-pl022.c:		pl022->rx += (pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:		pl022->tx += (pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:			pl022->rx += (pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:	residue = pl022->cur_transfer->len % pl022->cur_chip->n_bytes;
+drivers/spi/spi-pl022.c:			pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:	    pl022->tx ? pl022->cur_chip->write : WRITING_NULL;
+drivers/spi/spi-pl022.c:	pl022->read = pl022->rx ? pl022->cur_chip->read : READING_NULL;
+drivers/spi/spi-pl022.c:	if (pl022->cur_chip->enable_dma) {
+drivers/spi/spi-pl022.c:	if (pl022->cur_chip->enable_dma) {
+drivers/spi/spi-pl022.c:	if (pl022->cur_chip->xfer_type == POLLING_TRANSFER)
+drivers/spi/spi-pl022.c:	chip->xfer_type = chip_info->com_mode;
+drivers/spi/spi-pl022.c:		chip->cs_control = null_cs_control;
+drivers/spi/spi-pl022.c:		chip->cs_control = chip_info->cs_control;
+drivers/spi/spi-pl022.c:		chip->n_bytes = 1;
+drivers/spi/spi-pl022.c:		chip->read = READING_U8;
+drivers/spi/spi-pl022.c:		chip->write = WRITING_U8;
+drivers/spi/spi-pl022.c:		chip->n_bytes = 2;
+drivers/spi/spi-pl022.c:		chip->read = READING_U16;
+drivers/spi/spi-pl022.c:		chip->write = WRITING_U16;
+drivers/spi/spi-pl022.c:		chip->n_bytes = 4;
+drivers/spi/spi-pl022.c:		chip->read = READING_U32;
+drivers/spi/spi-pl022.c:		chip->write = WRITING_U32;
+drivers/spi/spi-pl022.c:	chip->cr0 = 0;
+drivers/spi/spi-pl022.c:	chip->cr1 = 0;
+drivers/spi/spi-pl022.c:	chip->dmacr = 0;
+drivers/spi/spi-pl022.c:	chip->cpsr = 0;
+drivers/spi/spi-pl022.c:		chip->enable_dma = true;
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_ENABLED,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_ENABLED,
+drivers/spi/spi-pl022.c:		chip->enable_dma = false;
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_DISABLED,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_DISABLED,
+drivers/spi/spi-pl022.c:	chip->cpsr = clk_freq.cpsdvsr;
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr1, chip_info->clkdelay,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr0, chip_info->duplex,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr0, chip_info->ctrl_len,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr0, chip_info->iface,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr1, chip_info->wait_state,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr0, bits - 1,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, tmp, SSP_CR1_MASK_RENDN_ST, 4);
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, etx, SSP_CR1_MASK_TENDN_ST, 5);
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, chip_info->rx_lev_trig,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, chip_info->tx_lev_trig,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr0, bits - 1,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr0, chip_info->iface,
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr0, tmp, SSP_CR0_MASK_SPO, 6);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr0, tmp, SSP_CR0_MASK_SPH, 7);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr0, clk_freq.scr, SSP_CR0_MASK_SCR, 8);
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, tmp, SSP_CR1_MASK_LBM, 0);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr1, SSP_DISABLED, SSP_CR1_MASK_SSE, 1);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr1, chip_info->hierarchy, SSP_CR1_MASK_MS, 2);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr1, chip_info->slave_tx_disable, SSP_CR1_MASK_SOD,
+drivers/spi/spi-ppc4xx.c:	 * A count of zero implies a single SPI device without any chip-select.
+drivers/spi/spi-pxa2xx-dma.c:		cfg.dst_maxburst = chip->dma_burst_size;
+drivers/spi/spi-pxa2xx-dma.c:		cfg.src_maxburst = chip->dma_burst_size;
+drivers/spi/spi-pxa2xx.c:		pxa2xx_spi_write(drv_data, SSSR, chip->frm);
+drivers/spi/spi-pxa2xx.c:	if (chip->cs_control) {
+drivers/spi/spi-pxa2xx.c:		chip->cs_control(PXA2XX_CS_ASSERT);
+drivers/spi/spi-pxa2xx.c:	if (chip->gpiod_cs) {
+drivers/spi/spi-pxa2xx.c:		gpiod_set_value(chip->gpiod_cs, chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:	if (chip->cs_control) {
+drivers/spi/spi-pxa2xx.c:		chip->cs_control(PXA2XX_CS_DEASSERT);
+drivers/spi/spi-pxa2xx.c:	if (chip->gpiod_cs) {
+drivers/spi/spi-pxa2xx.c:		gpiod_set_value(chip->gpiod_cs, !chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:	sccr1_reg |= chip->threshold;
+drivers/spi/spi-pxa2xx.c:		clk_div = quark_x1000_get_clk_div(rate, &chip->dds_rate);
+drivers/spi/spi-pxa2xx.c:	return chip->enable_dma &&
+drivers/spi/spi-pxa2xx.c:	       xfer->len >= chip->dma_burst_size;
+drivers/spi/spi-pxa2xx.c:	u32 dma_thresh = chip->dma_threshold;
+drivers/spi/spi-pxa2xx.c:	u32 dma_burst = chip->dma_burst_size;
+drivers/spi/spi-pxa2xx.c:	if (transfer->len > MAX_DMA_LEN && chip->enable_dma) {
+drivers/spi/spi-pxa2xx.c:	drv_data->n_bytes = chip->n_bytes;
+drivers/spi/spi-pxa2xx.c:	drv_data->write = drv_data->tx ? chip->write : null_writer;
+drivers/spi/spi-pxa2xx.c:	drv_data->read = drv_data->rx ? chip->read : null_reader;
+drivers/spi/spi-pxa2xx.c:	if (chip->enable_dma) {
+drivers/spi/spi-pxa2xx.c:		cr1 = chip->cr1 | dma_thresh | drv_data->dma_cr1;
+drivers/spi/spi-pxa2xx.c:		cr1 = chip->cr1 | chip->threshold | drv_data->int_cr1;
+drivers/spi/spi-pxa2xx.c:		    != chip->lpss_rx_threshold)
+drivers/spi/spi-pxa2xx.c:					 chip->lpss_rx_threshold);
+drivers/spi/spi-pxa2xx.c:		    != chip->lpss_tx_threshold)
+drivers/spi/spi-pxa2xx.c:					 chip->lpss_tx_threshold);
+drivers/spi/spi-pxa2xx.c:	    (pxa2xx_spi_read(drv_data, DDS_RATE) != chip->dds_rate))
+drivers/spi/spi-pxa2xx.c:		pxa2xx_spi_write(drv_data, DDS_RATE, chip->dds_rate);
+drivers/spi/spi-pxa2xx.c:			pxa2xx_spi_write(drv_data, SSTO, chip->timeout);
+drivers/spi/spi-pxa2xx.c:			pxa2xx_spi_write(drv_data, SSTO, chip->timeout);
+drivers/spi/spi-pxa2xx.c:			chip->gpiod_cs = gpiod;
+drivers/spi/spi-pxa2xx.c:			chip->gpio_cs_inverted = spi->mode & SPI_CS_HIGH;
+drivers/spi/spi-pxa2xx.c:			gpiod_set_value(gpiod, chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:	if (chip->gpiod_cs) {
+drivers/spi/spi-pxa2xx.c:		gpiod_put(chip->gpiod_cs);
+drivers/spi/spi-pxa2xx.c:		chip->gpiod_cs = NULL;
+drivers/spi/spi-pxa2xx.c:		chip->cs_control = chip_info->cs_control;
+drivers/spi/spi-pxa2xx.c:		chip->gpiod_cs = gpiod;
+drivers/spi/spi-pxa2xx.c:		chip->gpio_cs_inverted = spi->mode & SPI_CS_HIGH;
+drivers/spi/spi-pxa2xx.c:		err = gpiod_direction_output(gpiod, !chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:			chip->frm = spi->chip_select;
+drivers/spi/spi-pxa2xx.c:		chip->enable_dma = drv_data->controller_info->enable_dma;
+drivers/spi/spi-pxa2xx.c:		chip->timeout = TIMOUT_DFLT;
+drivers/spi/spi-pxa2xx.c:	chip->cr1 = 0;
+drivers/spi/spi-pxa2xx.c:			chip->timeout = chip_info->timeout;
+drivers/spi/spi-pxa2xx.c:		chip->dma_threshold = 0;
+drivers/spi/spi-pxa2xx.c:			chip->cr1 = SSCR1_LBM;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SCFR;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SCLKDIR;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SFRMDIR;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SPH;
+drivers/spi/spi-pxa2xx.c:	chip->lpss_rx_threshold = SSIRF_RxThresh(rx_thres);
+drivers/spi/spi-pxa2xx.c:	chip->lpss_tx_threshold = SSITF_TxLoThresh(tx_thres)
+drivers/spi/spi-pxa2xx.c:	 * chip_info goes away after setting chip->enable_dma, the
+drivers/spi/spi-pxa2xx.c:	if (chip->enable_dma) {
+drivers/spi/spi-pxa2xx.c:						&chip->dma_burst_size,
+drivers/spi/spi-pxa2xx.c:						&chip->dma_threshold)) {
+drivers/spi/spi-pxa2xx.c:			chip->dma_burst_size);
+drivers/spi/spi-pxa2xx.c:		chip->threshold = (QUARK_X1000_SSCR1_RxTresh(rx_thres)
+drivers/spi/spi-pxa2xx.c:		chip->threshold = (CE4100_SSCR1_RxTresh(rx_thres) & CE4100_SSCR1_RFT) |
+drivers/spi/spi-pxa2xx.c:		chip->threshold = (SSCR1_RxTresh(rx_thres) & SSCR1_RFT) |
+drivers/spi/spi-pxa2xx.c:	chip->cr1 &= ~(SSCR1_SPO | SSCR1_SPH);
+drivers/spi/spi-pxa2xx.c:	chip->cr1 |= (((spi->mode & SPI_CPHA) != 0) ? SSCR1_SPH : 0)
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_LBM;
+drivers/spi/spi-pxa2xx.c:		chip->n_bytes = 1;
+drivers/spi/spi-pxa2xx.c:		chip->read = u8_reader;
+drivers/spi/spi-pxa2xx.c:		chip->write = u8_writer;
+drivers/spi/spi-pxa2xx.c:		chip->n_bytes = 2;
+drivers/spi/spi-pxa2xx.c:		chip->read = u16_reader;
+drivers/spi/spi-pxa2xx.c:		chip->write = u16_writer;
+drivers/spi/spi-pxa2xx.c:		chip->n_bytes = 4;
+drivers/spi/spi-pxa2xx.c:		chip->read = u32_reader;
+drivers/spi/spi-pxa2xx.c:		chip->write = u32_writer;
+drivers/spi/spi-pxa2xx.c:	    chip->gpiod_cs)
+drivers/spi/spi-pxa2xx.c:		gpiod_put(chip->gpiod_cs);
+drivers/spi/spi-rockchip.c:#define DRIVER_NAME "rockchip-spi"
+drivers/spi/spi-topcliff-pch.c:	data->n_curnt_chip = data->current_chip->chip_select;
+drivers/spi/spi.c:	/* NOTE:  caller did any chip->bus_num checks necessary.
+drivers/spi/spi.c:	WARN_ON(strlen(chip->modalias) >= sizeof(proxy->modalias));
+drivers/spi/spi.c:	proxy->chip_select = chip->chip_select;
+drivers/spi/spi.c:	proxy->max_speed_hz = chip->max_speed_hz;
+drivers/spi/spi.c:	proxy->mode = chip->mode;
+drivers/spi/spi.c:	proxy->irq = chip->irq;
+drivers/spi/spi.c:	strlcpy(proxy->modalias, chip->modalias, sizeof(proxy->modalias));
+drivers/spi/spi.c:	proxy->dev.platform_data = (void *) chip->platform_data;
+drivers/spi/spi.c:	proxy->controller_data = chip->controller_data;
+drivers/spi/spi.c:	if (chip->properties) {
+drivers/spi/spi.c:		status = device_add_properties(&proxy->dev, chip->properties);
+drivers/spi/spi.c:				chip->modalias, status);
+drivers/spi/spi.c:	if (chip->properties)
+drivers/ssb/driver_gpio.c:	bus->irq_domain = irq_domain_add_linear(NULL, chip->ngpio,
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	chip->label		= "ssb_chipco_gpio";
+drivers/ssb/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/ssb/driver_gpio.c:	chip->request		= ssb_gpio_chipco_request;
+drivers/ssb/driver_gpio.c:	chip->free		= ssb_gpio_chipco_free;
+drivers/ssb/driver_gpio.c:	chip->get		= ssb_gpio_chipco_get_value;
+drivers/ssb/driver_gpio.c:	chip->set		= ssb_gpio_chipco_set_value;
+drivers/ssb/driver_gpio.c:	chip->direction_input	= ssb_gpio_chipco_direction_input;
+drivers/ssb/driver_gpio.c:	chip->direction_output	= ssb_gpio_chipco_direction_output;
+drivers/ssb/driver_gpio.c:	chip->to_irq		= ssb_gpio_to_irq;
+drivers/ssb/driver_gpio.c:	chip->ngpio		= 16;
+drivers/ssb/driver_gpio.c:		chip->base		= 0;
+drivers/ssb/driver_gpio.c:		chip->base		= -1;
+drivers/ssb/driver_gpio.c:	bus->irq_domain = irq_domain_add_linear(NULL, chip->ngpio,
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	chip->label		= "ssb_extif_gpio";
+drivers/ssb/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/ssb/driver_gpio.c:	chip->get		= ssb_gpio_extif_get_value;
+drivers/ssb/driver_gpio.c:	chip->set		= ssb_gpio_extif_set_value;
+drivers/ssb/driver_gpio.c:	chip->direction_input	= ssb_gpio_extif_direction_input;
+drivers/ssb/driver_gpio.c:	chip->direction_output	= ssb_gpio_extif_direction_output;
+drivers/ssb/driver_gpio.c:	chip->to_irq		= ssb_gpio_to_irq;
+drivers/ssb/driver_gpio.c:	chip->ngpio		= 5;
+drivers/ssb/driver_gpio.c:		chip->base		= 0;
+drivers/ssb/driver_gpio.c:		chip->base		= -1;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:/* chip->spinlock is already locked */
+drivers/staging/comedi/drivers/pcmuio.c:	chip->enabled_mask = 0;
+drivers/staging/comedi/drivers/pcmuio.c:	chip->active = 0;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	if (!chip->active)
+drivers/staging/comedi/drivers/pcmuio.c:	if (!(triggered & chip->enabled_mask))
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:/* chip->spinlock is already locked */
+drivers/staging/comedi/drivers/pcmuio.c:	chip->enabled_mask = 0;
+drivers/staging/comedi/drivers/pcmuio.c:	chip->active = 1;
+drivers/staging/comedi/drivers/pcmuio.c:	chip->enabled_mask = bits;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	if (chip->active)
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	if (chip->active)
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	chip->active = 1;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:		spin_lock_init(&chip->pagelock);
+drivers/staging/comedi/drivers/pcmuio.c:		spin_lock_init(&chip->spinlock);
+drivers/staging/fieldbus/Documentation/devicetree/bindings/fieldbus/arcx,anybus-controller.txt:  - compatible : The following chip-specific string:
+drivers/staging/greybus/pwm.c:		dev_warn(chip->dev, "freeing PWM device without disabling\n");
+drivers/staging/iio/adc/ad7816.c:	struct spi_device *spi_dev = chip->spi_dev;
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:	ret = spi_write(spi_dev, &chip->channel_id, sizeof(chip->channel_id));
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	if (chip->mode == AD7816_PD) { /* operating mode 2 */
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 1);
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 0);
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 0);
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	if (chip->id == ID_AD7816 || chip->id == ID_AD7817) {
+drivers/staging/iio/adc/ad7816.c:		while (gpiod_get_value(chip->busy_pin))
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	struct spi_device *spi_dev = chip->spi_dev;
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:	if (chip->mode)
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:		chip->mode = AD7816_FULL;
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:		chip->mode = AD7816_PD;
+drivers/staging/iio/adc/ad7816.c:	return sprintf(buf, "%d\n", chip->channel_id);
+drivers/staging/iio/adc/ad7816.c:		dev_err(&chip->spi_dev->dev, "Invalid channel id %lu for %s.\n",
+drivers/staging/iio/adc/ad7816.c:		dev_err(&chip->spi_dev->dev,
+drivers/staging/iio/adc/ad7816.c:		dev_err(&chip->spi_dev->dev,
+drivers/staging/iio/adc/ad7816.c:	chip->channel_id = data;
+drivers/staging/iio/adc/ad7816.c:	if (chip->channel_id == 0) {
+drivers/staging/iio/adc/ad7816.c:	if (chip->channel_id > AD7816_CS_MAX) {
+drivers/staging/iio/adc/ad7816.c:		dev_err(dev, "Invalid oti channel id %d.\n", chip->channel_id);
+drivers/staging/iio/adc/ad7816.c:	} else if (chip->channel_id == 0) {
+drivers/staging/iio/adc/ad7816.c:			(chip->oti_data[chip->channel_id] -
+drivers/staging/iio/adc/ad7816.c:	return sprintf(buf, "%u\n", chip->oti_data[chip->channel_id]);
+drivers/staging/iio/adc/ad7816.c:	if (chip->channel_id > AD7816_CS_MAX) {
+drivers/staging/iio/adc/ad7816.c:		dev_err(dev, "Invalid oti channel id %d.\n", chip->channel_id);
+drivers/staging/iio/adc/ad7816.c:	} else if (chip->channel_id == 0) {
+drivers/staging/iio/adc/ad7816.c:	chip->oti_data[chip->channel_id] = data;
+drivers/staging/iio/adc/ad7816.c:	chip->spi_dev = spi_dev;
+drivers/staging/iio/adc/ad7816.c:		chip->oti_data[i] = 203;
+drivers/staging/iio/adc/ad7816.c:	chip->id = spi_get_device_id(spi_dev)->driver_data;
+drivers/staging/iio/adc/ad7816.c:	chip->rdwr_pin = devm_gpiod_get(&spi_dev->dev, "rdwr", GPIOD_OUT_HIGH);
+drivers/staging/iio/adc/ad7816.c:	if (IS_ERR(chip->rdwr_pin)) {
+drivers/staging/iio/adc/ad7816.c:		ret = PTR_ERR(chip->rdwr_pin);
+drivers/staging/iio/adc/ad7816.c:	chip->convert_pin = devm_gpiod_get(&spi_dev->dev, "convert",
+drivers/staging/iio/adc/ad7816.c:	if (IS_ERR(chip->convert_pin)) {
+drivers/staging/iio/adc/ad7816.c:		ret = PTR_ERR(chip->convert_pin);
+drivers/staging/iio/adc/ad7816.c:	if (chip->id == ID_AD7816 || chip->id == ID_AD7817) {
+drivers/staging/iio/adc/ad7816.c:		chip->busy_pin = devm_gpiod_get(&spi_dev->dev, "busy",
+drivers/staging/iio/adc/ad7816.c:		if (IS_ERR(chip->busy_pin)) {
+drivers/staging/iio/adc/ad7816.c:			ret = PTR_ERR(chip->busy_pin);
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7316_EN));
+drivers/staging/iio/addac/adt7316.c:		config1 = chip->config1 | ADT7316_EN;
+drivers/staging/iio/addac/adt7316.c:		config1 = chip->config1 & ~ADT7316_EN;
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7516_SEL_EX_TEMP));
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	config1 = chip->config1 & (~ADT7516_SEL_EX_TEMP);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	if (chip->config2 & ADT7316_AD_SINGLE_CH_MODE)
+drivers/staging/iio/addac/adt7316.c:	config2 = chip->config2 & (~ADT7316_AD_SINGLE_CH_MODE);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE))
+drivers/staging/iio/addac/adt7316.c:	switch (chip->config2 & ADT7516_AD_SINGLE_CH_MASK) {
+drivers/staging/iio/addac/adt7316.c:		if (((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) &&
+drivers/staging/iio/addac/adt7316.c:		    (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0)
+drivers/staging/iio/addac/adt7316.c:		if ((chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0)
+drivers/staging/iio/addac/adt7316.c:		if (chip->config1 & ADT7516_SEL_AIN3)
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE))
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) {
+drivers/staging/iio/addac/adt7316.c:		config2 = chip->config2 & (~ADT7516_AD_SINGLE_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:		config2 = chip->config2 & (~ADT7316_AD_SINGLE_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE))
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config2 & ADT7316_DISABLE_AVERAGING));
+drivers/staging/iio/addac/adt7316.c:	config2 = chip->config2 & (~ADT7316_DISABLE_AVERAGING);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config2 & ADT7316_EN_SMBUS_TIMEOUT));
+drivers/staging/iio/addac/adt7316.c:	config2 = chip->config2 & (~ADT7316_EN_SMBUS_TIMEOUT);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7316_PD));
+drivers/staging/iio/addac/adt7316.c:	config1 = chip->config1 & (~ADT7316_PD);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config3 & ADT7316_ADCLK_22_5));
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_ADCLK_22_5);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:	if (chip->config3 & ADT7316_DA_HIGH_RESOLUTION) {
+drivers/staging/iio/addac/adt7316.c:		if (chip->id != ID_ADT7318 && chip->id != ID_ADT7519)
+drivers/staging/iio/addac/adt7316.c:	if (chip->id == ID_ADT7318 || chip->id == ID_ADT7519)
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_DA_HIGH_RESOLUTION);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config3 & ADT7516_AIN_IN_VREF));
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		config3 = chip->config3 & (~ADT7516_AIN_IN_VREF);
+drivers/staging/iio/addac/adt7316.c:		config3 = chip->config3 | ADT7516_AIN_IN_VREF;
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA));
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_EN_IN_TEMP_PROP_DACA);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB));
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_EN_EX_TEMP_PROP_DACB);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:		chip->dac_config & ADT7316_DA_2VREF_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_DA_2VREF_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC))
+drivers/staging/iio/addac/adt7316.c:	switch (chip->dac_config & ADT7316_DA_EN_MODE_MASK) {
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC))
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_DA_EN_MODE_MASK);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:	if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC)
+drivers/staging/iio/addac/adt7316.c:	if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC) {
+drivers/staging/iio/addac/adt7316.c:		if ((chip->dac_config & ADT7316_DA_EN_MODE_MASK) !=
+drivers/staging/iio/addac/adt7316.c:		ldac_config = chip->ldac_config & (~ADT7316_LDAC_EN_DA_MASK);
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.write(chip->bus.client, ADT7316_LDAC_CONFIG,
+drivers/staging/iio/addac/adt7316.c:		gpiod_set_value(chip->ldac_pin, 0);
+drivers/staging/iio/addac/adt7316.c:		gpiod_set_value(chip->ldac_pin, 1);
+drivers/staging/iio/addac/adt7316.c:		!!(chip->dac_config & ADT7316_VREF_BYPASS_DAC_AB));
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_AB);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->dac_config & ADT7316_VREF_BYPASS_DAC_CD));
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_CD);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:			(chip->ldac_config & ADT7516_DAC_IN_VREF_MASK) >>
+drivers/staging/iio/addac/adt7316.c:		       !!(chip->ldac_config & ADT7316_DAC_IN_VREF));
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) {
+drivers/staging/iio/addac/adt7316.c:		ldac_config = chip->ldac_config & (~ADT7516_DAC_IN_VREF_MASK);
+drivers/staging/iio/addac/adt7316.c:		ldac_config = chip->ldac_config & (~ADT7316_DAC_IN_VREF);
+drivers/staging/iio/addac/adt7316.c:			ldac_config = chip->ldac_config | ADT7316_DAC_IN_VREF;
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_LDAC_CONFIG,
+drivers/staging/iio/addac/adt7316.c:	chip->ldac_config = ldac_config;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->config2 & ADT7316_AD_SINGLE_CH_MODE) &&
+drivers/staging/iio/addac/adt7316.c:	    channel != (chip->config2 & ADT7516_AD_SINGLE_CH_MASK))
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, offset_addr, &val);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, offset_addr, val);
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)) ||
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB)))
+drivers/staging/iio/addac/adt7316.c:	offset = chip->dac_bits - 8;
+drivers/staging/iio/addac/adt7316.c:	if (chip->dac_bits > 8) {
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	if (chip->dac_bits == 12)
+drivers/staging/iio/addac/adt7316.c:	else if (chip->dac_bits == 10)
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)) ||
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB)))
+drivers/staging/iio/addac/adt7316.c:	offset = chip->dac_bits - 8;
+drivers/staging/iio/addac/adt7316.c:	if (ret || data >= (1 << chip->dac_bits))
+drivers/staging/iio/addac/adt7316.c:	if (chip->dac_bits > 8) {
+drivers/staging/iio/addac/adt7316.c:		if (chip->dac_bits == 12)
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.write(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_DEVICE_ID, &id);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_MANUFACTURE_ID, &id);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_DEVICE_REV, &rev);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_SPI_LOCK_STAT, &stat);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_INT_STAT1, &stat1);
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_INT_STAT2, &stat2);
+drivers/staging/iio/addac/adt7316.c:	irq_type = irqd_get_trigger_type(irq_get_irq_data(chip->bus.irq));
+drivers/staging/iio/addac/adt7316.c:	ret = devm_request_threaded_irq(&indio_dev->dev, chip->bus.irq,
+drivers/staging/iio/addac/adt7316.c:			chip->bus.irq);
+drivers/staging/iio/addac/adt7316.c:		chip->config1 |= ADT7316_INT_POLARITY;
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "0x%x\n", chip->int_mask);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK2, mask);
+drivers/staging/iio/addac/adt7316.c:		chip->int_mask &= ~ADT7316_VDD_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:		chip->int_mask |= data & ADT7316_VDD_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX)
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK1, mask);
+drivers/staging/iio/addac/adt7316.c:	chip->int_mask = mask;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX &&
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, this_attr->address, &val);
+drivers/staging/iio/addac/adt7316.c:	if (!((chip->id & ID_FAMILY_MASK) == ID_ADT75XX &&
+drivers/staging/iio/addac/adt7316.c:	      (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0)) {
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX &&
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX &&
+drivers/staging/iio/addac/adt7316.c:	    (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0) {
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, this_attr->address, val);
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7316_INT_EN));
+drivers/staging/iio/addac/adt7316.c:	config1 = chip->config1 & (~ADT7316_INT_EN);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	chip->bus = *bus;
+drivers/staging/iio/addac/adt7316.c:		chip->id = ID_ADT7316 + (name[6] - '6');
+drivers/staging/iio/addac/adt7316.c:		chip->id = ID_ADT7516 + (name[6] - '6');
+drivers/staging/iio/addac/adt7316.c:	if (chip->id == ID_ADT7316 || chip->id == ID_ADT7516)
+drivers/staging/iio/addac/adt7316.c:		chip->dac_bits = 12;
+drivers/staging/iio/addac/adt7316.c:	else if (chip->id == ID_ADT7317 || chip->id == ID_ADT7517)
+drivers/staging/iio/addac/adt7316.c:		chip->dac_bits = 10;
+drivers/staging/iio/addac/adt7316.c:		chip->dac_bits = 8;
+drivers/staging/iio/addac/adt7316.c:	chip->ldac_pin = devm_gpiod_get_optional(dev, "adi,ldac",
+drivers/staging/iio/addac/adt7316.c:	if (IS_ERR(chip->ldac_pin)) {
+drivers/staging/iio/addac/adt7316.c:		ret = PTR_ERR(chip->ldac_pin);
+drivers/staging/iio/addac/adt7316.c:	if (!chip->ldac_pin) {
+drivers/staging/iio/addac/adt7316.c:		chip->config3 |= ADT7316_DA_EN_VIA_DAC_LDAC;
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:			chip->config1 |= ADT7516_SEL_AIN3;
+drivers/staging/iio/addac/adt7316.c:	chip->int_mask = ADT7316_TEMP_INT_MASK | ADT7316_VDD_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		chip->int_mask |= ADT7516_AIN_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	if (chip->bus.irq > 0) {
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, chip->config1);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, chip->config3);
+drivers/staging/iio/cdc/ad7150.c:		ret = i2c_smbus_read_word_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:		ret = i2c_smbus_read_word_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_read_byte_data(chip->client, AD7150_CFG);
+drivers/staging/iio/cdc/ad7150.c:	if (event_code != chip->current_event)
+drivers/staging/iio/cdc/ad7150.c:		value = chip->threshold[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		return i2c_smbus_write_word_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:		sens = chip->mag_sensitivity[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		timeout = chip->mag_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		sens = chip->thresh_sensitivity[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		timeout = chip->thresh_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:	if (event_code == chip->current_event)
+drivers/staging/iio/cdc/ad7150.c:	mutex_lock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_read_byte_data(chip->client, AD7150_CFG);
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_write_byte_data(chip->client, AD7150_CFG, cfg);
+drivers/staging/iio/cdc/ad7150.c:	chip->current_event = event_code;
+drivers/staging/iio/cdc/ad7150.c:	mutex_unlock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		*val = chip->mag_sensitivity[rising][chan->channel];
+drivers/staging/iio/cdc/ad7150.c:		*val = chip->thresh_sensitivity[rising][chan->channel];
+drivers/staging/iio/cdc/ad7150.c:		*val = chip->threshold[rising][chan->channel];
+drivers/staging/iio/cdc/ad7150.c:	mutex_lock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		chip->mag_sensitivity[rising][chan->channel] = val;
+drivers/staging/iio/cdc/ad7150.c:		chip->thresh_sensitivity[rising][chan->channel] = val;
+drivers/staging/iio/cdc/ad7150.c:		chip->threshold[rising][chan->channel] = val;
+drivers/staging/iio/cdc/ad7150.c:	mutex_unlock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		value = chip->mag_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		value = chip->thresh_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:	mutex_lock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		chip->mag_timeout[rising][chan] = data;
+drivers/staging/iio/cdc/ad7150.c:		chip->thresh_timeout[rising][chan] = data;
+drivers/staging/iio/cdc/ad7150.c:	mutex_unlock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_read_byte_data(chip->client, AD7150_STATUS);
+drivers/staging/iio/cdc/ad7150.c:	    !(chip->old_state & AD7150_STATUS_OUT1))
+drivers/staging/iio/cdc/ad7150.c:		 (chip->old_state & AD7150_STATUS_OUT1))
+drivers/staging/iio/cdc/ad7150.c:	    !(chip->old_state & AD7150_STATUS_OUT2))
+drivers/staging/iio/cdc/ad7150.c:		 (chip->old_state & AD7150_STATUS_OUT2))
+drivers/staging/iio/cdc/ad7150.c:	chip->old_state = int_status;
+drivers/staging/iio/cdc/ad7150.c:	mutex_init(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:	chip->client = client;
+drivers/staging/iio/cdc/ad7746.c:		vt_setup = chip->vt_setup & ~AD7746_VTSETUP_VTEN;
+drivers/staging/iio/cdc/ad7746.c:		idx = (chip->config & AD7746_CONF_CAPFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:		if (chip->capdac_set != chan->channel) {
+drivers/staging/iio/cdc/ad7746.c:			ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:				chip->capdac[chan->channel][0]);
+drivers/staging/iio/cdc/ad7746.c:			ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:				chip->capdac[chan->channel][1]);
+drivers/staging/iio/cdc/ad7746.c:			chip->capdac_set = chan->channel;
+drivers/staging/iio/cdc/ad7746.c:		cap_setup = chip->cap_setup & ~AD7746_CAPSETUP_CAPEN;
+drivers/staging/iio/cdc/ad7746.c:		idx = (chip->config & AD7746_CONF_VTFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:	if (chip->cap_setup != cap_setup) {
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		chip->cap_setup = cap_setup;
+drivers/staging/iio/cdc/ad7746.c:	if (chip->vt_setup != vt_setup) {
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		chip->vt_setup = vt_setup;
+drivers/staging/iio/cdc/ad7746.c:	mutex_lock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	regval |= chip->config;
+drivers/staging/iio/cdc/ad7746.c:	ret = i2c_smbus_write_byte_data(chip->client, AD7746_REG_CFG, regval);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_byte_data(chip->client, AD7746_REG_CFG);
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	chip->config &= ~AD7746_CONF_CAPFS_MASK;
+drivers/staging/iio/cdc/ad7746.c:	chip->config |= i << AD7746_CONF_CAPFS_SHIFT;
+drivers/staging/iio/cdc/ad7746.c:	chip->config &= ~AD7746_CONF_VTFS_MASK;
+drivers/staging/iio/cdc/ad7746.c:	chip->config |= i << AD7746_CONF_VTFS_SHIFT;
+drivers/staging/iio/cdc/ad7746.c:	mutex_lock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_word_swapped(chip->client, reg, val);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_word_swapped(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		chip->capdac[chan->channel][chan->differential] = val > 0 ?
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:						chip->capdac[chan->channel][0]);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:						chip->capdac[chan->channel][1]);
+drivers/staging/iio/cdc/ad7746.c:		chip->capdac_set = chan->channel;
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	mutex_lock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:		regval = chip->config | AD7746_CONF_MODE_SINGLE_CONV;
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client, AD7746_REG_CFG,
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_i2c_block_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:						    &chip->data.d8[1]);
+drivers/staging/iio/cdc/ad7746.c:		*val = (be32_to_cpu(chip->data.d32) & 0xFFFFFF) - 0x800000;
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_word_swapped(chip->client, reg);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		*val = AD7746_CAPDAC_DACP(chip->capdac[chan->channel]
+drivers/staging/iio/cdc/ad7746.c:			idx = (chip->config & AD7746_CONF_CAPFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:			idx = (chip->config & AD7746_CONF_VTFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	mutex_init(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	chip->client = client;
+drivers/staging/iio/cdc/ad7746.c:	chip->capdac_set = -1;
+drivers/staging/iio/cdc/ad7746.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:				    use_sg, dir, chip->mspro_timeout);
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:		if (chip->asic_code)
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->asic_ms_hg_clk;
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->fpga_ms_hg_clk;
+drivers/staging/rts5208/ms.c:		if (chip->asic_code)
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->asic_ms_4bit_clk;
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->fpga_ms_4bit_clk;
+drivers/staging/rts5208/ms.c:		if (chip->asic_code)
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->asic_ms_1bit_clk;
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->fpga_ms_1bit_clk;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/ms.c:		if (chip->ocp_stat & oc_mask) {
+drivers/staging/rts5208/ms.c:				chip->ocp_stat);
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:			chip->card_wp &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= (MS_CARD);
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (CHK_MSHG(ms_card) && chip->support_ms_8bit && switch_8bit_bus) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->capacity[chip->card2lun[MS_CARD]] =
+drivers/staging/rts5208/ms.c:		chip->capacity[chip->card2lun[MS_CARD]] =
+drivers/staging/rts5208/ms.c:	chip->capacity[chip->card2lun[MS_CARD]] = ms_card->capacity;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (chip->ms_power_class_en & 0x02)
+drivers/staging/rts5208/ms.c:	else if (chip->ms_power_class_en & 0x01)
+drivers/staging/rts5208/ms.c:		u8 power_class_en = chip->ms_power_class_en;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 8;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 4;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:		chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->card_wp &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:	chip->capacity[chip->card2lun[MS_CARD]] = ms_card->capacity;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 4;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 1;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:				if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:	if (chip->card_wp & MS_CARD)
+drivers/staging/rts5208/ms.c:				chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:					chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:					chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:				if (chip->card_wp & MS_CARD)
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->rw_need_retry = 0;
+drivers/staging/rts5208/ms.c:			chip->rw_need_retry = 1;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:					if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:						    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/ms.c:						    chip->ms_timeout);
+drivers/staging/rts5208/ms.c:		if (scsi_sg_count(chip->srb) == 0)
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:						    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/ms.c:						    chip->ms_timeout);
+drivers/staging/rts5208/ms.c:		if (scsi_sg_count(chip->srb) == 0)
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/ms.c:				chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	chip->card_ready &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:	chip->card_fail &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:	chip->card_wp &= ~MS_CARD;
+drivers/staging/rts5208/rtsx.c:	if (chip->srb) {
+drivers/staging/rts5208/rtsx.c:		dev_err(&dev->pci->dev, "Error: chip->srb = %p\n",
+drivers/staging/rts5208/rtsx.c:			chip->srb);
+drivers/staging/rts5208/rtsx.c:	chip->srb = srb;
+drivers/staging/rts5208/rtsx.c:	if (chip->srb != srb) {
+drivers/staging/rts5208/rtsx.c:	dev_info(&dev->pci->dev, "%s: chip->msi_en = %d, pci->irq = %d\n",
+drivers/staging/rts5208/rtsx.c:		 __func__, chip->msi_en, dev->pci->irq);
+drivers/staging/rts5208/rtsx.c:			chip->msi_en ? 0 : IRQF_SHARED,
+drivers/staging/rts5208/rtsx.c:	pci_intx(dev->pci, !chip->msi_en);
+drivers/staging/rts5208/rtsx.c:	if (chip->msi_en)
+drivers/staging/rts5208/rtsx.c:	if (chip->msi_en) {
+drivers/staging/rts5208/rtsx.c:			chip->msi_en = 0;
+drivers/staging/rts5208/rtsx.c:	if (chip->msi_en)
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_ABORT << 16;
+drivers/staging/rts5208/rtsx.c:		if (chip->srb->sc_data_direction == DMA_BIDIRECTIONAL) {
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_ERROR << 16;
+drivers/staging/rts5208/rtsx.c:		else if (chip->srb->device->id) {
+drivers/staging/rts5208/rtsx.c:				chip->srb->device->id,
+drivers/staging/rts5208/rtsx.c:				(u8)chip->srb->device->lun);
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_BAD_TARGET << 16;
+drivers/staging/rts5208/rtsx.c:		else if (chip->srb->device->lun > chip->max_lun) {
+drivers/staging/rts5208/rtsx.c:				chip->srb->device->id,
+drivers/staging/rts5208/rtsx.c:				(u8)chip->srb->device->lun);
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_BAD_TARGET << 16;
+drivers/staging/rts5208/rtsx.c:			rtsx_invoke_transport(chip->srb, chip);
+drivers/staging/rts5208/rtsx.c:		if (!chip->srb)
+drivers/staging/rts5208/rtsx.c:		else if (chip->srb->result != DID_ABORT << 16) {
+drivers/staging/rts5208/rtsx.c:			chip->srb->scsi_done(chip->srb);
+drivers/staging/rts5208/rtsx.c:		chip->srb = NULL;
+drivers/staging/rts5208/rtsx.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx.c:		if (chip->int_reg == 0xFFFFFFFF)
+drivers/staging/rts5208/rtsx.c:	status = chip->int_reg;
+drivers/staging/rts5208/rtsx.c:		dev->chip->host_cmds_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:		dev->chip->host_sg_tbl_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:	if (dev->chip->msi_en)
+drivers/staging/rts5208/rtsx.c:	if (chip->srb) {
+drivers/staging/rts5208/rtsx.c:		chip->srb->result = DID_NO_CONNECT << 16;
+drivers/staging/rts5208/rtsx.c:		chip->srb->scsi_done(dev->chip->srb);
+drivers/staging/rts5208/rtsx.c:		chip->srb = NULL;
+drivers/staging/rts5208/rtsx.c:	chip->vendor_id = chip->rtsx->pci->vendor;
+drivers/staging/rts5208/rtsx.c:	chip->product_id = chip->rtsx->pci->device;
+drivers/staging/rts5208/rtsx.c:	chip->adma_mode = 1;
+drivers/staging/rts5208/rtsx.c:	chip->lun_mc = 0;
+drivers/staging/rts5208/rtsx.c:	chip->driver_first_load = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sdio_in_charge = 0;
+drivers/staging/rts5208/rtsx.c:	chip->mspro_formatter_enable = 1;
+drivers/staging/rts5208/rtsx.c:	chip->ignore_sd = 0;
+drivers/staging/rts5208/rtsx.c:	chip->use_hw_setting = 0;
+drivers/staging/rts5208/rtsx.c:	chip->lun_mode = DEFAULT_SINGLE;
+drivers/staging/rts5208/rtsx.c:	chip->auto_delink_en = auto_delink_en;
+drivers/staging/rts5208/rtsx.c:	chip->ss_en = ss_en;
+drivers/staging/rts5208/rtsx.c:	chip->ss_idle_period = ss_interval * 1000;
+drivers/staging/rts5208/rtsx.c:	chip->remote_wakeup_en = 0;
+drivers/staging/rts5208/rtsx.c:	chip->aspm_l0s_l1_en = aspm_l0s_l1_en;
+drivers/staging/rts5208/rtsx.c:	chip->dynamic_aspm = 1;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_sdr104_clk = CLK_200;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_ddr50_clk = CLK_100;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_sdr50_clk = CLK_100;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_hs_clk = CLK_100;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_mmc_52m_clk = CLK_80;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_ms_hg_clk = CLK_80;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_ms_4bit_clk = CLK_80;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_ms_1bit_clk = CLK_40;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_sdr104_clk = 203;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_sdr50_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_ddr50_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_hs_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_mmc_52m_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_ms_hg_clk = 117;
+drivers/staging/rts5208/rtsx.c:	chip->asic_ms_4bit_clk = 78;
+drivers/staging/rts5208/rtsx.c:	chip->asic_ms_1bit_clk = 39;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_sdr104 = SSC_DEPTH_2M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_sdr50 = SSC_DEPTH_2M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_ddr50 = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_hs = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_mmc_52m = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_ms_hg = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_ms_4bit = SSC_DEPTH_512K;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_low_speed = SSC_DEPTH_512K;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sd_speed_prior = 0x01040203;
+drivers/staging/rts5208/rtsx.c:	chip->sd_current_prior = 0x00010203;
+drivers/staging/rts5208/rtsx.c:	chip->sd_ctl = SD_PUSH_POINT_AUTO |
+drivers/staging/rts5208/rtsx.c:	chip->sd_ddr_tx_phase = 0;
+drivers/staging/rts5208/rtsx.c:	chip->mmc_ddr_tx_phase = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sd_default_tx_phase = 15;
+drivers/staging/rts5208/rtsx.c:	chip->sd_default_rx_phase = 15;
+drivers/staging/rts5208/rtsx.c:	chip->pmos_pwr_on_interval = 200;
+drivers/staging/rts5208/rtsx.c:	chip->sd_voltage_switch_delay = 1000;
+drivers/staging/rts5208/rtsx.c:	chip->ms_power_class_en = 3;
+drivers/staging/rts5208/rtsx.c:	chip->sd_400mA_ocp_thd = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sd_800mA_ocp_thd = 5;
+drivers/staging/rts5208/rtsx.c:	chip->ms_ocp_thd = 2;
+drivers/staging/rts5208/rtsx.c:	chip->card_drive_sel = 0x55;
+drivers/staging/rts5208/rtsx.c:	chip->sd30_drive_sel_1v8 = 0x03;
+drivers/staging/rts5208/rtsx.c:	chip->sd30_drive_sel_3v3 = 0x01;
+drivers/staging/rts5208/rtsx.c:	chip->do_delink_before_power_down = 1;
+drivers/staging/rts5208/rtsx.c:	chip->auto_power_down = 1;
+drivers/staging/rts5208/rtsx.c:	chip->polling_config = 0;
+drivers/staging/rts5208/rtsx.c:	chip->force_clkreq_0 = 1;
+drivers/staging/rts5208/rtsx.c:	chip->ft2_fast_mode = 0;
+drivers/staging/rts5208/rtsx.c:	chip->sdio_retry_cnt = 1;
+drivers/staging/rts5208/rtsx.c:	chip->xd_timeout = 2000;
+drivers/staging/rts5208/rtsx.c:	chip->sd_timeout = 10000;
+drivers/staging/rts5208/rtsx.c:	chip->ms_timeout = 2000;
+drivers/staging/rts5208/rtsx.c:	chip->mspro_timeout = 15000;
+drivers/staging/rts5208/rtsx.c:	chip->power_down_in_ss = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sdr104_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sdr50_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->ddr50_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->delink_stage1_step = 100;
+drivers/staging/rts5208/rtsx.c:	chip->delink_stage2_step = 40;
+drivers/staging/rts5208/rtsx.c:	chip->delink_stage3_step = 20;
+drivers/staging/rts5208/rtsx.c:	chip->auto_delink_in_L1 = 1;
+drivers/staging/rts5208/rtsx.c:	chip->blink_led = 1;
+drivers/staging/rts5208/rtsx.c:	chip->msi_en = msi_en;
+drivers/staging/rts5208/rtsx.c:	chip->hp_watch_bios_hotplug = 0;
+drivers/staging/rts5208/rtsx.c:	chip->max_payload = 0;
+drivers/staging/rts5208/rtsx.c:	chip->phy_voltage = 0;
+drivers/staging/rts5208/rtsx.c:	chip->support_ms_8bit = 1;
+drivers/staging/rts5208/rtsx.c:	chip->s3_pwr_off_delay = 1000;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_cmds_ptr = dev->rtsx_resv_buf;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_cmds_addr = dev->rtsx_resv_buf_addr;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_sg_tbl_ptr = dev->rtsx_resv_buf + HOST_CMDS_BUF_LEN;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_sg_tbl_addr = dev->rtsx_resv_buf_addr +
+drivers/staging/rts5208/rtsx.c:	dev->chip->rtsx = dev;
+drivers/staging/rts5208/rtsx.c:	if (dev->chip->msi_en) {
+drivers/staging/rts5208/rtsx.c:			dev->chip->msi_en = 0;
+drivers/staging/rts5208/rtsx.c:	host->max_lun = dev->chip->max_lun;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_cmds_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_sg_tbl_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:	if (dev->chip->msi_en)
+drivers/staging/rts5208/rtsx_card.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_card.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_card.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_int = 1;
+drivers/staging/rts5208/rtsx_card.c:	if ((memcmp(buf, chip->sdio_raw_data, 12) != 0) || (reg & 0x03)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->sdio_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sdio_idle = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->sdio_idle) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sdio_counter++;
+drivers/staging/rts5208/rtsx_card.c:			if (chip->sdio_counter >= SDIO_IDLE_COUNT) {
+drivers/staging/rts5208/rtsx_card.c:				chip->sdio_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:				chip->sdio_idle = 1;
+drivers/staging/rts5208/rtsx_card.c:	memcpy(chip->sdio_raw_data, buf, 12);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->sdio_idle) {
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->sdio_aspm) {
+drivers/staging/rts5208/rtsx_card.c:					    0x30 | (chip->aspm_level[1] << 2));
+drivers/staging/rts5208/rtsx_card.c:			chip->sdio_aspm = 1;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sdio_aspm) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sdio_aspm = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_reset_counter, chip->card2lun[SD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card2lun[SD_CARD] >= MAX_ALLOWED_LUN_CNT) {
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->rw_fail_cnt[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release & SD_CARD)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[SD_CARD]] = sd_rw;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sd_io || (chip->sd_reset_counter >= MAX_RESET_CNT)) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_reset_counter++;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[SD_CARD]] = NULL;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_int = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_reset_counter, chip->card2lun[XD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card2lun[XD_CARD] >= MAX_ALLOWED_LUN_CNT) {
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->rw_fail_cnt[chip->card2lun[XD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release & XD_CARD)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[XD_CARD]] = xd_rw;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->xd_reset_counter >= MAX_RESET_CNT) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_reset_counter++;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[chip->card2lun[XD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[XD_CARD]] = NULL;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_reset_counter, chip->card2lun[MS_CARD]);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card2lun[MS_CARD] >= MAX_ALLOWED_LUN_CNT) {
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->rw_fail_cnt[chip->card2lun[MS_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release & MS_CARD)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[MS_CARD]] = ms_rw;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->ms_reset_counter >= MAX_RESET_CNT) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_reset_counter++;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[chip->card2lun[MS_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[MS_CARD]] = NULL;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->chip_insert_with_sdio) {
+drivers/staging/rts5208/rtsx_card.c:			chip->chip_insert_with_sdio = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_io = 0;
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & SD_CARD) || chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & SD_CARD) || chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & SD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_card.c:	if (!chip->need_reset)
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->need_reset & SD_CARD) && chip->chip_insert_with_sdio)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->xd_show_cnt >= MAX_SHOW_CNT)
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_show_cnt++;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->card_exist & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sd_show_cnt >= MAX_SHOW_CNT) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_show_cnt++;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->ms_show_cnt >= MAX_SHOW_CNT)
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_show_cnt++;
+drivers/staging/rts5208/rtsx_card.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->int_reg & SD_EXIST) && (chip->need_reinit & SD_CARD)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->int_reg & XD_EXIST) && (chip->need_reinit & XD_CARD)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->int_reg & MS_EXIST) && (chip->need_reinit & MS_CARD)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:	chip->need_reinit = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_exist) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->card_exist & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			if (!(chip->int_reg & XD_EXIST))
+drivers/staging/rts5208/rtsx_card.c:		} else if (chip->card_exist & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			if (!(chip->int_reg & SD_EXIST))
+drivers/staging/rts5208/rtsx_card.c:		} else if (chip->card_exist & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			if (!(chip->int_reg & MS_EXIST))
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:		else if (chip->int_reg & SD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:		else if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_card.c:			chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & SD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & XD_CARD) &&
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & SD_CARD) &&
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & MS_CARD) &&
+drivers/staging/rts5208/rtsx_card.c:	card_cd_debounce(chip, &chip->need_reset, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release) {
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & XD_EXIST) {
+drivers/staging/rts5208/rtsx_card.c:				clear_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:				clear_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & SD_CARD) && !chip->sd_io)
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & XD_CARD))
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(XD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & MS_CARD))
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->need_release = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			(unsigned int)(chip->need_release));
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release) {
+drivers/staging/rts5208/rtsx_card.c:			if (chip->ocp_stat & (CARD_OC_NOW | CARD_OC_EVER))
+drivers/staging/rts5208/rtsx_card.c:			chip->ocp_stat = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_ejected &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			CLR_BIT(chip->lun_mc, chip->card2lun[SD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_fail_cnt[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(XD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_ejected &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_fail &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			CLR_BIT(chip->lun_mc, chip->card2lun[XD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_fail_cnt[chip->card2lun[XD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_ejected &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_fail &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:			CLR_BIT(chip->lun_mc, chip->card2lun[MS_CARD]);
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_fail_cnt[chip->card2lun[MS_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->card_exist = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist);
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->card_exist)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset) {
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->need_reset = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			(unsigned int)(chip->need_reset));
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reinit) {
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->need_reinit = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			(unsigned int)(chip->need_reinit));
+drivers/staging/rts5208/rtsx_card.c:	if (chip->cur_clk == clk)
+drivers/staging/rts5208/rtsx_card.c:		clk, chip->cur_clk);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->ssc_en) {
+drivers/staging/rts5208/rtsx_card.c:	chip->cur_clk = clk;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->cur_clk == clk)
+drivers/staging/rts5208/rtsx_card.c:	chip->cur_clk = clk;
+drivers/staging/rts5208/rtsx_card.c:	udelay(chip->pmos_pwr_on_interval);
+drivers/staging/rts5208/rtsx_card.c:	if (!chip->rw_card[lun])
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_need_retry = 0;
+drivers/staging/rts5208/rtsx_card.c:		retval = chip->rw_card[lun](srb, chip, sec_addr, sec_cnt);
+drivers/staging/rts5208/rtsx_card.c:			if (detect_card_cd(chip, chip->cur_card) !=
+drivers/staging/rts5208/rtsx_card.c:			if (!chip->rw_need_retry) {
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_need_retry = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->cur_card != card) {
+drivers/staging/rts5208/rtsx_card.c:		chip->cur_card = card;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_exist & chip->lun2card[lun])
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & chip->lun2card[lun])
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_wp & chip->lun2card[lun])
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & chip->lun2card[lun]) == XD_CARD)
+drivers/staging/rts5208/rtsx_card.c:	else if ((chip->card_ready & chip->lun2card[lun]) == SD_CARD)
+drivers/staging/rts5208/rtsx_card.c:	else if ((chip->card_ready & chip->lun2card[lun]) == MS_CARD)
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & chip->lun2card[lun]) == SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ejected |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[lun] = 0;
+drivers/staging/rts5208/rtsx_card.c:	} else if ((chip->card_ready & chip->lun2card[lun]) == XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ejected |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[lun] = 0;
+drivers/staging/rts5208/rtsx_card.c:	} else if ((chip->card_ready & chip->lun2card[lun]) == MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ejected |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[lun] = 0;
+drivers/staging/rts5208/rtsx_card.h:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_card.h:	return chip->capacity[lun];
+drivers/staging/rts5208/rtsx_card.h:	return chip->capacity[lun];
+drivers/staging/rts5208/rtsx_card.h:	if (chip->asic_code)
+drivers/staging/rts5208/rtsx_chip.c:	for (i = 0; i <= chip->max_lun; i++) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & XD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & SD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & MS_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->hw_bypass_sd)
+drivers/staging/rts5208/rtsx_chip.c:	for (i = 0; i <= chip->max_lun; i++) {
+drivers/staging/rts5208/rtsx_chip.c:			i, chip->lun2card[i]);
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & XD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & SD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & MS_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->hw_bypass_sd)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ic_version >= IC_VER_C)
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->adma_mode)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ignore_sd && CHK_SDIO_EXIST(chip)) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_int = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_io = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->driver_first_load) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->sdio_in_charge)
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->sdio_in_charge = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->sdio_in_charge);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->driver_first_load = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->driver_first_load);
+drivers/staging/rts5208/rtsx_chip.c:			chip->need_reset |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:			if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->chip_insert_with_sdio = 1;
+drivers/staging/rts5208/rtsx_chip.c:			chip->sd_io = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->dynamic_aspm) {
+drivers/staging/rts5208/rtsx_chip.c:					chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	ret = rtsx_write_config_byte(chip, LCTLR, chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	chip->aspm_level[0] = chip->aspm_l0s_l1_en;
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_level[1] = chip->aspm_l0s_l1_en;
+drivers/staging/rts5208/rtsx_chip.c:					0xC0, 0xFF, chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	chip->aspm_enabled = 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->asic_code || !CHECK_PID(chip, 0x5208)) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->phy_debug_mode) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ic_version >= IC_VER_D) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->driver_first_load && (chip->ic_version < IC_VER_C))
+drivers/staging/rts5208/rtsx_chip.c:	rtsx_writel(chip, RTSX_HCBAR, chip->host_cmds_addr);
+drivers/staging/rts5208/rtsx_chip.c:				     chip->card_drive_sel);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_l0s_l1_en) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208)) {
+drivers/staging/rts5208/rtsx_chip.c:						chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	chip->need_reset = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->hw_bypass_sd)
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "In %s, chip->int_reg = 0x%x\n", __func__,
+drivers/staging/rts5208/rtsx_chip.c:		chip->int_reg);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & SD_EXIST) {
+drivers/staging/rts5208/rtsx_chip.c:		if (CHECK_PID(chip, 0x5208) && (chip->ic_version < IC_VER_C))
+drivers/staging/rts5208/rtsx_chip.c:		dev_dbg(rtsx_dev(chip), "chip->need_reset = 0x%x (%s)\n",
+drivers/staging/rts5208/rtsx_chip.c:			(unsigned int)(chip->need_reset), __func__);
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_io = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & CARD_EXIST) {
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "In %s, chip->need_reset = 0x%x\n", __func__,
+drivers/staging/rts5208/rtsx_chip.c:		(unsigned int)(chip->need_reset));
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->remote_wakeup_en && !chip->auto_delink_en) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->aux_pwr_exist) {
+drivers/staging/rts5208/rtsx_chip.c:	if (CHECK_PID(chip, 0x5208) && (chip->ic_version >= IC_VER_D)) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code && CHECK_PID(chip, 0x5208)) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ft2_fast_mode) {
+drivers/staging/rts5208/rtsx_chip.c:		udelay(chip->pmos_pwr_on_interval);
+drivers/staging/rts5208/rtsx_chip.c:	chip->driver_first_load = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->asic_code = val == 0 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->ic_version = (reg >> 4) & 0x07;
+drivers/staging/rts5208/rtsx_chip.c:		chip->phy_debug_mode = reg & PHY_DEBUG_MODE ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->ic_version = val;
+drivers/staging/rts5208/rtsx_chip.c:		chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->aux_pwr_exist = val & AUX_PWR_DETECTED ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->hw_bypass_sd = val & 0x01 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->use_hw_setting) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_en = val & 0x80 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->asic_code = val == 0 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->ic_version = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->aux_pwr_exist = val & AUX_PWR_DETECTED ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->baro_pkg = val & 0x04 ? QFN : LQFP;
+drivers/staging/rts5208/rtsx_chip.c:	chip->hw_bypass_sd = val & 0x10 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->use_hw_setting) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_en = val & 0x80 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:			chip->lun_mode = SD_MS_1LUN;
+drivers/staging/rts5208/rtsx_chip.c:			chip->lun_mode = DEFAULT_SINGLE;
+drivers/staging/rts5208/rtsx_chip.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_chip.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_chip.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_chip.c:		chip->vendor_id, chip->product_id);
+drivers/staging/rts5208/rtsx_chip.c:	chip->ic_version = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->xd_show_cnt = MAX_SHOW_CNT;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sd_show_cnt = MAX_SHOW_CNT;
+drivers/staging/rts5208/rtsx_chip.c:	chip->ms_show_cnt = MAX_SHOW_CNT;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sd_io = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->auto_delink_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->auto_delink_allowed = 1;
+drivers/staging/rts5208/rtsx_chip.c:	chip->aspm_enabled = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->chip_insert_with_sdio = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_aspm = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_idle = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->cur_card = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_func_exist = 0;
+drivers/staging/rts5208/rtsx_chip.c:	memset(chip->sdio_raw_data, 0, 12);
+drivers/staging/rts5208/rtsx_chip.c:		chip->rw_fail_cnt[i] = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (!valid_sd_speed_prior(chip->sd_speed_prior))
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_speed_prior = 0x01040203;
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_speed_prior);
+drivers/staging/rts5208/rtsx_chip.c:	if (!valid_sd_current_prior(chip->sd_current_prior))
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_current_prior = 0x00010203;
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_current_prior);
+drivers/staging/rts5208/rtsx_chip.c:	if ((chip->sd_ddr_tx_phase > 31) || (chip->sd_ddr_tx_phase < 0))
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_ddr_tx_phase = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if ((chip->mmc_ddr_tx_phase > 31) || (chip->mmc_ddr_tx_phase < 0))
+drivers/staging/rts5208/rtsx_chip.c:		chip->mmc_ddr_tx_phase = 0;
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->use_hw_setting = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->use_hw_setting);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ss_en == 2)
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_en = 0;
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->asic_code = %d\n", chip->asic_code);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->ic_version = 0x%x\n", chip->ic_version);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->phy_debug_mode = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->phy_debug_mode);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->aux_pwr_exist = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->aux_pwr_exist);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->sdio_func_exist = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->sdio_func_exist);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->hw_bypass_sd = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->hw_bypass_sd);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->aspm_l0s_l1_en = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->lun_mode = %d\n", chip->lun_mode);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->auto_delink_en = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_en);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->ss_en = %d\n", chip->ss_en);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->baro_pkg = %d\n", chip->baro_pkg);
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[SD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[MS_CARD] = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[XD_CARD] = 0xFF;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[0] = SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[1] = MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->max_lun = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[SD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[MS_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[XD_CARD] = 0xFF;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[0] = SD_CARD | MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->max_lun = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[XD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[SD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[MS_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[0] = XD_CARD | SD_CARD | MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->max_lun = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->card_exist = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->card_ready = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist && chip->blink_led) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->led_toggle_counter < LED_TOGGLE_INTERVAL) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->led_toggle_counter++;
+drivers/staging/rts5208/rtsx_chip.c:			chip->led_toggle_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_level[0] != reg0) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_level[0] = reg0;
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->aspm_level[1] != reg1) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_level[1] = reg1;
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_l0s_l1_en = 0x03;
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_level[0], chip->aspm_level[1]);
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->aspm_l0s_l1_en) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_enabled = 1;
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_enabled = 0;
+drivers/staging/rts5208/rtsx_chip.c:			chip->sdio_aspm = 0;
+drivers/staging/rts5208/rtsx_chip.c:				    0x30 | chip->aspm_level[0] |
+drivers/staging/rts5208/rtsx_chip.c:				    (chip->aspm_level[1] << 2));
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->ocp_int)
+drivers/staging/rts5208/rtsx_chip.c:	rtsx_read_register(chip, OCPSTAT, &chip->ocp_stat);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist & SD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	else if (chip->card_exist & MS_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	else if (chip->card_exist & XD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	chip->ocp_int = 0;
+drivers/staging/rts5208/rtsx_chip.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist & SD_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->need_reinit |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->ss_en || CHECK_PID(chip, 0x5288))
+drivers/staging/rts5208/rtsx_chip.c:	if (!rtsx_is_ss_allowed(chip) || chip->sd_io)
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ss_counter < (chip->ss_idle_period / POLLING_INTERVAL))
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_counter++;
+drivers/staging/rts5208/rtsx_chip.c:	    !chip->aspm_l0s_l1_en || !chip->dynamic_aspm)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sdio_aspm)
+drivers/staging/rts5208/rtsx_chip.c:	data = 0x30 | (chip->aspm_level[1] << 2);
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_aspm = 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->idle_counter < IDLE_MAX_COUNT) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->idle_counter++;
+drivers/staging/rts5208/rtsx_chip.c:	chip->led_toggle_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_power_down && !chip->card_ready && !chip->sd_io)
+drivers/staging/rts5208/rtsx_chip.c:	sd_oc = chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER);
+drivers/staging/rts5208/rtsx_chip.c:	ms_oc = chip->ocp_stat & (MS_OC_NOW | MS_OC_EVER);
+drivers/staging/rts5208/rtsx_chip.c:			chip->ocp_stat);
+drivers/staging/rts5208/rtsx_chip.c:	if (sd_oc && (chip->card_exist & SD_CARD)) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (ms_oc && (chip->card_exist & MS_CARD)) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (!(chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER)))
+drivers/staging/rts5208/rtsx_chip.c:		chip->ocp_stat);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist & SD_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	} else if (chip->card_exist & MS_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	} else if (chip->card_exist & XD_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist)
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_cnt = stage3_cnt + 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->auto_delink_en || !chip->auto_delink_allowed ||
+drivers/staging/rts5208/rtsx_chip.c:	    chip->card_ready || chip->card_ejected || chip->sd_io) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:	enter_L1 = chip->auto_delink_in_L1 &&
+drivers/staging/rts5208/rtsx_chip.c:		(chip->aspm_l0s_l1_en || chip->ss_en);
+drivers/staging/rts5208/rtsx_chip.c:	delink_stage1_cnt = chip->delink_stage1_step;
+drivers/staging/rts5208/rtsx_chip.c:	delink_stage2_cnt = delink_stage1_cnt + chip->delink_stage2_step;
+drivers/staging/rts5208/rtsx_chip.c:	delink_stage3_cnt = delink_stage2_cnt + chip->delink_stage3_step;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_cnt > delink_stage3_cnt)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_cnt == delink_stage1_cnt)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_cnt == delink_stage2_cnt) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.c:	chip->auto_delink_cnt++;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->polling_config) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->sd_io && !chip->sd_int)
+drivers/staging/rts5208/rtsx_chip.c:		chip->product_id, dstate);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->power_down_in_ss) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_en) {
+drivers/staging/rts5208/rtsx_chip.c:		if (!chip->phy_debug_mode) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->power_down_in_ss) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	} else if (chip->power_down_in_ss) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ss_en) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_chip.c:	if (((chip->int_reg & int_enable) == 0) ||
+drivers/staging/rts5208/rtsx_chip.c:	    (chip->int_reg == 0xFFFFFFFF))
+drivers/staging/rts5208/rtsx_chip.c:	status = chip->int_reg &= (int_enable | 0x7FFFFF);
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_chip.c:				chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:				chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:				clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(SD_NR, &chip->need_reinit);
+drivers/staging/rts5208/rtsx_chip.c:					set_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:					set_bit(XD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_chip.c:					chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:					chip->xd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:					clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:					set_bit(XD_NR, &chip->need_reinit);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_chip.c:				chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:				chip->ms_show_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:				clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(MS_NR, &chip->need_reinit);
+drivers/staging/rts5208/rtsx_chip.c:	chip->ocp_int = ocp_int & status;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sd_io && (chip->int_reg & DATA_DONE_INT))
+drivers/staging/rts5208/rtsx_chip.c:		chip->int_reg &= ~(u32)DATA_DONE_INT;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->sdio_in_charge = 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (CHECK_PID(chip, 0x5208) && (chip->ic_version >= IC_VER_D)) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->s3_pwr_off_delay > 0)
+drivers/staging/rts5208/rtsx_chip.c:			wait_timeout(chip->s3_pwr_off_delay);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->do_delink_before_power_down && chip->auto_delink_en)
+drivers/staging/rts5208/rtsx_chip.c:	chip->cur_clk = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->cur_card = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->card_exist = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_l0s_l1_en && chip->dynamic_aspm && !chip->aspm_enabled) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_enabled = 1;
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.c:					    0x30 | chip->aspm_level[0]);
+drivers/staging/rts5208/rtsx_chip.c:					       chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:			u16 val = chip->aspm_l0s_l1_en | 0x0100;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_l0s_l1_en && chip->dynamic_aspm && chip->aspm_enabled) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_enabled = 0;
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.h:	return &chip->rtsx->pci->dev;
+drivers/staging/rts5208/rtsx_scsi.c:	struct scsi_cmnd *srb = chip->srb;
+drivers/staging/rts5208/rtsx_scsi.c:	struct sense_data_t *sense = &chip->sense_buffer[lun];
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/rtsx_scsi.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:	if ((chip->mspro_formatter_enable) &&
+drivers/staging/rts5208/rtsx_scsi.c:	    (chip->lun2card[lun] & MS_CARD))
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->mspro_formatter_enable)
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	sense = &chip->sense_buffer[lun];
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if ((chip->lun2card[lun] & MS_CARD)) {
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->mspro_formatter_enable)
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->mspro_formatter_enable) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/rtsx_scsi.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->rw_fail_cnt[lun] == 3) {
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->need_release & chip->lun2card[lun]) {
+drivers/staging/rts5208/rtsx_scsi.c:			chip->rw_fail_cnt[lun] = 0;
+drivers/staging/rts5208/rtsx_scsi.c:			chip->rw_fail_cnt[lun]++;
+drivers/staging/rts5208/rtsx_scsi.c:		chip->rw_fail_cnt[lun] = 0;
+drivers/staging/rts5208/rtsx_scsi.c:		if (!chip->mspro_formatter_enable) {
+drivers/staging/rts5208/rtsx_scsi.c:	if ((buf_len > 12) && chip->mspro_formatter_enable &&
+drivers/staging/rts5208/rtsx_scsi.c:	    (chip->lun2card[lun] & MS_CARD) &&
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/rtsx_scsi.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:		struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:			chip->blink_led = 1;
+drivers/staging/rts5208/rtsx_scsi.c:			chip->blink_led = 0;
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->ss_en &&
+drivers/staging/rts5208/rtsx_scsi.c:		struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:		u8 tmp = chip->blink_led;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	status[0] = (u8)(chip->product_id);
+drivers/staging/rts5208/rtsx_scsi.c:	status[1] = chip->ic_version;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->auto_delink_en)
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->card_wp)
+drivers/staging/rts5208/rtsx_scsi.c:	    (chip->lun2card[lun] == MS_CARD)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ocp_stat & oc_now_mask)
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ocp_stat & oc_ever_mask)
+drivers/staging/rts5208/rtsx_scsi.c:		chip->phy_debug_mode = 1;
+drivers/staging/rts5208/rtsx_scsi.c:		chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_scsi.c:						 0x4C00 | chip->phy_voltage);
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[0] = (u8)(chip->vendor_id >> 8);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[1] = (u8)(chip->vendor_id);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[2] = (u8)(chip->product_id >> 8);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[3] = (u8)(chip->product_id);
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->card_exist) {
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->card_exist & XD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:			else if (chip->card_exist & SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:			else if (chip->card_exist & MS_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[7] = (u8)(chip->product_id);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[8] = chip->ic_version;
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->sd_io && chip->sd_int)
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:		bus_width = chip->card_bus_width[lun];
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->rw_cap[lun] >= GPIO_TOGGLE_THRESHOLD) {
+drivers/staging/rts5208/rtsx_scsi.c:		chip->rw_cap[lun] = 0;
+drivers/staging/rts5208/rtsx_scsi.c:		chip->rw_cap[lun] += sec_cnt;
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(chip->card_ready & MS_CARD)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->card_wp & MS_CARD) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_sys.h:	struct rtsx_dev *dev = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:		       (unsigned char *)&chip->sense_buffer[SCSI_LUN(srb)],
+drivers/staging/rts5208/rtsx_transport.c:	__le32 *cb = (__le32 *)(chip->host_cmds_ptr);
+drivers/staging/rts5208/rtsx_transport.c:	spin_lock_irq(&chip->rtsx->reg_lock);
+drivers/staging/rts5208/rtsx_transport.c:	if (chip->ci < (HOST_CMDS_BUF_LEN / 4))
+drivers/staging/rts5208/rtsx_transport.c:		cb[(chip->ci)++] = cpu_to_le32(val);
+drivers/staging/rts5208/rtsx_transport.c:	spin_unlock_irq(&chip->rtsx->reg_lock);
+drivers/staging/rts5208/rtsx_transport.c:	rtsx_writel(chip, RTSX_HCBAR, chip->host_cmds_addr);
+drivers/staging/rts5208/rtsx_transport.c:	val |= (u32)(chip->ci * 4) & 0x00FFFFFF;
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:	rtsx_writel(chip, RTSX_HCBAR, chip->host_cmds_addr);
+drivers/staging/rts5208/rtsx_transport.c:	val |= (u32)(chip->ci * 4) & 0x00FFFFFF;
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:			chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:	__le64 *sgb = (__le64 *)(chip->host_sg_tbl_ptr);
+drivers/staging/rts5208/rtsx_transport.c:		if (chip->sgi < (HOST_SG_TBL_BUF_LEN / 8))
+drivers/staging/rts5208/rtsx_transport.c:			sgb[(chip->sgi)++] = cpu_to_le64(val);
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:	chip->sgi = 0;
+drivers/staging/rts5208/rtsx_transport.c:	dev_dbg(rtsx_dev(chip), "SG table count = %d\n", chip->sgi);
+drivers/staging/rts5208/rtsx_transport.c:	rtsx_writel(chip, RTSX_HDBAR, chip->host_sg_tbl_addr);
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:			chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:			dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:				chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:		chip->sgi = 0;
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "SG table count = %d\n", chip->sgi);
+drivers/staging/rts5208/rtsx_transport.c:		rtsx_writel(chip, RTSX_HDBAR, chip->host_sg_tbl_addr);
+drivers/staging/rts5208/rtsx_transport.c:			dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:				chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:			dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:				chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:			chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:			chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_transport.c:			chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_transport.h:	return (u8 *)(chip->host_sg_tbl_ptr);
+drivers/staging/rts5208/rtsx_transport.h:	return (u8 *)(chip->host_cmds_ptr);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if ((chip->sd_ctl & SD_PUSH_POINT_CTL_MASK) == SD_PUSH_POINT_DELAY)
+drivers/staging/rts5208/sd.c:	if ((chip->sd_ctl & SD_SAMPLE_POINT_CTL_MASK) == SD_SAMPLE_POINT_AUTO) {
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	} else if ((chip->sd_ctl & SD_SAMPLE_POINT_CTL_MASK) ==
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_sdr104_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_sdr104_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_ddr50_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_ddr50_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_sdr50_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_sdr50_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_hs_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_hs_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_mmc_52m_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_mmc_52m_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:							 chip->phy_voltage);
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:							 chip->phy_voltage);
+drivers/staging/rts5208/sd.c:	udelay(chip->sd_voltage_switch_delay);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:						     chip->sd_800mA_ocp_thd);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		switch ((u8)(chip->sd_speed_prior >> (i * 8))) {
+drivers/staging/rts5208/sd.c:			    chip->sdr104_en) {
+drivers/staging/rts5208/sd.c:			    chip->ddr50_en) {
+drivers/staging/rts5208/sd.c:			    chip->sdr50_en) {
+drivers/staging/rts5208/sd.c:		switch ((u8)(chip->sd_current_prior >> (i * 8))) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:			final_phase = (u8)chip->sd_default_rx_phase;
+drivers/staging/rts5208/sd.c:			final_phase = (u8)chip->sd_default_tx_phase;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & SD_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:		retval = sd_change_phase(chip, (u8)chip->sd_ddr_tx_phase,
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & SD_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & MMC_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:		retval = sd_change_phase(chip, (u8)chip->mmc_ddr_tx_phase,
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & MMC_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (chip->asic_code)
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:	chip->sd_io = 0;
+drivers/staging/rts5208/sd.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/sd.c:		if (chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER)) {
+drivers/staging/rts5208/sd.c:				chip->ocp_stat);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:		chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		for (; rty_cnt < chip->sdio_retry_cnt; rty_cnt++) {
+drivers/staging/rts5208/sd.c:					chip->sd_io = 1;
+drivers/staging/rts5208/sd.c:					     chip->sd30_drive_sel_1v8);
+drivers/staging/rts5208/sd.c:	chip->card_bus_width[chip->card2lun[SD_CARD]] = 4;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		chip->card_bus_width[chip->card2lun[SD_CARD]] = 8;
+drivers/staging/rts5208/sd.c:			chip->card_bus_width[chip->card2lun[SD_CARD]] = 4;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->card_bus_width[chip->card2lun[SD_CARD]] = 1;
+drivers/staging/rts5208/sd.c:		chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:	if (chip->ignore_sd && CHK_SDIO_EXIST(chip) &&
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:		chip->sd_io = 1;
+drivers/staging/rts5208/sd.c:	if (chip->sd_ctl & RESET_MMC_FIRST) {
+drivers/staging/rts5208/sd.c:			if (chip->sd_io)
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = sd_card->capacity;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = sd_card->capacity = 0;
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = sd_card->capacity;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD)) {
+drivers/staging/rts5208/sd.c:			chip->card_ready |= SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:			chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:			chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				srb->sc_data_direction, chip->sd_timeout);
+drivers/staging/rts5208/sd.c:			chip->rw_need_retry = 0;
+drivers/staging/rts5208/sd.c:		chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:		chip->rw_need_retry = 0;
+drivers/staging/rts5208/sd.c:			chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/sd.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/sd.c:	if (chip->card_wp & SD_CARD)
+drivers/staging/rts5208/sd.c:	buf[15] = chip->max_lun;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD))
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD))
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD))
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:	chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:	chip->card_wp &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:	chip->sd_io = 0;
+drivers/staging/rts5208/sd.c:	chip->sd_int = 0;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	if (chip->asic_code)
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	if (chip->asic_code)
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	if (chip->asic_code)
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/xd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:		if (chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER)) {
+drivers/staging/rts5208/xd.c:				chip->ocp_stat);
+drivers/staging/rts5208/xd.c:	if (chip->ft2_fast_mode) {
+drivers/staging/rts5208/xd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/xd.c:	chip->capacity[chip->card2lun[XD_CARD]] = xd_card->capacity;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:		chip->card_wp |= XD_CARD;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	trans_dma_enable(chip->srb->sc_data_direction, chip,
+drivers/staging/rts5208/xd.c:					    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/xd.c:					    chip->xd_timeout);
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	trans_dma_enable(chip->srb->sc_data_direction, chip,
+drivers/staging/rts5208/xd.c:					    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/xd.c:					    index, offset, DMA_TO_DEVICE, chip->xd_timeout);
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:		chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:			chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:			chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:				chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:			chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/xd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	chip->card_ready &= ~XD_CARD;
+drivers/staging/rts5208/xd.c:	chip->card_fail &= ~XD_CARD;
+drivers/staging/rts5208/xd.c:	chip->card_wp &= ~XD_CARD;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		if (chip->alsa_stream[i]) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:			err = bcm2835_audio_set_ctls(chip->alsa_stream[i]);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		ucontrol->value.integer.value[0] = chip->volume;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		ucontrol->value.integer.value[0] = chip->mute;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		ucontrol->value.integer.value[0] = chip->dest;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		valp = &chip->volume;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		valp = &chip->mute;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		valp = &chip->dest;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:			dev_err(chip->card->dev, "Failed to set ALSA controls..\n");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:			(chip->spdif_status >> (i * 8)) & 0xff;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	change = val != chip->spdif_status;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	chip->spdif_status = val;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&kctls[i], chip));
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	strcpy(chip->card->mixername, "Broadcom Mixer");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	strcpy(chip->card->mixername, "Broadcom Mixer");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	strcpy(chip->card->mixername, "Broadcom Mixer");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	if (spdif && chip->opened) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	} else if (!spdif && (chip->opened & (1 << idx))) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		dev_err(chip->dev,
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->spdif_status = 0;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	chip->alsa_stream[idx] = alsa_stream;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	chip->opened |= (1 << idx);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	alsa_stream->chip->alsa_stream[alsa_stream->idx] = NULL;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	chip->opened &= ~(1 << substream->number);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	if (chip->spdif_status & IEC958_AES0_NONAUDIO)
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	err = snd_pcm_new(chip->card, name, idx, numchannels, 0, &pcm);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->dest = route;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->volume = 0;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->mute = CTRL_VOL_UNMUTE;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->card->dev, 128 * 1024, 128 * 1024);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->pcm_spdif = pcm;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->pcm = pcm;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	struct bcm2835_vchi_ctx *vchi_ctx = alsa_stream->chip->vchi_ctx;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	instance->dev = alsa_stream->chip->dev;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	m.control.dest = chip->dest;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	if (!chip->mute)
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:		m.control.volume = alsa2chip(chip->volume);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	chip->card = card;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	chip->dev = dev;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	mutex_init(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	chip->vchi_ctx = devres_find(dev,
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	if (!chip->vchi_ctx) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.h:/* definition of the chip-specific record */
+drivers/staging/wfx/hif_rx.c: * Implementation of chip-to-host event (aka indications) of WFxxx Split Mac
+drivers/staging/wfx/hif_rx.h: * Implementation of chip-to-host event (aka indications) of WFxxx Split Mac
+drivers/staging/wlan-ng/prism2usb.c:	/* Do a chip-level reset on the MAC */
+drivers/staging/wlan-ng/prism2usb.c:	/* Do a chip-level reset on the MAC */
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	ret = regmap_read(chip->map, chip->base + addr, &val);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	return regmap_write(chip->map, chip->base + addr, data);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (chip->subtype == QPNP_TM_SUBTYPE_GEN1)
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	WARN_ON(!mutex_is_locked(&chip->lock));
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (chip->subtype == QPNP_TM_SUBTYPE_GEN1) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		stage_old = chip->stage;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		stage_old = alarm_state_map[chip->stage];
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = (stage_new - 1) * TEMP_STAGE_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:			     chip->thresh * TEMP_THRESH_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = stage_new * TEMP_STAGE_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:			     chip->thresh * TEMP_THRESH_STEP -
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->stage = stage;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (!chip->initialized) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (!chip->adc) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		mutex_lock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		mutex_unlock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		ret = iio_read_channel_processed(chip->adc, &mili_celsius);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = mili_celsius;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	*temp = chip->temp < 0 ? 0 : chip->temp;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	WARN_ON(!mutex_is_locked(&chip->lock));
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->thresh = THRESH_MIN;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->thresh = THRESH_MAX -
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->thresh = THRESH_MAX;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		if (chip->adc)
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:			dev_warn(chip->dev,
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	reg |= chip->thresh;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	trip_points = of_thermal_get_trip_points(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_lock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_unlock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	thermal_zone_device_update(chip->tz_dev, THERMAL_EVENT_UNSPECIFIED);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	ntrips = of_thermal_get_ntrips(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	trips = of_thermal_get_trip_points(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		if (of_thermal_is_trip_valid(chip->tz_dev, i) &&
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_lock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->thresh = reg & SHUTDOWN_CTRL1_THRESHOLD_MASK;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->temp = DEFAULT_TEMP;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->stage = ret;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	stage = chip->subtype == QPNP_TM_SUBTYPE_GEN1
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		? chip->stage : alarm_state_map[chip->stage];
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = chip->thresh * TEMP_THRESH_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->initialized = true;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_unlock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->dev = &pdev->dev;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_init(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->map = dev_get_regmap(pdev->dev.parent, NULL);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (!chip->map)
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->adc = devm_iio_channel_get(&pdev->dev, "thermal");
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (IS_ERR(chip->adc)) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		ret = PTR_ERR(chip->adc);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->adc = NULL;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->base = res;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->subtype = subtype;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->tz_dev = devm_thermal_zone_of_sensor_register(
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (IS_ERR(chip->tz_dev)) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		return PTR_ERR(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	thermal_zone_device_update(chip->tz_dev, THERMAL_EVENT_UNSPECIFIED);
+drivers/thermal/rcar_thermal.c:		if (priv->chip->has_filonoff)
+drivers/thermal/rcar_thermal.c:	if (priv->chip->ctemp_bands == 1)
+drivers/thermal/rcar_thermal.c:		if (priv->chip->use_of_thermal)
+drivers/thermal/rcar_thermal.c:	for (i = 0; i < chip->nirqs; i++) {
+drivers/thermal/rcar_thermal.c:		if (chip->irq_per_ch)
+drivers/thermal/rcar_thermal.c:		if (chip->use_of_thermal)
+drivers/thermal/rcar_thermal.c:		if (chip->use_of_thermal) {
+drivers/thermal/rcar_thermal.c:		if (!chip->irq_per_ch)
+drivers/thermal/rcar_thermal.c:	if (priv->chip->needs_suspend_resume) {
+drivers/thermal/rcar_thermal.c:	if (priv->chip->needs_suspend_resume) {
+drivers/thermal/rockchip_thermal.c: * struct chip_tsadc_table - hold information about chip-specific differences
+drivers/thermal/rockchip_thermal.c: * @table: the chip-specific conversion table
+drivers/thermal/rockchip_thermal.c:	thermal->chip->irq_ack(thermal->regs);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:			 thermal->chip->tshut_temp);
+drivers/thermal/rockchip_thermal.c:		thermal->tshut_temp = thermal->chip->tshut_temp;
+drivers/thermal/rockchip_thermal.c:			 thermal->chip->tshut_mode == TSHUT_MODE_GPIO ?
+drivers/thermal/rockchip_thermal.c:		thermal->tshut_mode = thermal->chip->tshut_mode;
+drivers/thermal/rockchip_thermal.c:			 thermal->chip->tshut_polarity == TSHUT_LOW_ACTIVE ?
+drivers/thermal/rockchip_thermal.c:		thermal->tshut_polarity = thermal->chip->tshut_polarity;
+drivers/thermal/rockchip_thermal.c:	thermal->chip->initialize(thermal->grf, thermal->regs,
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++) {
+drivers/thermal/rockchip_thermal.c:						thermal->chip->chn_id[i]);
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, true);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++) {
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, false);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, false);
+drivers/thermal/rockchip_thermal.c:	thermal->chip->initialize(thermal->grf, thermal->regs,
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++) {
+drivers/thermal/rockchip_thermal.c:		thermal->chip->set_tshut_mode(id, thermal->regs,
+drivers/thermal/rockchip_thermal.c:		error = thermal->chip->set_tshut_temp(&thermal->chip->table,
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, true);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:		.name = "rockchip-thermal",
+drivers/thermal/rockchip_thermal.c:MODULE_ALIAS("platform:rockchip-thermal");
+drivers/tty/serial/8250/8250_lpss.c:	chip->pdata = &qrk_serial_dma_pdata;
+drivers/tty/serial/8250/8250_lpss.c:	chip->dev = &pdev->dev;
+drivers/tty/serial/8250/8250_lpss.c:	chip->id = pdev->devfn;
+drivers/tty/serial/8250/8250_lpss.c:	chip->irq = pci_irq_vector(pdev, 0);
+drivers/tty/serial/8250/8250_lpss.c:	chip->regs = pci_ioremap_bar(pdev, 1);
+drivers/tty/serial/8250/8250_lpss.c:	if (!chip->regs)
+drivers/tty/serial/8250/8250_lpss.c:	pci_iounmap(to_pci_dev(chip->dev), chip->regs);
+drivers/tty/serial/8250/8250_mid.c:	chip->dev = &pdev->dev;
+drivers/tty/serial/8250/8250_mid.c:	chip->irq = pci_irq_vector(pdev, 0);
+drivers/tty/serial/8250/8250_mid.c:	chip->regs = p->membase;
+drivers/tty/serial/8250/8250_mid.c:	chip->length = pci_resource_len(pdev, bar);
+drivers/tty/serial/8250/8250_mid.c:	chip->offset = DNV_DMA_CHAN_OFFSET;
+drivers/tty/serial/sccnxp.c:	ndelay(s->chip->trwd);
+drivers/tty/serial/sccnxp.c:	ndelay(s->chip->trwd);
+drivers/tty/serial/sccnxp.c:		if (baud_std[i].mr0 && !(chip->flags & SCCNXP_HAVE_MR0))
+drivers/tty/serial/sccnxp.c:		div_std = DIV_ROUND_CLOSEST(chip->freq_std, baud_std[i].baud);
+drivers/tty/serial/sccnxp.c:	if (chip->flags & SCCNXP_HAVE_MR0) {
+drivers/tty/serial/sccnxp.c:			if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/tty/serial/sccnxp.c:	if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/tty/serial/sccnxp.c:	if (!(s->chip->flags & SCCNXP_HAVE_IO))
+drivers/tty/serial/sccnxp.c:	if (!(s->chip->flags & SCCNXP_HAVE_IO))
+drivers/tty/serial/sccnxp.c:				  (s->chip->flags & SCCNXP_HAVE_MR0) ?
+drivers/tty/serial/sccnxp.c:	if (s->chip->flags & SCCNXP_HAVE_IO) {
+drivers/tty/serial/sccnxp.c:	if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/tty/serial/sccnxp.c:	return (port->type == PORT_SC26XX) ? s->chip->name : NULL;
+drivers/tty/serial/sccnxp.c:		uartclk = s->chip->freq_std;
+drivers/tty/serial/sccnxp.c:	if ((uartclk < s->chip->freq_min) || (uartclk > s->chip->freq_max)) {
+drivers/tty/serial/sccnxp.c:	s->uart.nr		= s->chip->nr;
+drivers/tty/serial/sccnxp.c:		s->port[i].fifosize	= s->chip->fifosize;
+drivers/tty/serial/sccnxp.c:		if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/uio/uio_fsl_elbc_gpcm.c:   using the general purpose chip-select mode (GPCM).
+drivers/usb/cdns3/gadget.c:	device_property_read_u16(priv_dev->dev, "cdns,on-chip-buff-size",
+drivers/usb/serial/io_usbvend.h:// Implementation 1 (ie, 251+Netchip-based)
+drivers/usb/storage/realtek_cr.c:	retval = rts51x_read_status(us, lun, buf, 16, &(chip->status_len));
+drivers/usb/storage/realtek_cr.c:	usb_stor_dbg(us, "chip->status_len = %d\n", chip->status_len);
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].vid = ((u16) buf[0] << 8) | buf[1];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].pid = ((u16) buf[2] << 8) | buf[3];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].cur_lun = buf[4];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].card_type = buf[5];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].total_lun = buf[6];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].fw_ver = ((u16) buf[7] << 8) | buf[8];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].phy_exist = buf[9];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].multi_flag = buf[10];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].multi_card = buf[11];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].log_exist = buf[12];
+drivers/usb/storage/realtek_cr.c:	if (chip->status_len == 16) {
+drivers/usb/storage/realtek_cr.c:		chip->status[lun].detailed_type.detailed_type1 = buf[13];
+drivers/usb/storage/realtek_cr.c:		chip->status[lun].function[0] = buf[14];
+drivers/usb/storage/realtek_cr.c:		chip->status[lun].function[1] = buf[15];
+drivers/usb/storage/realtek_cr.c:	struct us_data *us = chip->us;
+drivers/usb/storage/realtek_cr.c:	chip->timer_expires = jiffies + msecs_to_jiffies(1000*ss_delay);
+drivers/usb/storage/realtek_cr.c:	mod_timer(&chip->rts51x_suspend_timer, chip->timer_expires);
+drivers/usb/storage/realtek_cr.c:	struct us_data *us = chip->us;
+drivers/usb/storage/realtek_cr.c:		chip->proto_handler_backup(srb, us);
+drivers/usb/storage/realtek_cr.c:			    (chip->pwr_state == US_SUSPEND)) {
+drivers/usb/storage/realtek_cr.c:			chip->proto_handler_backup(srb, us);
+drivers/usb/storage/realtek_cr.c:	chip->support_auto_delink = 0;
+drivers/usb/storage/realtek_cr.c:	chip->pwr_state = US_RESUME;
+drivers/usb/storage/realtek_cr.c:	chip->lun_ready = 0;
+drivers/usb/storage/realtek_cr.c:	retval = rts51x_read_status(us, 0, buf, 16, &(chip->status_len));
+drivers/usb/storage/realtek_cr.c:	status = chip->status;
+drivers/usb/storage/realtek_cr.c:	if (chip->status_len == 16) {
+drivers/usb/storage/realtek_cr.c:	chip->proto_handler_backup = us->proto_handler;
+drivers/usb/storage/realtek_cr.c:	chip->timer_expires = 0;
+drivers/usb/storage/realtek_cr.c:	timer_setup(&chip->rts51x_suspend_timer, rts51x_suspend_timer_fn, 0);
+drivers/usb/storage/realtek_cr.c:		del_timer(&chip->rts51x_suspend_timer);
+drivers/usb/storage/realtek_cr.c:		chip->timer_expires = 0;
+drivers/usb/storage/realtek_cr.c:	kfree(chip->status);
+drivers/usb/storage/realtek_cr.c:	us->max_lun = chip->max_lun = rts51x_get_max_lun(us);
+drivers/usb/storage/realtek_cr.c:	chip->us = us;
+drivers/usb/storage/realtek_cr.c:	usb_stor_dbg(us, "chip->max_lun = %d\n", chip->max_lun);
+drivers/usb/storage/realtek_cr.c:	size = (chip->max_lun + 1) * sizeof(struct rts51x_status);
+drivers/usb/storage/realtek_cr.c:	chip->status = kzalloc(size, GFP_KERNEL);
+drivers/usb/storage/realtek_cr.c:	if (!chip->status)
+drivers/usb/storage/realtek_cr.c:	for (i = 0; i <= (int)(chip->max_lun); i++) {
+drivers/usb/storage/realtek_cr.c:	usb_stor_dbg(us, "chip->flag = 0x%x\n", chip->flag);
+drivers/usb/storage/realtek_cr.c:		kfree(chip->status);
+drivers/usb/typec/tcpm/fusb302.c:	return chip->logbuffer_tail ==
+drivers/usb/typec/tcpm/fusb302.c:		(chip->logbuffer_head + 1) % LOG_BUFFER_ENTRIES;
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->logbuffer[chip->logbuffer_head]) {
+drivers/usb/typec/tcpm/fusb302.c:		chip->logbuffer[chip->logbuffer_head] =
+drivers/usb/typec/tcpm/fusb302.c:		if (!chip->logbuffer[chip->logbuffer_head])
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:		chip->logbuffer_head = max(chip->logbuffer_head - 1, 0);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->logbuffer_head < 0 ||
+drivers/usb/typec/tcpm/fusb302.c:	    chip->logbuffer_head >= LOG_BUFFER_ENTRIES) {
+drivers/usb/typec/tcpm/fusb302.c:		dev_warn(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:			 "Bad log buffer index %d\n", chip->logbuffer_head);
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->logbuffer[chip->logbuffer_head]) {
+drivers/usb/typec/tcpm/fusb302.c:		dev_warn(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:			 "Log buffer index %d is NULL\n", chip->logbuffer_head);
+drivers/usb/typec/tcpm/fusb302.c:	scnprintf(chip->logbuffer[chip->logbuffer_head],
+drivers/usb/typec/tcpm/fusb302.c:	chip->logbuffer_head = (chip->logbuffer_head + 1) % LOG_BUFFER_ENTRIES;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	tail = chip->logbuffer_tail;
+drivers/usb/typec/tcpm/fusb302.c:	while (tail != chip->logbuffer_head) {
+drivers/usb/typec/tcpm/fusb302.c:		seq_printf(s, "%s\n", chip->logbuffer[tail]);
+drivers/usb/typec/tcpm/fusb302.c:		chip->logbuffer_tail = tail;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_init(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	snprintf(name, NAME_MAX, "fusb302-%s", dev_name(chip->dev));
+drivers/usb/typec/tcpm/fusb302.c:	chip->dentry = debugfs_create_file(name, S_IFREG | 0444, usb_debug_root,
+drivers/usb/typec/tcpm/fusb302.c:	debugfs_remove(chip->dentry);
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_write_byte_data(chip->i2c_client, address, data);
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_write_i2c_block_data(chip->i2c_client, address,
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_read_byte_data(chip->i2c_client, address);
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_read_i2c_block_data(chip->i2c_client, address,
+drivers/usb/typec/tcpm/fusb302.c:	chip->vbus_present = !!(data & FUSB_REG_STATUS0_VBUSOK);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	ret = chip->vbus_present ? 1 : 0;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->extcon)
+drivers/usb/typec/tcpm/fusb302.c:		if (extcon_get_state(chip->extcon, EXTCON_CHG_USB_SDP) == 1)
+drivers/usb/typec/tcpm/fusb302.c:		if (extcon_get_state(chip->extcon, EXTCON_CHG_USB_CDP) == 1 ||
+drivers/usb/typec/tcpm/fusb302.c:		    extcon_get_state(chip->extcon, EXTCON_CHG_USB_ACA) == 1)
+drivers/usb/typec/tcpm/fusb302.c:		if (extcon_get_state(chip->extcon, EXTCON_CHG_USB_DCP) == 1)
+drivers/usb/typec/tcpm/fusb302.c:	chip->src_current_status = status;
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_bc_lvl = false;
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_comp_chng = false;
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_togdone = false;
+drivers/usb/typec/tcpm/fusb302.c:		WARN(chip->vconn_on, "Vconn is on during toggle start");
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_togdone = true;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc1 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc2 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:	chip->toggling_mode = mode;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:		switches0_data |= (chip->cc_polarity == TYPEC_POLARITY_CC1) ?
+drivers/usb/typec/tcpm/fusb302.c:	chip->cc1 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:	chip->cc2 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_comp_chng = true;
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_bc_lvl = true;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	*cc1 = chip->cc1;
+drivers/usb/typec/tcpm/fusb302.c:	*cc2 = chip->cc2;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->vconn_on == on) {
+drivers/usb/typec/tcpm/fusb302.c:		switches0_data = (chip->cc_polarity == TYPEC_POLARITY_CC1) ?
+drivers/usb/typec/tcpm/fusb302.c:	chip->vconn_on = on;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->vbus_on == on) {
+drivers/usb/typec/tcpm/fusb302.c:			ret = regulator_enable(chip->vbus);
+drivers/usb/typec/tcpm/fusb302.c:			ret = regulator_disable(chip->vbus);
+drivers/usb/typec/tcpm/fusb302.c:		chip->vbus_on = on;
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->charge_on == charge)
+drivers/usb/typec/tcpm/fusb302.c:		chip->charge_on = charge;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->intr_bc_lvl) {
+drivers/usb/typec/tcpm/fusb302.c:		mod_delayed_work(chip->wq, &chip->bc_lvl_handler,
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->cc_polarity == TYPEC_POLARITY_CC1) {
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->cc1 != cc_status) {
+drivers/usb/typec/tcpm/fusb302.c:				    typec_cc_status_name[chip->cc1],
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc1 = cc_status;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->cc2 != cc_status) {
+drivers/usb/typec/tcpm/fusb302.c:				    typec_cc_status_name[chip->cc2],
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc2 = cc_status;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->vconn_on)
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->vconn_on)
+drivers/usb/typec/tcpm/fusb302.c:	chip->cc_polarity = cc_polarity;
+drivers/usb/typec/tcpm/fusb302.c:		ret = fusb302_set_toggling(chip, chip->toggling_mode);
+drivers/usb/typec/tcpm/fusb302.c:	if ((chip->cc1 != cc1) || (chip->cc2 != cc2)) {
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc1 = cc1;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc2 = cc2;
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_bc_lvl = true;
+drivers/usb/typec/tcpm/fusb302.c:	u8 ra_mda = ra_mda_value[chip->src_current_status];
+drivers/usb/typec/tcpm/fusb302.c:	u8 rd_mda = rd_mda_value[chip->src_current_status];
+drivers/usb/typec/tcpm/fusb302.c:	u8 rd_mda = rd_mda_value[chip->src_current_status];
+drivers/usb/typec/tcpm/fusb302.c:	enum toggling_mode toggling_mode = chip->toggling_mode;
+drivers/usb/typec/tcpm/fusb302.c:	if ((chip->cc1 != cc1) || (chip->cc2 != cc2)) {
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc1 = cc1;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc2 = cc2;
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_comp_chng = true;
+drivers/usb/typec/tcpm/fusb302.c:		fusb302_set_toggling(chip, chip->toggling_mode);
+drivers/usb/typec/tcpm/fusb302.c:		fusb302_set_toggling(chip, chip->toggling_mode);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_SUCCESS);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_receive(chip->tcpm_port, msg);
+drivers/usb/typec/tcpm/fusb302.c:	disable_irq_nosync(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->irq_suspended)
+drivers/usb/typec/tcpm/fusb302.c:		chip->irq_while_suspended = true;
+drivers/usb/typec/tcpm/fusb302.c:		schedule_work(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	intr_togdone = chip->intr_togdone;
+drivers/usb/typec/tcpm/fusb302.c:	intr_bc_lvl = chip->intr_bc_lvl;
+drivers/usb/typec/tcpm/fusb302.c:	intr_comp_chng = chip->intr_comp_chng;
+drivers/usb/typec/tcpm/fusb302.c:		if (vbus_present != chip->vbus_present) {
+drivers/usb/typec/tcpm/fusb302.c:			chip->vbus_present = vbus_present;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_vbus_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:		mod_delayed_work(chip->wq, &chip->bc_lvl_handler,
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc1 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc2 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_FAILED);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_FAILED);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_SUCCESS);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_hard_reset(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	enable_irq(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	node = chip->dev->of_node;
+drivers/usb/typec/tcpm/fusb302.c:	chip->gpio_int_n = of_get_named_gpio(node, "fcs,int_n", 0);
+drivers/usb/typec/tcpm/fusb302.c:	if (!gpio_is_valid(chip->gpio_int_n)) {
+drivers/usb/typec/tcpm/fusb302.c:		ret = chip->gpio_int_n;
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev, "cannot get named GPIO Int_N, ret=%d", ret);
+drivers/usb/typec/tcpm/fusb302.c:	ret = devm_gpio_request(chip->dev, chip->gpio_int_n, "fcs,int_n");
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev, "cannot request GPIO Int_N, ret=%d", ret);
+drivers/usb/typec/tcpm/fusb302.c:	ret = gpio_direction_input(chip->gpio_int_n);
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:	ret = gpio_to_irq(chip->gpio_int_n);
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:	chip->gpio_int_n_irq = ret;
+drivers/usb/typec/tcpm/fusb302.c:	chip->i2c_client = client;
+drivers/usb/typec/tcpm/fusb302.c:	chip->dev = &client->dev;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_init(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:		chip->extcon = extcon_get_extcon_dev(name);
+drivers/usb/typec/tcpm/fusb302.c:		if (!chip->extcon)
+drivers/usb/typec/tcpm/fusb302.c:	chip->vbus = devm_regulator_get(chip->dev, "vbus");
+drivers/usb/typec/tcpm/fusb302.c:	if (IS_ERR(chip->vbus))
+drivers/usb/typec/tcpm/fusb302.c:		return PTR_ERR(chip->vbus);
+drivers/usb/typec/tcpm/fusb302.c:	chip->wq = create_singlethread_workqueue(dev_name(chip->dev));
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->wq)
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_init(&chip->irq_lock);
+drivers/usb/typec/tcpm/fusb302.c:	INIT_WORK(&chip->irq_work, fusb302_irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	INIT_DELAYED_WORK(&chip->bc_lvl_handler, fusb302_bc_lvl_handler_work);
+drivers/usb/typec/tcpm/fusb302.c:	init_tcpc_dev(&chip->tcpc_dev);
+drivers/usb/typec/tcpm/fusb302.c:		chip->gpio_int_n_irq = client->irq;
+drivers/usb/typec/tcpm/fusb302.c:	chip->tcpc_dev.fwnode = fusb302_fwnode_get(dev);
+drivers/usb/typec/tcpm/fusb302.c:	if (IS_ERR(chip->tcpc_dev.fwnode)) {
+drivers/usb/typec/tcpm/fusb302.c:		ret = PTR_ERR(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:	chip->tcpm_port = tcpm_register_port(&client->dev, &chip->tcpc_dev);
+drivers/usb/typec/tcpm/fusb302.c:	if (IS_ERR(chip->tcpm_port)) {
+drivers/usb/typec/tcpm/fusb302.c:		fwnode_handle_put(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:		ret = PTR_ERR(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	ret = request_irq(chip->gpio_int_n_irq, fusb302_irq_intn,
+drivers/usb/typec/tcpm/fusb302.c:	enable_irq_wake(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	tcpm_unregister_port(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	fwnode_handle_put(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:	destroy_workqueue(chip->wq);
+drivers/usb/typec/tcpm/fusb302.c:	disable_irq_wake(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	free_irq(chip->gpio_int_n_irq, chip);
+drivers/usb/typec/tcpm/fusb302.c:	cancel_work_sync(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	cancel_delayed_work_sync(&chip->bc_lvl_handler);
+drivers/usb/typec/tcpm/fusb302.c:	tcpm_unregister_port(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	fwnode_handle_put(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:	destroy_workqueue(chip->wq);
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	chip->irq_suspended = true;
+drivers/usb/typec/tcpm/fusb302.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	flush_work(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->irq_while_suspended) {
+drivers/usb/typec/tcpm/fusb302.c:		schedule_work(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:		chip->irq_while_suspended = false;
+drivers/usb/typec/tcpm/fusb302.c:	chip->irq_suspended = false;
+drivers/usb/typec/tcpm/fusb302.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/tcpci.c:	return tcpci_irq(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci.c:	chip->data.regmap = devm_regmap_init_i2c(client, &tcpci_regmap_config);
+drivers/usb/typec/tcpm/tcpci.c:	if (IS_ERR(chip->data.regmap))
+drivers/usb/typec/tcpm/tcpci.c:		return PTR_ERR(chip->data.regmap);
+drivers/usb/typec/tcpm/tcpci.c:	err = regmap_raw_write(chip->data.regmap, TCPC_ALERT_MASK, &val,
+drivers/usb/typec/tcpm/tcpci.c:	chip->tcpci = tcpci_register_port(&client->dev, &chip->data);
+drivers/usb/typec/tcpm/tcpci.c:	if (IS_ERR(chip->tcpci))
+drivers/usb/typec/tcpm/tcpci.c:		return PTR_ERR(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci.c:		tcpci_unregister_port(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci.c:	tcpci_unregister_port(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_read(chip->data.regmap, reg, val, sizeof(u16));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_write(chip->data.regmap, reg, &val, sizeof(u16));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_read(chip->data.regmap, reg, val, sizeof(u8));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_write(chip->data.regmap, reg, &val, sizeof(u8));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	if (!chip->tcpci)
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return tcpci_irq(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	ret = devm_request_threaded_irq(chip->dev, client->irq, NULL,
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:					dev_name(chip->dev), chip);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.regmap = devm_regmap_init_i2c(client,
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	if (IS_ERR(chip->data.regmap))
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:		return PTR_ERR(chip->data.regmap);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->dev = &client->dev;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.init = rt1711h_init;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.set_vconn = rt1711h_set_vconn;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.start_drp_toggling = rt1711h_start_drp_toggling;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->tcpci = tcpci_register_port(chip->dev, &chip->data);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	if (IS_ERR_OR_NULL(chip->tcpci))
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:		return PTR_ERR(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	tcpci_unregister_port(chip->tcpci);
+drivers/video/backlight/88pm860x_bl.c:	dev_dbg(chip->dev, "set brightness %d\n", value);
+drivers/video/backlight/88pm860x_bl.c:	dev_dbg(chip->dev, "set brightness %d failure with return value: %d\n",
+drivers/video/backlight/88pm860x_bl.c:	dev_dbg(chip->dev, "get brightness %d\n", data->current_brightness);
+drivers/video/backlight/88pm860x_bl.c:	data->i2c = (chip->id == CHIP_PM8606) ? chip->client : chip->companion;
+drivers/video/backlight/lm3630a_bl.c:	rval = regmap_read(pchip->regmap, reg, &reg_val);
+drivers/video/backlight/lm3630a_bl.c:	return regmap_write(pchip->regmap, reg, data);
+drivers/video/backlight/lm3630a_bl.c:	return regmap_update_bits(pchip->regmap, reg, mask, data);
+drivers/video/backlight/lm3630a_bl.c:	struct lm3630a_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev,
+drivers/video/backlight/lm3630a_bl.c:	dev_info(pchip->dev, "REG_INT_STATUS Register is 0x%x\n", rval);
+drivers/video/backlight/lm3630a_bl.c:	queue_delayed_work(pchip->irqthread, &pchip->work, delay);
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	INIT_DELAYED_WORK(&pchip->work, lm3630a_delayed_func);
+drivers/video/backlight/lm3630a_bl.c:	pchip->irqthread = create_singlethread_workqueue("lm3630a-irqthd");
+drivers/video/backlight/lm3630a_bl.c:	if (!pchip->irqthread) {
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "create irq thread fail\n");
+drivers/video/backlight/lm3630a_bl.c:	    (pchip->irq, NULL, lm3630a_isr_func,
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "request threaded irq fail\n");
+drivers/video/backlight/lm3630a_bl.c:		destroy_workqueue(pchip->irqthread);
+drivers/video/backlight/lm3630a_bl.c:	unsigned int period = pchip->pdata->pwm_period;
+drivers/video/backlight/lm3630a_bl.c:	pwm_config(pchip->pwmd, duty, period);
+drivers/video/backlight/lm3630a_bl.c:		pwm_enable(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:		pwm_disable(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access\n");
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access REG_CTRL\n");
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	struct lm3630a_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3630a_bl.c:		pchip->bleda =
+drivers/video/backlight/lm3630a_bl.c:		    devm_backlight_device_register(pchip->dev, label,
+drivers/video/backlight/lm3630a_bl.c:						   pchip->dev, pchip,
+drivers/video/backlight/lm3630a_bl.c:		if (IS_ERR(pchip->bleda))
+drivers/video/backlight/lm3630a_bl.c:			return PTR_ERR(pchip->bleda);
+drivers/video/backlight/lm3630a_bl.c:		pchip->bledb =
+drivers/video/backlight/lm3630a_bl.c:		    devm_backlight_device_register(pchip->dev, label,
+drivers/video/backlight/lm3630a_bl.c:						   pchip->dev, pchip,
+drivers/video/backlight/lm3630a_bl.c:		if (IS_ERR(pchip->bledb))
+drivers/video/backlight/lm3630a_bl.c:			return PTR_ERR(pchip->bledb);
+drivers/video/backlight/lm3630a_bl.c:	device_for_each_child_node(pchip->dev, node) {
+drivers/video/backlight/lm3630a_bl.c:	pchip->dev = &client->dev;
+drivers/video/backlight/lm3630a_bl.c:	pchip->regmap = devm_regmap_init_i2c(client, &lm3630a_regmap);
+drivers/video/backlight/lm3630a_bl.c:	if (IS_ERR(pchip->regmap)) {
+drivers/video/backlight/lm3630a_bl.c:		rval = PTR_ERR(pchip->regmap);
+drivers/video/backlight/lm3630a_bl.c:		pdata = devm_kzalloc(pchip->dev,
+drivers/video/backlight/lm3630a_bl.c:	pchip->pdata = pdata;
+drivers/video/backlight/lm3630a_bl.c:	pchip->enable_gpio = devm_gpiod_get_optional(&client->dev, "enable",
+drivers/video/backlight/lm3630a_bl.c:	if (IS_ERR(pchip->enable_gpio)) {
+drivers/video/backlight/lm3630a_bl.c:		rval = PTR_ERR(pchip->enable_gpio);
+drivers/video/backlight/lm3630a_bl.c:		pchip->pwmd = devm_pwm_get(pchip->dev, "lm3630a-pwm");
+drivers/video/backlight/lm3630a_bl.c:		if (IS_ERR(pchip->pwmd)) {
+drivers/video/backlight/lm3630a_bl.c:			return PTR_ERR(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:		pwm_apply_args(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:	pchip->irq = client->irq;
+drivers/video/backlight/lm3630a_bl.c:	if (pchip->irq) {
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	if (pchip->irq) {
+drivers/video/backlight/lm3630a_bl.c:		free_irq(pchip->irq, pchip);
+drivers/video/backlight/lm3630a_bl.c:		flush_workqueue(pchip->irqthread);
+drivers/video/backlight/lm3630a_bl.c:		destroy_workqueue(pchip->irqthread);
+drivers/video/backlight/lm3639_bl.c:	struct lm3639_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3639_bl.c:	    regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x08,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_IO_CTRL, 0x7C, reg_val);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_4, pdata->init_brt_led);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_3, pdata->init_brt_led);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x79, reg_val);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:	struct lm3639_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		dev_info(pchip->dev, "last flag is 0x%x\n", reg_val);
+drivers/video/backlight/lm3639_bl.c:			dev_err(pchip->dev,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_4, bl->props.brightness);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_3, bl->props.brightness);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x00);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x01);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access registers\n");
+drivers/video/backlight/lm3639_bl.c:	struct lm3639_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3639_bl.c:			dev_err(pchip->dev,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_BL_CONF_1, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_read(pchip->regmap, REG_BL_CONF_4, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_read(pchip->regmap, REG_BL_CONF_3, &reg_val);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:		    regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10,
+drivers/video/backlight/lm3639_bl.c:		    regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10,
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "%s:input conversion fail\n", __func__);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		dev_info(pchip->dev, "last flag is 0x%x\n", reg_val);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x02);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		dev_info(pchip->dev, "last flag is 0x%x\n", reg_val);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x06);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:	pchip->pdata = pdata;
+drivers/video/backlight/lm3639_bl.c:	pchip->dev = &client->dev;
+drivers/video/backlight/lm3639_bl.c:	pchip->regmap = devm_regmap_init_i2c(client, &lm3639_regmap);
+drivers/video/backlight/lm3639_bl.c:	if (IS_ERR(pchip->regmap)) {
+drivers/video/backlight/lm3639_bl.c:		ret = PTR_ERR(pchip->regmap);
+drivers/video/backlight/lm3639_bl.c:	pchip->bled =
+drivers/video/backlight/lm3639_bl.c:	    devm_backlight_device_register(pchip->dev, "lm3639_bled",
+drivers/video/backlight/lm3639_bl.c:					   pchip->dev, pchip, &lm3639_bled_ops,
+drivers/video/backlight/lm3639_bl.c:	if (IS_ERR(pchip->bled)) {
+drivers/video/backlight/lm3639_bl.c:		ret = PTR_ERR(pchip->bled);
+drivers/video/backlight/lm3639_bl.c:	ret = device_create_file(&(pchip->bled->dev), &dev_attr_bled_mode);
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_flash.name = "lm3639_flash";
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_flash.max_brightness = 16;
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_flash.brightness_set = lm3639_flash_brightness_set;
+drivers/video/backlight/lm3639_bl.c:				    &client->dev, &pchip->cdev_flash);
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_torch.name = "lm3639_torch";
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_torch.max_brightness = 8;
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_torch.brightness_set = lm3639_torch_brightness_set;
+drivers/video/backlight/lm3639_bl.c:				    &client->dev, &pchip->cdev_torch);
+drivers/video/backlight/lm3639_bl.c:	led_classdev_unregister(&pchip->cdev_flash);
+drivers/video/backlight/lm3639_bl.c:	device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode);
+drivers/video/backlight/lm3639_bl.c:	regmap_write(pchip->regmap, REG_ENABLE, 0x00);
+drivers/video/backlight/lm3639_bl.c:	led_classdev_unregister(&pchip->cdev_torch);
+drivers/video/backlight/lm3639_bl.c:	led_classdev_unregister(&pchip->cdev_flash);
+drivers/video/backlight/lm3639_bl.c:	if (pchip->bled)
+drivers/video/backlight/lm3639_bl.c:		device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode);
+drivers/video/backlight/max8925_bl.c:	ret = max8925_reg_write(chip->i2c, data->reg_cntl, value);
+drivers/video/backlight/max8925_bl.c:		ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 1, 1);
+drivers/video/backlight/max8925_bl.c:		ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 1, 0);
+drivers/video/backlight/max8925_bl.c:	dev_dbg(chip->dev, "set brightness %d\n", value);
+drivers/video/backlight/max8925_bl.c:	dev_dbg(chip->dev, "set brightness %d failure with return value:%d\n",
+drivers/video/backlight/max8925_bl.c:	ret = max8925_reg_read(chip->i2c, data->reg_cntl);
+drivers/video/backlight/max8925_bl.c:	dev_dbg(chip->dev, "get brightness %d\n", data->current_brightness);
+drivers/video/backlight/max8925_bl.c:	ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 0xfe, value);
+drivers/video/fbdev/cirrusfb.c: * chip-specific information
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c8, regnum);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c9, red);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c9, green);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c9, blue);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c7, regnum);
+drivers/video/fbdev/riva/fbdev.c:	*red = VGA_RD08(chip->PDIO, 0x3c9);
+drivers/video/fbdev/riva/fbdev.c:	*green = VGA_RD08(chip->PDIO, 0x3c9);
+drivers/video/fbdev/riva/fbdev.c:	*blue = VGA_RD08(chip->PDIO, 0x3c9);
+drivers/video/fbdev/riva/nv_driver.c:	switch (chip->Architecture) {
+drivers/video/fbdev/riva/nv_driver.c:		if (NV_RD32(chip->PFB, 0x00000000) & 0x00000020) {
+drivers/video/fbdev/riva/nv_driver.c:			if (((NV_RD32(chip->PMC, 0x00000000) & 0xF0) == 0x20)
+drivers/video/fbdev/riva/nv_driver.c:			    && ((NV_RD32(chip->PMC, 0x00000000)&0x0F)>=0x02)) {
+drivers/video/fbdev/riva/nv_driver.c:				switch (NV_RD32(chip->PFB,0x00000000) & 0x03) {
+drivers/video/fbdev/riva/nv_driver.c:			switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003) {
+drivers/video/fbdev/riva/nv_driver.c:		if (NV_RD32(chip->PFB, 0x00000000) & 0x00000100) {
+drivers/video/fbdev/riva/nv_driver.c:			memlen = ((NV_RD32(chip->PFB, 0x00000000)>>12)&0x0F) *
+drivers/video/fbdev/riva/nv_driver.c:			switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003) {
+drivers/video/fbdev/riva/nv_driver.c:			switch ((NV_RD32(chip->PFB, 0x0000020C) >> 20) &
+drivers/video/fbdev/riva/nv_driver.c:	switch (chip->Architecture) {
+drivers/video/fbdev/riva/nv_driver.c:		if (NV_RD32(chip->PFB, 0x00000000) & 0x00000020) {
+drivers/video/fbdev/riva/nv_driver.c:			if (((NV_RD32(chip->PMC, 0x00000000) & 0xF0) == 0x20)
+drivers/video/fbdev/riva/nv_driver.c:			    && ((NV_RD32(chip->PMC,0x00000000)&0x0F) >= 0x02)) {
+drivers/video/fbdev/riva/nv_driver.c:		switch ((NV_RD32(chip->PFB, 0x00000000) >> 3) & 0x00000003) {
+drivers/video/fbdev/riva/riva_hw.c:    return ((NV_RD32(&chip->Rop->FifoFree, 0) < chip->FifoEmptyCount) ||
+drivers/video/fbdev/riva/riva_hw.c:	    NV_RD32(&chip->PGRAPH[0x000006B0/4], 0) & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    return ((NV_RD32(&chip->Rop->FifoFree, 0) < chip->FifoEmptyCount) ||
+drivers/video/fbdev/riva/riva_hw.c:	    NV_RD32(&chip->PGRAPH[0x00000700/4], 0) & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    return ((NV_RD32(&chip->Rop->FifoFree, 0) < chip->FifoEmptyCount) ||
+drivers/video/fbdev/riva/riva_hw.c:	    NV_RD32(&chip->PGRAPH[0x00000700/4], 0) & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x11);
+drivers/video/fbdev/riva/riva_hw.c:    cr11 = VGA_RD08(chip->PCIO, 0x3D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, cr11);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PVIO, 0x3C4, 0x06);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PVIO, 0x3C5, Lock ? 0x99 : 0x57);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x1F);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, Lock ? 0x99 : 0x57);
+drivers/video/fbdev/riva/riva_hw.c:    cursor                      =  chip->CurrentState->cursor1;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CurrentState->cursor1 = (chip->CurrentState->cursor1 & 0xFE) |
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x31);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, chip->CurrentState->cursor1);
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000504/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    MClk = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_width   = (NV_RD32(&chip->PEXTDEV[0x00000000/4], 0) & 0x10) ?
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000504/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    MClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000500/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    NVClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    cfg1 = NV_RD32(&chip->PFB[0x00000204/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_width   = (NV_RD32(&chip->PEXTDEV[0x00000000/4], 0) & 0x10) ?
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000504/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    MClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000500/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    NVClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    cfg1 = NV_RD32(&chip->PFB[0x00000204/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_type    = (NV_RD32(&chip->PFB[0x00000200/4], 0) & 0x01) ?
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_width   = (NV_RD32(&chip->PEXTDEV[0x00000000/4], 0) & 0x10) ?
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000500/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    NVClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    if (chip->CrystalFreqKHz == 13500)
+drivers/video/fbdev/riva/riva_hw.c:        highM = 13 - (chip->Architecture == NV_ARCH_03);
+drivers/video/fbdev/riva/riva_hw.c:        highM = 14 - (chip->Architecture == NV_ARCH_03);
+drivers/video/fbdev/riva/riva_hw.c:    highP = 4 - (chip->Architecture == NV_ARCH_03);
+drivers/video/fbdev/riva/riva_hw.c:        if ((Freq >= 128000) && (Freq <= chip->MaxVClockFreqKHz))
+drivers/video/fbdev/riva/riva_hw.c:                N    = (VClk << P) * M / chip->CrystalFreqKHz;
+drivers/video/fbdev/riva/riva_hw.c:                Freq = (chip->CrystalFreqKHz * N / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            if((chip->Chipset == NV_CHIP_IGEFORCE2) ||
+drivers/video/fbdev/riva/riva_hw.c:               (chip->Chipset == NV_CHIP_0x01F0))
+drivers/video/fbdev/riva/riva_hw.c:            state->cursor0  = 0x80 | (chip->CursorStart >> 17);
+drivers/video/fbdev/riva/riva_hw.c:            state->cursor1  = (chip->CursorStart >> 11) << 2;
+drivers/video/fbdev/riva/riva_hw.c:            state->cursor2  = chip->CursorStart >> 24;
+drivers/video/fbdev/riva/riva_hw.c:            state->config   = NV_RD32(&chip->PFB[0x00000200/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    if((bpp != 8) && (chip->Architecture != NV_ARCH_03))
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev[i][0]] = tbl##Table##dev[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_8BPP[i][0]] = tbl##Table##dev##_8BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_15BPP[i][0]] = tbl##Table##dev##_15BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_16BPP[i][0]] = tbl##Table##dev##_16BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_32BPP[i][0]] = tbl##Table##dev##_32BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev[i][0]], 0, tbl##Table##dev[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_8BPP[i][0]], 0, tbl##Table##dev##_8BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_15BPP[i][0]], 0, tbl##Table##dev##_15BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_16BPP[i][0]], 0, tbl##Table##dev##_16BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_32BPP[i][0]], 0, tbl##Table##dev##_32BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri05 = (RivaTexturedTriangle05 __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri05 = (RivaTexturedTriangle05 __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000200, state->config);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(&chip->PRAMIN[0x00000502 + i], 0, (i << 12) | 0x03);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000630, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000634, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000638, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000063C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000650, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000654, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000658, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000065C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000200, state->config);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000640, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000644, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000648, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000064C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000670, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000674, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000678, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000067C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->twoHeads) {
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x44);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, state->crtcOwner);
+drivers/video/fbdev/riva/riva_hw.c:               chip->LockUnlock(chip, 0);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->Architecture == NV_ARCH_10) {
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000640, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000644, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000648, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x0000064C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000670, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000674, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000678, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x0000067C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000680, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000820, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000824, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000828, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x0000082C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000850, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000854, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000858, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x0000085C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000860, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000864, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x000009A4, NV_RD32(chip->PFB, 0x00000200));
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x000009A8, NV_RD32(chip->PFB, 0x00000204));
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->twoHeads) {
+drivers/video/fbdev/riva/riva_hw.c:               NV_WR32(chip->PCRTC0, 0x00000860, state->head);
+drivers/video/fbdev/riva/riva_hw.c:               NV_WR32(chip->PCRTC0, 0x00002860, state->head2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PRAMDAC, 0x00000404, NV_RD32(chip->PRAMDAC, 0x00000404) | (1 << 25));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008704, 1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008140, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008920, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008924, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008908, 0x01ffffff);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x0000890C, 0x01ffffff);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00001588, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000240, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000250, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000260, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000270, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000280, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000290, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x000002A0, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x000002B0, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B00, NV_RD32(chip->PFB, 0x00000240));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B04, NV_RD32(chip->PFB, 0x00000244));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B08, NV_RD32(chip->PFB, 0x00000248));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B0C, NV_RD32(chip->PFB, 0x0000024C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B10, NV_RD32(chip->PFB, 0x00000250));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B14, NV_RD32(chip->PFB, 0x00000254));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B18, NV_RD32(chip->PFB, 0x00000258));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B1C, NV_RD32(chip->PFB, 0x0000025C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B20, NV_RD32(chip->PFB, 0x00000260));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B24, NV_RD32(chip->PFB, 0x00000264));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B28, NV_RD32(chip->PFB, 0x00000268));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B2C, NV_RD32(chip->PFB, 0x0000026C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B30, NV_RD32(chip->PFB, 0x00000270));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B34, NV_RD32(chip->PFB, 0x00000274));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B38, NV_RD32(chip->PFB, 0x00000278));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B3C, NV_RD32(chip->PFB, 0x0000027C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B40, NV_RD32(chip->PFB, 0x00000280));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B44, NV_RD32(chip->PFB, 0x00000284));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B48, NV_RD32(chip->PFB, 0x00000288));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B4C, NV_RD32(chip->PFB, 0x0000028C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B50, NV_RD32(chip->PFB, 0x00000290));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B54, NV_RD32(chip->PFB, 0x00000294));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B58, NV_RD32(chip->PFB, 0x00000298));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B5C, NV_RD32(chip->PFB, 0x0000029C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B60, NV_RD32(chip->PFB, 0x000002A0));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B64, NV_RD32(chip->PFB, 0x000002A4));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B68, NV_RD32(chip->PFB, 0x000002A8));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B6C, NV_RD32(chip->PFB, 0x000002AC));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B70, NV_RD32(chip->PFB, 0x000002B0));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B74, NV_RD32(chip->PFB, 0x000002B4));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B78, NV_RD32(chip->PFB, 0x000002B8));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B7C, NV_RD32(chip->PFB, 0x000002BC));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F40, 0x10000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F44, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000040);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000008);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000200);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000040);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000800);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F40, 0x30000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F44, 0x00000004);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00006400);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00006800);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00006C00);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00007000);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00007400);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00007800);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00004400);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000040);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PCRTC, 0x00000810, state->cursorConfig);
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->flatPanel) {
+drivers/video/fbdev/riva/riva_hw.c:               if((chip->Chipset & 0x0ff0) == 0x0110) {
+drivers/video/fbdev/riva/riva_hw.c:                   NV_WR32(chip->PRAMDAC, 0x0528, state->dither);
+drivers/video/fbdev/riva/riva_hw.c:               if((chip->Chipset & 0x0ff0) >= 0x0170) {
+drivers/video/fbdev/riva/riva_hw.c:                   NV_WR32(chip->PRAMDAC, 0x083C, state->dither);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x53);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, 0);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x54);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, 0);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x21);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, 0xfa);
+drivers/video/fbdev/riva/riva_hw.c:            VGA_WR08(chip->PCIO, 0x03D4, 0x41);
+drivers/video/fbdev/riva/riva_hw.c:            VGA_WR08(chip->PCIO, 0x03D5, state->extra);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x19);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->repaint0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1A);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->repaint1);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x25);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->screen);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x28);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->pixel);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2D);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->horiz);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1B);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->arbitration0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x20);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->arbitration1);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x30);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->cursor0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x31);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->cursor1);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2F);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->cursor2);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x39);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->interlace);
+drivers/video/fbdev/riva/riva_hw.c:    if(!chip->flatPanel) {
+drivers/video/fbdev/riva/riva_hw.c:       NV_WR32(chip->PRAMDAC0, 0x00000508, state->vpll);
+drivers/video/fbdev/riva/riva_hw.c:       NV_WR32(chip->PRAMDAC0, 0x0000050C, state->pllsel);
+drivers/video/fbdev/riva/riva_hw.c:       if(chip->twoHeads)
+drivers/video/fbdev/riva/riva_hw.c:          NV_WR32(chip->PRAMDAC0, 0x00000520, state->vpll2);
+drivers/video/fbdev/riva/riva_hw.c:       NV_WR32(chip->PRAMDAC, 0x00000848 , state->scale);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PRAMDAC, 0x00000600 , state->general);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PCRTC, 0x00000140, 0);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PCRTC, 0x00000100, chip->VBlankBit);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PMC, 0x00000140, chip->EnableIRQ & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    chip->CurrentState = state;
+drivers/video/fbdev/riva/riva_hw.c:    chip->FifoFreeCount  = 0;
+drivers/video/fbdev/riva/riva_hw.c:    chip->FifoEmptyCount = NV_RD32(&chip->Rop->FifoFree, 0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x19);
+drivers/video/fbdev/riva/riva_hw.c:    state->repaint0     = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1A);
+drivers/video/fbdev/riva/riva_hw.c:    state->repaint1     = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x25);
+drivers/video/fbdev/riva/riva_hw.c:    state->screen       = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x28);
+drivers/video/fbdev/riva/riva_hw.c:    state->pixel        = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2D);
+drivers/video/fbdev/riva/riva_hw.c:    state->horiz        = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1B);
+drivers/video/fbdev/riva/riva_hw.c:    state->arbitration0 = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x20);
+drivers/video/fbdev/riva/riva_hw.c:    state->arbitration1 = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x30);
+drivers/video/fbdev/riva/riva_hw.c:    state->cursor0      = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x31);
+drivers/video/fbdev/riva/riva_hw.c:    state->cursor1      = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2F);
+drivers/video/fbdev/riva/riva_hw.c:    state->cursor2      = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x39);
+drivers/video/fbdev/riva/riva_hw.c:    state->interlace    = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    state->vpll         = NV_RD32(chip->PRAMDAC0, 0x00000508);
+drivers/video/fbdev/riva/riva_hw.c:    state->vpll2        = NV_RD32(chip->PRAMDAC0, 0x00000520);
+drivers/video/fbdev/riva/riva_hw.c:    state->pllsel       = NV_RD32(chip->PRAMDAC0, 0x0000050C);
+drivers/video/fbdev/riva/riva_hw.c:    state->general      = NV_RD32(chip->PRAMDAC, 0x00000600);
+drivers/video/fbdev/riva/riva_hw.c:    state->scale        = NV_RD32(chip->PRAMDAC, 0x00000848);
+drivers/video/fbdev/riva/riva_hw.c:    state->config       = NV_RD32(chip->PFB, 0x00000200);
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            state->offset0  = NV_RD32(chip->PGRAPH, 0x00000630);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset1  = NV_RD32(chip->PGRAPH, 0x00000634);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset2  = NV_RD32(chip->PGRAPH, 0x00000638);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset3  = NV_RD32(chip->PGRAPH, 0x0000063C);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch0   = NV_RD32(chip->PGRAPH, 0x00000650);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch1   = NV_RD32(chip->PGRAPH, 0x00000654);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch2   = NV_RD32(chip->PGRAPH, 0x00000658);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch3   = NV_RD32(chip->PGRAPH, 0x0000065C);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset0  = NV_RD32(chip->PGRAPH, 0x00000640);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset1  = NV_RD32(chip->PGRAPH, 0x00000644);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset2  = NV_RD32(chip->PGRAPH, 0x00000648);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset3  = NV_RD32(chip->PGRAPH, 0x0000064C);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch0   = NV_RD32(chip->PGRAPH, 0x00000670);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch1   = NV_RD32(chip->PGRAPH, 0x00000674);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch2   = NV_RD32(chip->PGRAPH, 0x00000678);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch3   = NV_RD32(chip->PGRAPH, 0x0000067C);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset0  = NV_RD32(chip->PGRAPH, 0x00000640);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset1  = NV_RD32(chip->PGRAPH, 0x00000644);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset2  = NV_RD32(chip->PGRAPH, 0x00000648);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset3  = NV_RD32(chip->PGRAPH, 0x0000064C);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch0   = NV_RD32(chip->PGRAPH, 0x00000670);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch1   = NV_RD32(chip->PGRAPH, 0x00000674);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch2   = NV_RD32(chip->PGRAPH, 0x00000678);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch3   = NV_RD32(chip->PGRAPH, 0x0000067C);
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->twoHeads) {
+drivers/video/fbdev/riva/riva_hw.c:               state->head     = NV_RD32(chip->PCRTC0, 0x00000860);
+drivers/video/fbdev/riva/riva_hw.c:               state->head2    = NV_RD32(chip->PCRTC0, 0x00002860);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x44);
+drivers/video/fbdev/riva/riva_hw.c:               state->crtcOwner = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:            VGA_WR08(chip->PCIO, 0x03D4, 0x41);
+drivers/video/fbdev/riva/riva_hw.c:            state->extra = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:            state->cursorConfig = NV_RD32(chip->PCRTC, 0x00000810);
+drivers/video/fbdev/riva/riva_hw.c:            if((chip->Chipset & 0x0ff0) == 0x0110) {
+drivers/video/fbdev/riva/riva_hw.c:                state->dither = NV_RD32(chip->PRAMDAC, 0x0528);
+drivers/video/fbdev/riva/riva_hw.c:            if((chip->Chipset & 0x0ff0) >= 0x0170) {
+drivers/video/fbdev/riva/riva_hw.c:                state->dither = NV_RD32(chip->PRAMDAC, 0x083C);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PCRTC, 0x800, start);
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock(chip, 0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x0D); VGA_WR08(chip->PCIO, 0x3D5, offset);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x0C); VGA_WR08(chip->PCIO, 0x3D5, offset);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x19); tmp = VGA_RD08(chip->PCIO, 0x3D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, (offset & 0x01F) | (tmp & ~0x1F));
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x2D); tmp = VGA_RD08(chip->PCIO, 0x3D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, (offset & 0x60) | (tmp & ~0x60));
+drivers/video/fbdev/riva/riva_hw.c:    offset = VGA_RD08(chip->PCIO, chip->IO + 0x0A);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3C0, 0x13);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3C0, pan);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000003);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000004);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000013);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000003);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000004);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000003);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000004);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000005);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000006);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000013);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000005);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000006);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface3D __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000007);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:    if (NV_RD32(&chip->PFB[0x00000000/4], 0) & 0x00000020)
+drivers/video/fbdev/riva/riva_hw.c:        if (((NV_RD32(chip->PMC, 0x00000000) & 0xF0) == 0x20)
+drivers/video/fbdev/riva/riva_hw.c:         && ((NV_RD32(chip->PMC, 0x00000000) & 0x0F) >= 0x02))
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 800000;
+drivers/video/fbdev/riva/riva_hw.c:            switch (NV_RD32(chip->PFB, 0x00000000) & 0x03)
+drivers/video/fbdev/riva/riva_hw.c:                    chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->RamAmountKBytes = 1024 * 2;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamAmountKBytes          = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:        switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 2;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CrystalFreqKHz   = (NV_RD32(chip->PEXTDEV, 0x00000000) & 0x00000040) ? 14318 : 13500;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CURSOR           = &(chip->PRAMIN[0x00008000/4 - 0x0800/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->VBlankBit        = 0x00000100;
+drivers/video/fbdev/riva/riva_hw.c:    chip->MaxVClockFreqKHz = 256000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Busy            = nv3Busy;
+drivers/video/fbdev/riva/riva_hw.c:    chip->ShowHideCursor  = ShowHideCursor;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LoadStateExt    = LoadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->UnloadStateExt  = UnloadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetStartAddress = SetStartAddress3;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces2D   = nv3SetSurfaces2D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces3D   = nv3SetSurfaces3D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock      = nv3LockUnlock;
+drivers/video/fbdev/riva/riva_hw.c:    if (NV_RD32(chip->PFB, 0x00000000) & 0x00000100)
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamAmountKBytes = ((NV_RD32(chip->PFB, 0x00000000) >> 12) & 0x0F) * 1024 * 2
+drivers/video/fbdev/riva/riva_hw.c:        switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 32;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 16;
+drivers/video/fbdev/riva/riva_hw.c:    switch ((NV_RD32(chip->PFB, 0x00000000) >> 3) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 800000;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CrystalFreqKHz   = (NV_RD32(chip->PEXTDEV, 0x00000000) & 0x00000040) ? 14318 : 13500;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CURSOR           = &(chip->PRAMIN[0x00010000/4 - 0x0800/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->VBlankBit        = 0x00000001;
+drivers/video/fbdev/riva/riva_hw.c:    chip->MaxVClockFreqKHz = 350000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Busy            = nv4Busy;
+drivers/video/fbdev/riva/riva_hw.c:    chip->ShowHideCursor  = ShowHideCursor;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LoadStateExt    = LoadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->UnloadStateExt  = UnloadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetStartAddress = SetStartAddress;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces2D   = nv4SetSurfaces2D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces3D   = nv4SetSurfaces3D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock      = nv4LockUnlock;
+drivers/video/fbdev/riva/riva_hw.c:    if(!(NV_RD32(chip->PMC, 0x00000004) & 0x01000001))
+drivers/video/fbdev/riva/riva_hw.c:    	NV_WR32(chip->PMC, 0x00000004, 0x01000001);
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamAmountKBytes = (((amt >> 6) & 31) + 1) * 1024;
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamAmountKBytes = (((amt >> 4) & 127) + 1) * 1024;
+drivers/video/fbdev/riva/riva_hw.c:        switch ((NV_RD32(chip->PFB, 0x0000020C) >> 20) & 0x000000FF)
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 2;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 16;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 32;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 64;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 128;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 16;
+drivers/video/fbdev/riva/riva_hw.c:    switch ((NV_RD32(chip->PFB, 0x00000000) >> 3) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 800000;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CrystalFreqKHz = (NV_RD32(chip->PEXTDEV, 0x0000) & (1 << 6)) ?
+drivers/video/fbdev/riva/riva_hw.c:       if(NV_RD32(chip->PEXTDEV, 0x0000) & (1 << 22))
+drivers/video/fbdev/riva/riva_hw.c:           chip->CrystalFreqKHz = 27000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CursorStart      = (chip->RamAmountKBytes - 128) * 1024;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CURSOR           = NULL;  /* can't set this here */
+drivers/video/fbdev/riva/riva_hw.c:    chip->VBlankBit        = 0x00000001;
+drivers/video/fbdev/riva/riva_hw.c:    chip->MaxVClockFreqKHz = 350000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Busy            = nv10Busy;
+drivers/video/fbdev/riva/riva_hw.c:    chip->ShowHideCursor  = ShowHideCursor;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LoadStateExt    = LoadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->UnloadStateExt  = UnloadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetStartAddress = SetStartAddress;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces2D   = nv10SetSurfaces2D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces3D   = nv10SetSurfaces3D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock      = nv4LockUnlock;
+drivers/video/fbdev/riva/riva_hw.c:        chip->twoHeads = TRUE;
+drivers/video/fbdev/riva/riva_hw.c:        chip->twoHeads = FALSE;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Version = RIVA_SW_VERSION;
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:    chip->Chipset = chipset;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Rop    = (RivaRop __iomem         *)&(chip->FIFO[0x00000000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Clip   = (RivaClip __iomem        *)&(chip->FIFO[0x00002000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Patt   = (RivaPattern __iomem     *)&(chip->FIFO[0x00004000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Pixmap = (RivaPixmap __iomem      *)&(chip->FIFO[0x00006000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Blt    = (RivaScreenBlt __iomem   *)&(chip->FIFO[0x00008000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Bitmap = (RivaBitmap __iomem      *)&(chip->FIFO[0x0000A000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Line   = (RivaLine __iomem        *)&(chip->FIFO[0x0000C000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Tri03  = (RivaTexturedTriangle03 __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/via/dvi.c:	restore = tmds_chip->tmds_chip_slave_addr;
+drivers/video/fbdev/via/dvi.c:	tmds_chip->tmds_chip_slave_addr = 0xA0;
+drivers/video/fbdev/via/dvi.c:	tmds_chip->tmds_chip_slave_addr = restore;
+drivers/watchdog/da9062_wdt.c:	regmap_update_bits(chip->regmap,
+drivers/watchdog/da9062_wdt.c:	return regmap_update_bits(chip->regmap,
+drivers/watchdog/imx2_wdt.c:	/* Generate internal chip-level reset if WDOG times out */
+include/linux/amba/pl022.h: * assert/deassert I/O port to control HW generation of devices chip-select.
+include/linux/bcma/bcma_driver_chipcommon.h:/* 43224 chip-specific ChipControl register bits */
+include/linux/cb710.h:	return &chip->pdev->dev;
+include/linux/edac.h:	int csrow_idx;			/* the chip-select row */
+include/linux/gpio/driver.h: * @request: optional hook for chip-specific activation, such as
+include/linux/gpio/driver.h: * @free: optional hook for chip-specific deactivation, such as
+include/linux/gpio/driver.h: * @bgpio_lock: used to lock chip->bgpio_data. Also, this is needed to keep
+include/linux/gpio/driver.h:	 * Callback to translate a device tree GPIO specifier into a chip-
+include/linux/gpio/driver.h: * @chip: the chip to register, with chip->base initialized
+include/linux/gpio/driver.h: * can be freely used, the chip->parent device must be registered before
+include/linux/gpio/driver.h: * If chip->base is negative, this requests dynamic assignment of
+include/linux/gpio/driver.h: * chip->base is invalid or already associated with a different chip.
+include/linux/iio/frequency/ad9523.h: * @sync_ignore_en: Ignore chip-level SYNC signal.
+include/linux/irq.h: * Return value for chip->irq_set_affinity()
+include/linux/irq.h: * @irq_enable:		enable the interrupt (defaults to chip->unmask if NULL)
+include/linux/irqchip/chained_irq.h:	if (chip->irq_eoi)
+include/linux/irqchip/chained_irq.h:	if (chip->irq_mask_ack) {
+include/linux/irqchip/chained_irq.h:		chip->irq_mask_ack(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:		chip->irq_mask(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:		if (chip->irq_ack)
+include/linux/irqchip/chained_irq.h:			chip->irq_ack(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:	if (chip->irq_eoi)
+include/linux/irqchip/chained_irq.h:		chip->irq_eoi(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:		chip->irq_unmask(&desc->irq_data);
+include/linux/mfd/88pm80x.h:		set_bit(irq, &chip->wu_flag);
+include/linux/mfd/88pm80x.h:		clear_bit(irq, &chip->wu_flag);
+include/linux/mfd/twl.h:/* chip-specific feature flags, for twl_regulator_driver_data.features */
+include/linux/mtd/rawnand.h:#define NAND_HAS_SUBPAGE_READ(chip) ((chip->options & NAND_SUBPAGE_READ))
+include/linux/mtd/rawnand.h: * The actual operation structure that will be passed to chip->exec_op().
+include/linux/mtd/rawnand.h: *		 This method replaces chip->legacy.cmdfunc(),
+include/linux/mtd/rawnand.h: *		 chip->legacy.{read,write}_{buf,byte,word}(),
+include/linux/mtd/rawnand.h: *		 chip->legacy.dev_ready() and chip->legacy.waifunc().
+include/linux/mtd/rawnand.h:	return &chip->base.mtd;
+include/linux/mtd/rawnand.h:	return chip->priv;
+include/linux/mtd/rawnand.h:	chip->priv = priv;
+include/linux/mtd/rawnand.h:	chip->manufacturer.priv = priv;
+include/linux/mtd/rawnand.h:	return chip->manufacturer.priv;
+include/linux/mtd/rawnand.h:	WARN(nanddev_bits_per_cell(&chip->base) == 0,
+include/linux/mtd/rawnand.h:	     "chip->bits_per_cell is used uninitialized\n");
+include/linux/mtd/rawnand.h:	return nanddev_bits_per_cell(&chip->base) == 1;
+include/linux/mtd/rawnand.h:	chip->pagecache.page = -1;
+include/linux/mtd/rawnand.h:	return chip->data_buf;
+include/linux/mux/driver.h:	return &mux_chip->mux[mux_chip->controllers];
+include/linux/mux/driver.h:	return mux - mux->chip->mux;
+include/linux/platform_data/emif_plat.h: *		chip-select(CS1) of this EMIF instance
+include/linux/platform_data/emif_plat.h: *		chip-select or whether it's a single one for both
+include/linux/platform_data/mtd-davinci.h:	 * 0-indexed chip-select number of the asynchronous
+include/linux/platform_data/spi-davinci.h: * davinci_spi_config - Per-chip-select configuration for SPI slave devices
+include/linux/platform_data/spi-davinci.h: * @timer_disable: disable chip-select timers (setup and hold)
+include/linux/platform_data/spi-davinci.h: * @c2tdelay:	chip-select setup time. Measured in number of SPI module clocks.
+include/linux/platform_data/spi-davinci.h: * @t2cdelay:	chip-select hold time. Measured in number of SPI module clocks.
+include/linux/platform_data/spi-davinci.h: * @c2edelay:	chip-select active to SPI ENAn signal active time. Measured in
+include/linux/platform_data/ti-aemif.h: * @cs_offset: Lowest allowed chip-select number.
+include/linux/pwm.h: * @chip_data: chip-private data associated with the PWM device
+include/linux/ti_wilink_st.h: *	to take chip-host interface specific action.
+include/linux/usb/usbnet.h: * much everything except custom framing and chip-specific stuff.
+include/soc/fsl/qe/qe_ic.h:	chip->irq_eoi(&desc->irq_data);
+include/soc/fsl/qe/qe_ic.h:	chip->irq_eoi(&desc->irq_data);
+include/soc/fsl/qe/qe_ic.h:	chip->irq_eoi(&desc->irq_data);
+include/sound/ad1816a.h:#define AD1816A_REG(r)			(chip->port + r)
+include/sound/vx_core.h:	return chip->ops->test_and_ack(chip);
+include/sound/vx_core.h:	chip->ops->validate_irq(chip, enable);
+include/sound/vx_core.h:	return chip->ops->in8(chip, reg);
+include/sound/vx_core.h:	return chip->ops->in32(chip, reg);
+include/sound/vx_core.h:	chip->ops->out8(chip, reg, val);
+include/sound/vx_core.h:	chip->ops->out32(chip, reg, val);
+include/sound/vx_core.h:	chip->ops->reset_dsp(chip);
+include/sound/vx_core.h:	chip->ops->dma_write(chip, runtime, pipe, count);
+include/sound/vx_core.h:	chip->ops->dma_read(chip, runtime, pipe, count);
+kernel/irq/autoprobe.c:			if (desc->irq_data.chip->irq_set_type)
+kernel/irq/autoprobe.c:				desc->irq_data.chip->irq_set_type(&desc->irq_data,
+kernel/irq/chip.c:	if (d->chip->irq_startup) {
+kernel/irq/chip.c:		ret = d->chip->irq_startup(d);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_shutdown) {
+kernel/irq/chip.c:			desc->irq_data.chip->irq_shutdown(&desc->irq_data);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_enable) {
+kernel/irq/chip.c:			desc->irq_data.chip->irq_enable(&desc->irq_data);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_disable) {
+kernel/irq/chip.c:			desc->irq_data.chip->irq_disable(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_enable)
+kernel/irq/chip.c:		desc->irq_data.chip->irq_enable(&desc->irq_data);
+kernel/irq/chip.c:		desc->irq_data.chip->irq_unmask(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_disable)
+kernel/irq/chip.c:		desc->irq_data.chip->irq_disable(&desc->irq_data);
+kernel/irq/chip.c:		desc->irq_data.chip->irq_mask(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_mask_ack) {
+kernel/irq/chip.c:		desc->irq_data.chip->irq_mask_ack(&desc->irq_data);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_ack)
+kernel/irq/chip.c:			desc->irq_data.chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_mask) {
+kernel/irq/chip.c:		desc->irq_data.chip->irq_mask(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_unmask) {
+kernel/irq/chip.c:		desc->irq_data.chip->irq_unmask(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->flags & IRQCHIP_EOI_THREADED)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	} else if (!(chip->flags & IRQCHIP_EOI_THREADED)) {
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED))
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_ack)
+kernel/irq/chip.c:		chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_ack)
+kernel/irq/chip.c:		chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:		if (chip && chip->irq_cpu_online &&
+kernel/irq/chip.c:		    (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) ||
+kernel/irq/chip.c:			chip->irq_cpu_online(&desc->irq_data);
+kernel/irq/chip.c:		if (chip && chip->irq_cpu_offline &&
+kernel/irq/chip.c:		    (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) ||
+kernel/irq/chip.c:			chip->irq_cpu_offline(&desc->irq_data);
+kernel/irq/chip.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED))
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED))
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (!data || !data->chip->irq_set_irqchip_state)
+kernel/irq/chip.c:	return data->chip->irq_set_irqchip_state(data, which, val);
+kernel/irq/chip.c:	if (!data || !data->chip->irq_get_irqchip_state)
+kernel/irq/chip.c:	return data->chip->irq_get_irqchip_state(data, which, state);
+kernel/irq/chip.c:	if (data->chip->irq_enable)
+kernel/irq/chip.c:		data->chip->irq_enable(data);
+kernel/irq/chip.c:		data->chip->irq_unmask(data);
+kernel/irq/chip.c:	if (data->chip->irq_disable)
+kernel/irq/chip.c:		data->chip->irq_disable(data);
+kernel/irq/chip.c:		data->chip->irq_mask(data);
+kernel/irq/chip.c:	data->chip->irq_ack(data);
+kernel/irq/chip.c:	data->chip->irq_mask(data);
+kernel/irq/chip.c:	data->chip->irq_mask_ack(data);
+kernel/irq/chip.c:	data->chip->irq_unmask(data);
+kernel/irq/chip.c:	data->chip->irq_eoi(data);
+kernel/irq/chip.c:	if (data->chip->irq_set_affinity)
+kernel/irq/chip.c:		return data->chip->irq_set_affinity(data, dest, force);
+kernel/irq/chip.c:	if (data->chip->irq_set_type)
+kernel/irq/chip.c:		return data->chip->irq_set_type(data, type);
+kernel/irq/chip.c:		if (data->chip && data->chip->irq_retrigger)
+kernel/irq/chip.c:			return data->chip->irq_retrigger(data);
+kernel/irq/chip.c:	if (data->chip->irq_set_vcpu_affinity)
+kernel/irq/chip.c:		return data->chip->irq_set_vcpu_affinity(data, vcpu_info);
+kernel/irq/chip.c:	if (data->chip->flags & IRQCHIP_SKIP_SET_WAKE)
+kernel/irq/chip.c:	if (data->chip->irq_set_wake)
+kernel/irq/chip.c:		return data->chip->irq_set_wake(data, on);
+kernel/irq/chip.c:	if (data->chip->irq_request_resources)
+kernel/irq/chip.c:		return data->chip->irq_request_resources(data);
+kernel/irq/chip.c:	if (data->chip->irq_release_resources)
+kernel/irq/chip.c:		data->chip->irq_release_resources(data);
+kernel/irq/chip.c:		if (data->chip && data->chip->irq_compose_msi_msg)
+kernel/irq/chip.c:	pos->chip->irq_compose_msi_msg(pos, msg);
+kernel/irq/chip.c:	if (IS_ENABLED(CONFIG_PM) && data->chip->parent_device) {
+kernel/irq/chip.c:		retval = pm_runtime_get_sync(data->chip->parent_device);
+kernel/irq/chip.c:			pm_runtime_put_noidle(data->chip->parent_device);
+kernel/irq/chip.c:	if (IS_ENABLED(CONFIG_PM) && data->chip->parent_device)
+kernel/irq/chip.c:		retval = pm_runtime_put(data->chip->parent_device);
+kernel/irq/cpuhotplug.c:	if (!chip || !chip->irq_set_affinity) {
+kernel/irq/cpuhotplug.c:	if (maskchip && chip->irq_mask)
+kernel/irq/cpuhotplug.c:		chip->irq_mask(d);
+kernel/irq/cpuhotplug.c:	if (maskchip && chip->irq_unmask)
+kernel/irq/cpuhotplug.c:		chip->irq_unmask(d);
+kernel/irq/debugfs.c:	seq_printf(m, "%*schip:    %s\n", ind, "", chip->name);
+kernel/irq/debugfs.c:	seq_printf(m, "%*sflags:   0x%lx\n", ind + 1, "", chip->flags);
+kernel/irq/debugfs.c:	irq_debug_show_bits(m, ind, chip->flags, irqchip_flags,
+kernel/irq/generic-chip.c:	if (chip->irq_calc_mask)
+kernel/irq/generic-chip.c:		chip->irq_calc_mask(data);
+kernel/irq/generic-chip.c:			if (chip->irq_calc_mask)
+kernel/irq/generic-chip.c:				chip->irq_calc_mask(d);
+kernel/irq/generic-chip.c: * Only to be called from chip->irq_set_type() callbacks.
+kernel/irq/internals.h:	if (unlikely(desc->irq_data.chip->irq_bus_lock))
+kernel/irq/internals.h:		desc->irq_data.chip->irq_bus_lock(&desc->irq_data);
+kernel/irq/internals.h:	if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock))
+kernel/irq/internals.h:		desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data);
+kernel/irq/ipi.c:	if (!chip->ipi_send_single && !chip->ipi_send_mask)
+kernel/irq/ipi.c:	if (!chip->ipi_send_single) {
+kernel/irq/ipi.c:		chip->ipi_send_mask(data, cpumask_of(cpu));
+kernel/irq/ipi.c:	chip->ipi_send_single(data, cpu);
+kernel/irq/ipi.c:	if (chip->ipi_send_mask) {
+kernel/irq/ipi.c:		chip->ipi_send_mask(data, dest);
+kernel/irq/ipi.c:			chip->ipi_send_single(data, cpu);
+kernel/irq/ipi.c:			chip->ipi_send_single(data, cpu);
+kernel/irq/irqdesc.c:	if (desc->irq_data.chip && desc->irq_data.chip->name) {
+kernel/irq/irqdesc.c:				desc->irq_data.chip->name);
+kernel/irq/irqdomain.c:			domain->name = irq_data->chip->name;
+kernel/irq/irqdomain.c:			domain->name = data->chip->name;
+kernel/irq/manage.c:	    !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity)
+kernel/irq/manage.c:		     chip->name, data->irq);
+kernel/irq/manage.c:	if (!chip || !chip->irq_set_affinity)
+kernel/irq/manage.c:	ret = chip->irq_set_affinity(data, mask, force);
+kernel/irq/manage.c:	if (!chip || !chip->irq_set_affinity)
+kernel/irq/manage.c:		if (chip && chip->irq_set_vcpu_affinity)
+kernel/irq/manage.c:		ret = chip->irq_set_vcpu_affinity(data, vcpu_info);
+kernel/irq/manage.c: *	desc->irq_data.chip->bus_lock and desc->chip->bus_sync_unlock are NULL !
+kernel/irq/manage.c:	if (desc->irq_data.chip->irq_set_wake)
+kernel/irq/manage.c:		ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on);
+kernel/irq/manage.c:	if (!chip || !chip->irq_set_type) {
+kernel/irq/manage.c:			 chip ? (chip->name ? : "unknown") : "unknown");
+kernel/irq/manage.c:	if (chip->flags & IRQCHIP_SET_TYPE_MASKED) {
+kernel/irq/manage.c:	ret = chip->irq_set_type(&desc->irq_data, flags);
+kernel/irq/manage.c:		       flags, irq_desc_get_irq(desc), chip->irq_set_type);
+kernel/irq/manage.c:	if (d->chip->irq_bus_lock || d->chip->irq_bus_sync_unlock)
+kernel/irq/manage.c:	return d->chip->flags & IRQCHIP_SUPPORTS_NMI;
+kernel/irq/manage.c:	if (desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE)
+kernel/irq/manage.c:			       new->name, irq, desc->irq_data.chip->name);
+kernel/irq/manage.c:				new->name, irq, desc->irq_data.chip->name);
+kernel/irq/manage.c:		   !(desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE)) {
+kernel/irq/manage.c:		if (chip->irq_get_irqchip_state)
+kernel/irq/manage.c:		err = chip->irq_get_irqchip_state(data, which, state);
+kernel/irq/manage.c:		if (chip->irq_set_irqchip_state)
+kernel/irq/manage.c:		err = chip->irq_set_irqchip_state(data, which, val);
+kernel/irq/migration.c:	if (!chip->irq_set_affinity)
+kernel/irq/migration.c:		idata->chip->irq_mask(idata);
+kernel/irq/migration.c:		idata->chip->irq_unmask(idata);
+kernel/irq/msi.c:	data->chip->irq_write_msi_msg(data, msg);
+kernel/irq/msi.c:		  (info->chip->flags & IRQCHIP_SUPPORTS_LEVEL_MSI)) &&
+kernel/irq/msi.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+kernel/irq/msi.c:	BUG_ON(!chip || !chip->irq_mask || !chip->irq_unmask);
+kernel/irq/msi.c:	if (!chip->irq_set_affinity)
+kernel/irq/msi.c:		chip->irq_set_affinity = msi_domain_set_affinity;
+kernel/irq/msi.c:		domain->name = info->chip->name;
+kernel/irq/proc.c:		if (desc->irq_data.chip->irq_print_chip)
+kernel/irq/proc.c:			desc->irq_data.chip->irq_print_chip(&desc->irq_data, p);
+kernel/irq/proc.c:		else if (desc->irq_data.chip->name)
+kernel/irq/proc.c:			seq_printf(p, " %8s", desc->irq_data.chip->name);
+kernel/irq/resend.c:		if (!desc->irq_data.chip->irq_retrigger ||
+kernel/irq/resend.c:		    !desc->irq_data.chip->irq_retrigger(&desc->irq_data)) {
+net/dsa/tag_lan9303.c:	return chip->is_bridged && !is_multicast_ether_addr(dest_addr);
+scripts/Kbuild.include:# Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586)
+scripts/Kbuild.include:# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
+scripts/Kbuild.include:# Usage: flag := $(call cc-option-yn,-march=winchip-c6)
+security/integrity/ima/ima_queue.c:	for (i = 0; i < ima_tpm_chip->nr_allocated_banks; i++)
+security/integrity/ima/ima_queue.c:	digests = kcalloc(ima_tpm_chip->nr_allocated_banks, sizeof(*digests),
+security/integrity/ima/ima_queue.c:	for (i = 0; i < ima_tpm_chip->nr_allocated_banks; i++)
+security/integrity/ima/ima_queue.c:		digests[i].alg_id = ima_tpm_chip->allocated_banks[i].alg_id;
+security/keys/trusted-keys/trusted_tpm1.c:	digests = kcalloc(chip->nr_allocated_banks, sizeof(*digests),
+security/keys/trusted-keys/trusted_tpm1.c:	for (i = 0; i < chip->nr_allocated_banks; i++)
+security/keys/trusted-keys/trusted_tpm1.c:		digests[i].alg_id = chip->allocated_banks[i].alg_id;
+security/keys/trusted-keys/trusted_tpm1.c:	put_device(&chip->dev);
+security/keys/trusted-keys/trusted_tpm1.c:		put_device(&chip->dev);
+sound/atmel/ac97c.c:	chip->opened++;
+sound/atmel/ac97c.c:	if (chip->cur_rate) {
+sound/atmel/ac97c.c:		runtime->hw.rate_min = chip->cur_rate;
+sound/atmel/ac97c.c:		runtime->hw.rate_max = chip->cur_rate;
+sound/atmel/ac97c.c:	if (chip->cur_format)
+sound/atmel/ac97c.c:		runtime->hw.formats = pcm_format_to_bits(chip->cur_format);
+sound/atmel/ac97c.c:	chip->playback_substream = substream;
+sound/atmel/ac97c.c:	chip->opened++;
+sound/atmel/ac97c.c:	if (chip->cur_rate) {
+sound/atmel/ac97c.c:		runtime->hw.rate_min = chip->cur_rate;
+sound/atmel/ac97c.c:		runtime->hw.rate_max = chip->cur_rate;
+sound/atmel/ac97c.c:	if (chip->cur_format)
+sound/atmel/ac97c.c:		runtime->hw.formats = pcm_format_to_bits(chip->cur_format);
+sound/atmel/ac97c.c:	chip->capture_substream = substream;
+sound/atmel/ac97c.c:	chip->opened--;
+sound/atmel/ac97c.c:	if (!chip->opened) {
+sound/atmel/ac97c.c:		chip->cur_rate = 0;
+sound/atmel/ac97c.c:		chip->cur_format = 0;
+sound/atmel/ac97c.c:	chip->playback_substream = NULL;
+sound/atmel/ac97c.c:	chip->opened--;
+sound/atmel/ac97c.c:	if (!chip->opened) {
+sound/atmel/ac97c.c:		chip->cur_rate = 0;
+sound/atmel/ac97c.c:		chip->cur_format = 0;
+sound/atmel/ac97c.c:	chip->capture_substream = NULL;
+sound/atmel/ac97c.c:	chip->cur_rate = params_rate(hw_params);
+sound/atmel/ac97c.c:	chip->cur_format = params_format(hw_params);
+sound/atmel/ac97c.c:	chip->cur_rate = params_rate(hw_params);
+sound/atmel/ac97c.c:	chip->cur_format = params_format(hw_params);
+sound/atmel/ac97c.c:	chip->playback_period = 0;
+sound/atmel/ac97c.c:	if (chip->opened <= 1)
+sound/atmel/ac97c.c:	retval = snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE,
+sound/atmel/ac97c.c:		dev_dbg(&chip->pdev->dev, "could not set rate %d Hz\n",
+sound/atmel/ac97c.c:	writel(runtime->dma_addr, chip->regs + ATMEL_PDC_TPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_TCR);
+sound/atmel/ac97c.c:	writel(runtime->dma_addr + block_size, chip->regs + ATMEL_PDC_TNPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_TNCR);
+sound/atmel/ac97c.c:	chip->capture_period = 0;
+sound/atmel/ac97c.c:	if (chip->opened <= 1)
+sound/atmel/ac97c.c:	retval = snd_ac97_set_rate(chip->ac97, AC97_PCM_LR_ADC_RATE,
+sound/atmel/ac97c.c:		dev_dbg(&chip->pdev->dev, "could not set rate %d Hz\n",
+sound/atmel/ac97c.c:	writel(runtime->dma_addr, chip->regs + ATMEL_PDC_RPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_RCR);
+sound/atmel/ac97c.c:	writel(runtime->dma_addr + block_size, chip->regs + ATMEL_PDC_RNPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_RNCR);
+sound/atmel/ac97c.c:		if (chip->opened <= 1)
+sound/atmel/ac97c.c:	writel(ptcr, chip->regs + ATMEL_PDC_PTCR);
+sound/atmel/ac97c.c:	ptcr = readl(chip->regs + ATMEL_PDC_PTSR);
+sound/atmel/ac97c.c:		if (chip->opened <= 1)
+sound/atmel/ac97c.c:	writel(ptcr, chip->regs + ATMEL_PDC_PTCR);
+sound/atmel/ac97c.c:	bytes = readl(chip->regs + ATMEL_PDC_TPR);
+sound/atmel/ac97c.c:	bytes = readl(chip->regs + ATMEL_PDC_RPR);
+sound/atmel/ac97c.c:		dev_dbg(&chip->pdev->dev, "channel A event%s%s%s%s%s%s\n",
+sound/atmel/ac97c.c:			runtime = chip->playback_substream->runtime;
+sound/atmel/ac97c.c:			chip->playback_period++;
+sound/atmel/ac97c.c:			if (chip->playback_period == runtime->periods)
+sound/atmel/ac97c.c:				chip->playback_period = 0;
+sound/atmel/ac97c.c:			next_period = chip->playback_period + 1;
+sound/atmel/ac97c.c:			writel(runtime->dma_addr + offset, chip->regs + ATMEL_PDC_TNPR);
+sound/atmel/ac97c.c:			writel(block_size / 2, chip->regs + ATMEL_PDC_TNCR);
+sound/atmel/ac97c.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/atmel/ac97c.c:			runtime = chip->capture_substream->runtime;
+sound/atmel/ac97c.c:			chip->capture_period++;
+sound/atmel/ac97c.c:			if (chip->capture_period == runtime->periods)
+sound/atmel/ac97c.c:				chip->capture_period = 0;
+sound/atmel/ac97c.c:			next_period = chip->capture_period + 1;
+sound/atmel/ac97c.c:			writel(runtime->dma_addr + offset, chip->regs + ATMEL_PDC_RNPR);
+sound/atmel/ac97c.c:			writel(block_size / 2, chip->regs + ATMEL_PDC_RNCR);
+sound/atmel/ac97c.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/atmel/ac97c.c:		dev_info(&chip->pdev->dev, "codec channel event%s%s%s%s%s\n",
+sound/atmel/ac97c.c:		dev_err(&chip->pdev->dev, "spurious interrupt sr 0x%08x "
+sound/atmel/ac97c.c:	retval = snd_ac97_pcm_assign(chip->ac97_bus,
+sound/atmel/ac97c.c:	retval = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/atmel/ac97c.c:			&chip->pdev->dev, hw.periods_min * hw.period_bytes_min,
+sound/atmel/ac97c.c:	strcpy(pcm->name, chip->card->shortname);
+sound/atmel/ac97c.c:	chip->pcm = pcm;
+sound/atmel/ac97c.c:	return snd_ac97_mixer(chip->ac97_bus, &template, &chip->ac97);
+sound/atmel/ac97c.c:	dev_dbg(&chip->pdev->dev, "codec write timeout\n");
+sound/atmel/ac97c.c:	dev_dbg(&chip->pdev->dev, "codec read timeout\n");
+sound/atmel/ac97c.c:	if (!IS_ERR(chip->reset_pin)) {
+sound/atmel/ac97c.c:		gpiod_set_value(chip->reset_pin, 0);
+sound/atmel/ac97c.c:		gpiod_set_value(chip->reset_pin, 1);
+sound/atmel/ac97c.c:	chip->irq = irq;
+sound/atmel/ac97c.c:	spin_lock_init(&chip->lock);
+sound/atmel/ac97c.c:	chip->card = card;
+sound/atmel/ac97c.c:	chip->pclk = pclk;
+sound/atmel/ac97c.c:	chip->pdev = pdev;
+sound/atmel/ac97c.c:	chip->regs = ioremap(regs->start, resource_size(regs));
+sound/atmel/ac97c.c:	if (!chip->regs) {
+sound/atmel/ac97c.c:	chip->reset_pin = devm_gpiod_get_index(dev, "ac97", 2, GPIOD_OUT_HIGH);
+sound/atmel/ac97c.c:	if (IS_ERR(chip->reset_pin))
+sound/atmel/ac97c.c:	retval = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus);
+sound/atmel/ac97c.c:			chip->regs, irq);
+sound/atmel/ac97c.c:	iounmap(chip->regs);
+sound/atmel/ac97c.c:	clk_disable_unprepare(chip->pclk);
+sound/atmel/ac97c.c:	int ret = clk_prepare_enable(chip->pclk);
+sound/atmel/ac97c.c:	clk_disable_unprepare(chip->pclk);
+sound/atmel/ac97c.c:	clk_put(chip->pclk);
+sound/atmel/ac97c.c:	iounmap(chip->regs);
+sound/atmel/ac97c.c:	free_irq(chip->irq, chip);
+sound/drivers/dummy.c:	snd_card_rw_proc_new(chip->card, "dummy_pcm", chip,
+sound/drivers/mtpav.c: *  where X = chip->num_ports
+sound/drivers/mtpav.c:	else if (subdev < chip->num_ports)
+sound/drivers/mtpav.c:	else if (subdev < chip->num_ports * 2)
+sound/drivers/mtpav.c:		return subdev - chip->num_ports + 0x09; /* remote port */
+sound/drivers/mtpav.c:	else if (subdev == chip->num_ports * 2 + MTPAV_PIDX_COMPUTER)
+sound/drivers/mtpav.c:	else if (subdev == chip->num_ports + MTPAV_PIDX_ADAT)
+sound/drivers/mtpav.c:		return chip->num_ports + MTPAV_PIDX_BROADCAST;
+sound/drivers/mtpav.c:		if (p >= chip->num_ports)
+sound/drivers/mtpav.c:		p = hwport - 0x09 + chip->num_ports;
+sound/drivers/mtpav.c:		if (p >= chip->num_ports * 2)
+sound/drivers/mtpav.c:			p = chip->num_ports;
+sound/drivers/mtpav.c:		return chip->num_ports + MTPAV_PIDX_COMPUTER;
+sound/drivers/mtpav.c:		return chip->num_ports + MTPAV_PIDX_ADAT;
+sound/drivers/mtpav.c:		rval = inb(chip->port + SREG);
+sound/drivers/mtpav.c:		rval = inb(chip->port + CREG);
+sound/drivers/mtpav.c:		outb(val, chip->port + reg);
+sound/drivers/mtpav.c:	spin_lock_irqsave(&chip->spinlock, flags);
+sound/drivers/mtpav.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/drivers/mtpav.c:	for (p = 0; p <= chip->num_ports * 2 + MTPAV_PIDX_BROADCAST; p++) {
+sound/drivers/mtpav.c:		struct mtpav_port *portp = &chip->ports[p];
+sound/drivers/mtpav.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+sound/drivers/mtpav.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/drivers/mtpav.c:	del_timer(&chip->timer);
+sound/drivers/mtpav.c:	if (substream->number >= 0 && substream->number < chip->num_ports)
+sound/drivers/mtpav.c:		sprintf(substream->name, "MTP direct %d", (substream->number % chip->num_ports) + 1);
+sound/drivers/mtpav.c:	else if (substream->number >= 8 && substream->number < chip->num_ports * 2)
+sound/drivers/mtpav.c:		sprintf(substream->name, "MTP remote %d", (substream->number % chip->num_ports) + 1);
+sound/drivers/mtpav.c:	else if (substream->number == chip->num_ports * 2)
+sound/drivers/mtpav.c:	else if (substream->number == chip->num_ports * 2 + 1)
+sound/drivers/pcsp/pcsp.c:	snd_card_free(chip->card);
+sound/drivers/pcsp/pcsp.c:	pcspkr_input_remove(chip->input_dev);
+sound/drivers/pcsp/pcsp.h:#define CUR_DIV() CALC_DIV(chip->treble)
+sound/drivers/pcsp/pcsp.h:#define PCSP_INDEX_INC() (1 << (PCSP_MAX_TREBLE - chip->treble))
+sound/drivers/pcsp/pcsp.h:#define PCSP_RATE() PCSP_CALC_RATE(chip->treble)
+sound/drivers/pcsp/pcsp_lib.c:	if (chip->thalf) {
+sound/drivers/pcsp/pcsp_lib.c:		outb(chip->val61, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:		chip->thalf = 0;
+sound/drivers/pcsp/pcsp_lib.c:		return chip->ns_rem;
+sound/drivers/pcsp/pcsp_lib.c:	substream = chip->playback_substream;
+sound/drivers/pcsp/pcsp_lib.c:	val = runtime->dma_area[chip->playback_ptr + chip->fmt_size - 1];
+sound/drivers/pcsp/pcsp_lib.c:	if (chip->is_signed)
+sound/drivers/pcsp/pcsp_lib.c:	if (timer_cnt && chip->enable) {
+sound/drivers/pcsp/pcsp_lib.c:			outb_p(chip->val61, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:			outb(chip->val61 ^ 1, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:			outb(chip->val61 ^ 2, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:			chip->thalf = 1;
+sound/drivers/pcsp/pcsp_lib.c:	chip->ns_rem = PCSP_PERIOD_NS();
+sound/drivers/pcsp/pcsp_lib.c:	ns = (chip->thalf ? PCSP_CALC_NS(timer_cnt) : chip->ns_rem);
+sound/drivers/pcsp/pcsp_lib.c:	chip->ns_rem -= ns;
+sound/drivers/pcsp/pcsp_lib.c:	substream = chip->playback_substream;
+sound/drivers/pcsp/pcsp_lib.c:	spin_lock_irqsave(&chip->substream_lock, flags);
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_ptr += PCSP_INDEX_INC() * chip->fmt_size;
+sound/drivers/pcsp/pcsp_lib.c:	periods_elapsed = chip->playback_ptr - chip->period_ptr;
+sound/drivers/pcsp/pcsp_lib.c:			chip->playback_ptr, period_bytes, buffer_bytes);
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_ptr %= buffer_bytes;
+sound/drivers/pcsp/pcsp_lib.c:		chip->period_ptr += periods_elapsed * period_bytes;
+sound/drivers/pcsp/pcsp_lib.c:		chip->period_ptr %= buffer_bytes;
+sound/drivers/pcsp/pcsp_lib.c:	spin_unlock_irqrestore(&chip->substream_lock, flags);
+sound/drivers/pcsp/pcsp_lib.c:	if (!atomic_read(&chip->timer_active) || !chip->playback_substream)
+sound/drivers/pcsp/pcsp_lib.c:	pointer_update = !chip->thalf;
+sound/drivers/pcsp/pcsp_lib.c:	if (atomic_read(&chip->timer_active)) {
+sound/drivers/pcsp/pcsp_lib.c:	chip->val61 = inb(0x61) | 0x03;
+sound/drivers/pcsp/pcsp_lib.c:	atomic_set(&chip->timer_active, 1);
+sound/drivers/pcsp/pcsp_lib.c:	chip->thalf = 0;
+sound/drivers/pcsp/pcsp_lib.c:	if (!atomic_read(&chip->timer_active))
+sound/drivers/pcsp/pcsp_lib.c:	atomic_set(&chip->timer_active, 0);
+sound/drivers/pcsp/pcsp_lib.c:	outb(chip->val61 & 0xFC, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:	hrtimer_cancel(&chip->timer);
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_substream = NULL;
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_ptr = 0;
+sound/drivers/pcsp/pcsp_lib.c:	chip->period_ptr = 0;
+sound/drivers/pcsp/pcsp_lib.c:	chip->fmt_size =
+sound/drivers/pcsp/pcsp_lib.c:	chip->is_signed = snd_pcm_format_signed(substream->runtime->format);
+sound/drivers/pcsp/pcsp_lib.c:			chip->fmt_size);
+sound/drivers/pcsp/pcsp_lib.c:	spin_lock(&chip->substream_lock);
+sound/drivers/pcsp/pcsp_lib.c:	pos = chip->playback_ptr;
+sound/drivers/pcsp/pcsp_lib.c:	spin_unlock(&chip->substream_lock);
+sound/drivers/pcsp/pcsp_lib.c:	if (atomic_read(&chip->timer_active)) {
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_substream = substream;
+sound/drivers/pcsp/pcsp_lib.c:	err = snd_pcm_new(chip->card, "pcspeaker", 0, 1, 0, &chip->pcm);
+sound/drivers/pcsp/pcsp_lib.c:	snd_pcm_set_ops(chip->pcm, SNDRV_PCM_STREAM_PLAYBACK,
+sound/drivers/pcsp/pcsp_lib.c:	chip->pcm->private_data = chip;
+sound/drivers/pcsp/pcsp_lib.c:	chip->pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX;
+sound/drivers/pcsp/pcsp_lib.c:	strcpy(chip->pcm->name, "pcsp");
+sound/drivers/pcsp/pcsp_lib.c:	snd_pcm_lib_preallocate_pages_for_all(chip->pcm,
+sound/drivers/pcsp/pcsp_mixer.c:	ucontrol->value.integer.value[0] = chip->enable;
+sound/drivers/pcsp/pcsp_mixer.c:	if (enab != chip->enable) {
+sound/drivers/pcsp/pcsp_mixer.c:		chip->enable = enab;
+sound/drivers/pcsp/pcsp_mixer.c:	uinfo->value.enumerated.items = chip->max_treble + 1;
+sound/drivers/pcsp/pcsp_mixer.c:	if (uinfo->value.enumerated.item > chip->max_treble)
+sound/drivers/pcsp/pcsp_mixer.c:		uinfo->value.enumerated.item = chip->max_treble;
+sound/drivers/pcsp/pcsp_mixer.c:	ucontrol->value.enumerated.item[0] = chip->treble;
+sound/drivers/pcsp/pcsp_mixer.c:	if (treble != chip->treble) {
+sound/drivers/pcsp/pcsp_mixer.c:		chip->treble = treble;
+sound/drivers/pcsp/pcsp_mixer.c:	ucontrol->value.integer.value[0] = chip->pcspkr;
+sound/drivers/pcsp/pcsp_mixer.c:	if (spkr != chip->pcspkr) {
+sound/drivers/pcsp/pcsp_mixer.c:		chip->pcspkr = spkr;
+sound/drivers/pcsp/pcsp_mixer.c:	struct snd_card *card = chip->card;
+sound/drivers/pcsp/pcsp_mixer.c:	struct snd_card *card = chip->card;
+sound/drivers/vx/vx_core.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_core.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_core.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_core.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_core.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_core.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_core.c:	vx_init_rmh(&chip->irq_rmh, CMD_TEST_IT);
+sound/drivers/vx/vx_core.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_core.c:	err = vx_send_msg_nolock(chip, &chip->irq_rmh);
+sound/drivers/vx/vx_core.c:		*ret = chip->irq_rmh.Stat[0];
+sound/drivers/vx/vx_core.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_core.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_core.c:	if (! (chip->chip_status & VX_STAT_CHIP_INIT) ||
+sound/drivers/vx/vx_core.c:	    (chip->chip_status & VX_STAT_IS_STALE))
+sound/drivers/vx/vx_core.c:	if (snd_BUG_ON(!chip->ops->reset_board))
+sound/drivers/vx/vx_core.c:	chip->audio_source = VX_AUDIO_SRC_LINE;
+sound/drivers/vx/vx_core.c:		chip->audio_source_target = chip->audio_source;
+sound/drivers/vx/vx_core.c:		chip->clock_source = INTERNAL_QUARTZ;
+sound/drivers/vx/vx_core.c:		chip->clock_mode = VX_CLOCK_MODE_AUTO;
+sound/drivers/vx/vx_core.c:		chip->freq = 48000;
+sound/drivers/vx/vx_core.c:		chip->uer_detected = VX_UER_MODE_NOT_PRESENT;
+sound/drivers/vx/vx_core.c:		chip->uer_bits = SNDRV_PCM_DEFAULT_CON_SPDIF;
+sound/drivers/vx/vx_core.c:	chip->ops->reset_board(chip, cold_reset);
+sound/drivers/vx/vx_core.c:	vx_set_internal_clock(chip, chip->freq);
+sound/drivers/vx/vx_core.c:	vx_set_iec958_status(chip, chip->uer_bits);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "%s\n", chip->card->longname);
+sound/drivers/vx/vx_core.c:		    chip->chip_status & VX_STAT_XILINX_LOADED ? "Loaded" : "No");
+sound/drivers/vx/vx_core.c:		    chip->chip_status & VX_STAT_DEVICE_INIT ? "Yes" : "No");
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_REAL_TIME)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_OFFLINE)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_MPEG1)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_MPEG2)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_LINEAR_8)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_LINEAR_16)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_LINEAR_24)
+sound/drivers/vx/vx_core.c:		    audio_src_vxp[chip->audio_source] :
+sound/drivers/vx/vx_core.c:		    audio_src_vx2[chip->audio_source]);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Clock Mode: %s\n", clock_mode[chip->clock_mode]);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Clock Source: %s\n", clock_src[chip->clock_source]);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Frequency: %d\n", chip->freq);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Detected Frequency: %d\n", chip->freq_detected);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Detected UER type: %s\n", uer_type[chip->uer_detected]);
+sound/drivers/vx/vx_core.c:		    chip->ibl.min_size, chip->ibl.max_size, chip->ibl.size,
+sound/drivers/vx/vx_core.c:		    chip->ibl.granularity);
+sound/drivers/vx/vx_core.c:	snd_card_ro_proc_new(chip->card, "vx-status", chip, vx_proc_read);
+sound/drivers/vx/vx_core.c:	int cold_reset = !(chip->chip_status & VX_STAT_DEVICE_INIT);
+sound/drivers/vx/vx_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/drivers/vx/vx_core.c:	chip->chip_status |= VX_STAT_IN_SUSPEND;
+sound/drivers/vx/vx_core.c:	chip->chip_status &= ~VX_STAT_CHIP_INIT;
+sound/drivers/vx/vx_core.c:		if (! chip->firmware[i])
+sound/drivers/vx/vx_core.c:		err = chip->ops->load_dsp(chip, i, chip->firmware[i]);
+sound/drivers/vx/vx_core.c:	chip->chip_status |= VX_STAT_CHIP_INIT;
+sound/drivers/vx/vx_core.c:	chip->chip_status &= ~VX_STAT_IN_SUSPEND;
+sound/drivers/vx/vx_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/drivers/vx/vx_core.c:	mutex_init(&chip->lock);
+sound/drivers/vx/vx_core.c:	chip->irq = -1;
+sound/drivers/vx/vx_core.c:	chip->hw = hw;
+sound/drivers/vx/vx_core.c:	chip->type = hw->type;
+sound/drivers/vx/vx_core.c:	chip->ops = ops;
+sound/drivers/vx/vx_core.c:	mutex_init(&chip->mixer_mutex);
+sound/drivers/vx/vx_core.c:	chip->card = card;
+sound/drivers/vx/vx_hwdep.c:		if (! fw_files[chip->type][i])
+sound/drivers/vx/vx_hwdep.c:		sprintf(path, "vx/%s", fw_files[chip->type][i]);
+sound/drivers/vx/vx_hwdep.c:		if (request_firmware(&fw, path, chip->dev)) {
+sound/drivers/vx/vx_hwdep.c:		err = chip->ops->load_dsp(chip, i, fw);
+sound/drivers/vx/vx_hwdep.c:			chip->chip_status |= VX_STAT_XILINX_LOADED;
+sound/drivers/vx/vx_hwdep.c:		chip->firmware[i] = fw;
+sound/drivers/vx/vx_hwdep.c:	if (chip->ops->add_controls)
+sound/drivers/vx/vx_hwdep.c:		if ((err = chip->ops->add_controls(chip)) < 0)
+sound/drivers/vx/vx_hwdep.c:	chip->chip_status |= VX_STAT_DEVICE_INIT;
+sound/drivers/vx/vx_hwdep.c:	chip->chip_status |= VX_STAT_CHIP_INIT;
+sound/drivers/vx/vx_hwdep.c:	return snd_card_register(chip->card);
+sound/drivers/vx/vx_hwdep.c:		release_firmware(chip->firmware[i]);
+sound/drivers/vx/vx_mixer.c:	if (snd_BUG_ON(!chip->ops->write_codec))
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	chip->ops->write_codec(chip, codec, data);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	left  = chip->hw->output_level_max - left;
+sound/drivers/vx/vx_mixer.c:	right = chip->hw->output_level_max - right;
+sound/drivers/vx/vx_mixer.c:	if (chip->ops->akm_write) {
+sound/drivers/vx/vx_mixer.c:		chip->ops->akm_write(chip, XX_CODEC_LEVEL_LEFT_REGISTER, left);
+sound/drivers/vx/vx_mixer.c:		chip->ops->akm_write(chip, XX_CODEC_LEVEL_RIGHT_REGISTER, right);
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_mixer.c:		if (chip->ops->akm_write)
+sound/drivers/vx/vx_mixer.c:			chip->ops->akm_write(chip, XX_CODEC_DAC_CONTROL_REGISTER, mute); /* XXX */
+sound/drivers/vx/vx_mixer.c:	int port = chip->type >= VX_TYPE_VXPOCKET ? 0x75 : 0x65;
+sound/drivers/vx/vx_mixer.c:	chip->ops->reset_codec(chip);
+sound/drivers/vx/vx_mixer.c:	if (! chip->ops->akm_write) {
+sound/drivers/vx/vx_mixer.c:		for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_mixer.c:		chip->output_level[i][0] = 0;
+sound/drivers/vx/vx_mixer.c:		chip->output_level[i][1] = 0;
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	chip->ops->change_audio_source(chip, src);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	if (chip->audio_source_target == chip->audio_source ||
+sound/drivers/vx/vx_mixer.c:	    chip->pcm_running)
+sound/drivers/vx/vx_mixer.c:	vx_change_audio_source(chip, chip->audio_source_target);
+sound/drivers/vx/vx_mixer.c:	chip->audio_source = chip->audio_source_target;
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	chip->audio_monitor[audio] = level;
+sound/drivers/vx/vx_mixer.c:	chip->audio_monitor_active[audio] = active;
+sound/drivers/vx/vx_mixer.c:	chip->audio_active[audio] = active;
+sound/drivers/vx/vx_mixer.c:	chip->audio_gain[capture][audio] = level;
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_gain, 0, sizeof(chip->audio_gain));
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_active, 0, sizeof(chip->audio_active));
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_monitor, 0, sizeof(chip->audio_monitor));
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_monitor_active, 0, sizeof(chip->audio_monitor_active));
+sound/drivers/vx/vx_mixer.c:		for (i = 0; i < chip->hw->num_ins * 2; i++) {
+sound/drivers/vx/vx_mixer.c:			chip->audio_gain[c][i] = CVAL_0DB;
+sound/drivers/vx/vx_mixer.c:			chip->audio_monitor[i] = CVAL_0DB;
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	uinfo->value.integer.max = chip->hw->output_level_max;
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->output_level[codec][0];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->output_level[codec][1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	vmax = chip->hw->output_level_max;
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (val[0] != chip->output_level[codec][0] ||
+sound/drivers/vx/vx_mixer.c:	    val[1] != chip->output_level[codec][1]) {
+sound/drivers/vx/vx_mixer.c:		chip->output_level[codec][0] = val[0];
+sound/drivers/vx/vx_mixer.c:		chip->output_level[codec][1] = val[1];
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->type >= VX_TYPE_VXPOCKET)
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.enumerated.item[0] = chip->audio_source_target;
+sound/drivers/vx/vx_mixer.c:	if (chip->type >= VX_TYPE_VXPOCKET) {
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->audio_source_target != ucontrol->value.enumerated.item[0]) {
+sound/drivers/vx/vx_mixer.c:		chip->audio_source_target = ucontrol->value.enumerated.item[0];
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.enumerated.item[0] = chip->clock_mode;
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->clock_mode != ucontrol->value.enumerated.item[0]) {
+sound/drivers/vx/vx_mixer.c:		chip->clock_mode = ucontrol->value.enumerated.item[0];
+sound/drivers/vx/vx_mixer.c:		vx_set_clock(chip, chip->freq);
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_gain[capture][audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_gain[capture][audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (val[0] != chip->audio_gain[capture][audio] ||
+sound/drivers/vx/vx_mixer.c:	    val[1] != chip->audio_gain[capture][audio+1]) {
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_monitor[audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_monitor[audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (val[0] != chip->audio_monitor[audio] ||
+sound/drivers/vx/vx_mixer.c:	    val[1] != chip->audio_monitor[audio+1]) {
+sound/drivers/vx/vx_mixer.c:				     chip->audio_monitor_active[audio]);
+sound/drivers/vx/vx_mixer.c:				     chip->audio_monitor_active[audio+1]);
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_active[audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_active[audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (ucontrol->value.integer.value[0] != chip->audio_active[audio] ||
+sound/drivers/vx/vx_mixer.c:	    ucontrol->value.integer.value[1] != chip->audio_active[audio+1]) {
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_monitor_active[audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_monitor_active[audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (ucontrol->value.integer.value[0] != chip->audio_monitor_active[audio] ||
+sound/drivers/vx/vx_mixer.c:	    ucontrol->value.integer.value[1] != chip->audio_monitor_active[audio+1]) {
+sound/drivers/vx/vx_mixer.c:		vx_set_monitor_level(chip, audio, chip->audio_monitor[audio],
+sound/drivers/vx/vx_mixer.c:		vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1],
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[0] = (chip->uer_bits >> 0) & 0xff;
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[1] = (chip->uer_bits >> 8) & 0xff;
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[2] = (chip->uer_bits >> 16) & 0xff;
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[3] = (chip->uer_bits >> 24) & 0xff;
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->uer_bits != val) {
+sound/drivers/vx/vx_mixer.c:		chip->uer_bits = val;
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	struct snd_card *card = chip->card;
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_outs; i++) {
+sound/drivers/vx/vx_mixer.c:		temp.tlv.p = chip->hw->output_level_db_scale;
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_outs; i++) {
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_outs; i++) {
+sound/drivers/vx/vx_mixer.c:		for (i = 0; i < chip->hw->num_ins; i++) {
+sound/drivers/vx/vx_pcm.c:	data_mode = (chip->uer_bits & IEC958_AES0_NONAUDIO) != 0;
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:	if (snd_BUG_ON(audio >= chip->audio_outs))
+sound/drivers/vx/vx_pcm.c:	pipe = chip->playback_pipes[audio];
+sound/drivers/vx/vx_pcm.c:		chip->playback_pipes[audio] = pipe;
+sound/drivers/vx/vx_pcm.c:	chip->playback_pipes[audio] = pipe;
+sound/drivers/vx/vx_pcm.c:	runtime->hw.period_bytes_min = chip->ibl.size;
+sound/drivers/vx/vx_pcm.c:		chip->playback_pipes[pipe->number] = NULL;
+sound/drivers/vx/vx_pcm.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_pcm.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_pcm.c:	if (! pipe->prepared || (chip->chip_status & VX_STAT_IS_STALE))
+sound/drivers/vx/vx_pcm.c:							  chip->ibl.size)) < 0)
+sound/drivers/vx/vx_pcm.c:	if (pipe->running && ! (chip->chip_status & VX_STAT_IS_STALE)) {
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:		chip->pcm_running++;
+sound/drivers/vx/vx_pcm.c:		chip->pcm_running--;
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:	data_mode = (chip->uer_bits & IEC958_AES0_NONAUDIO) != 0;
+sound/drivers/vx/vx_pcm.c:	if (chip->pcm_running && chip->freq != runtime->rate) {
+sound/drivers/vx/vx_pcm.c:			   "from the current %d\n", runtime->rate, chip->freq);
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:	if (snd_BUG_ON(audio >= chip->audio_ins))
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes[audio] = pipe;
+sound/drivers/vx/vx_pcm.c:	if (chip->audio_monitor_active[audio]) {
+sound/drivers/vx/vx_pcm.c:		pipe_out_monitoring = chip->playback_pipes[audio];
+sound/drivers/vx/vx_pcm.c:			chip->playback_pipes[audio] = pipe_out_monitoring;
+sound/drivers/vx/vx_pcm.c:		vx_set_monitor_level(chip, audio, chip->audio_monitor[audio],
+sound/drivers/vx/vx_pcm.c:				     chip->audio_monitor_active[audio]);
+sound/drivers/vx/vx_pcm.c:		vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1],
+sound/drivers/vx/vx_pcm.c:				     chip->audio_monitor_active[audio+1]); 
+sound/drivers/vx/vx_pcm.c:	runtime->hw.period_bytes_min = chip->ibl.size;
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes[pipe->number] = NULL;
+sound/drivers/vx/vx_pcm.c:			chip->playback_pipes[pipe->number] = NULL;
+sound/drivers/vx/vx_pcm.c:	if (!pipe->running || (chip->chip_status & VX_STAT_IS_STALE))
+sound/drivers/vx/vx_pcm.c:		vx_init_rmh(&chip->irq_rmh, CMD_ASYNC);
+sound/drivers/vx/vx_pcm.c:			chip->irq_rmh.Cmd[0] |= 0x00000001;	/* SEL_ASYNC_EVENTS */
+sound/drivers/vx/vx_pcm.c:			chip->irq_rmh.Cmd[0] |= 0x00000002;	/* SEL_END_OF_BUF_EVENTS */
+sound/drivers/vx/vx_pcm.c:		if (vx_send_msg(chip, &chip->irq_rmh) < 0) {
+sound/drivers/vx/vx_pcm.c:		while (i < chip->irq_rmh.LgStat) {
+sound/drivers/vx/vx_pcm.c:			p = chip->irq_rmh.Stat[i] & MASK_FIRST_FIELD;
+sound/drivers/vx/vx_pcm.c:			capture = (chip->irq_rmh.Stat[i] & 0x400000) ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:			eob = (chip->irq_rmh.Stat[i] & 0x800000) ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:					buf = chip->irq_rmh.Stat[i];
+sound/drivers/vx/vx_pcm.c:			if (snd_BUG_ON(p < 0 || p >= chip->audio_outs))
+sound/drivers/vx/vx_pcm.c:			pipe = chip->playback_pipes[p];
+sound/drivers/vx/vx_pcm.c:	for (i = 0; i < chip->audio_ins; i++) {
+sound/drivers/vx/vx_pcm.c:		pipe = chip->capture_pipes[i];
+sound/drivers/vx/vx_pcm.c:	chip->audio_outs = rmh.Stat[0] & MASK_FIRST_FIELD;
+sound/drivers/vx/vx_pcm.c:	chip->audio_ins = (rmh.Stat[0] >> (FIELD_SIZE*2)) & MASK_FIRST_FIELD;
+sound/drivers/vx/vx_pcm.c:	chip->audio_info = rmh.Stat[1];
+sound/drivers/vx/vx_pcm.c:	chip->playback_pipes = kcalloc(chip->audio_outs, sizeof(struct vx_pipe *), GFP_KERNEL);
+sound/drivers/vx/vx_pcm.c:	if (!chip->playback_pipes)
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes = kcalloc(chip->audio_ins, sizeof(struct vx_pipe *), GFP_KERNEL);
+sound/drivers/vx/vx_pcm.c:	if (!chip->capture_pipes) {
+sound/drivers/vx/vx_pcm.c:		kfree(chip->playback_pipes);
+sound/drivers/vx/vx_pcm.c:	preferred = chip->ibl.size;
+sound/drivers/vx/vx_pcm.c:	chip->ibl.size = 0;
+sound/drivers/vx/vx_pcm.c:	vx_set_ibl(chip, &chip->ibl); /* query the info */
+sound/drivers/vx/vx_pcm.c:		chip->ibl.size = ((preferred + chip->ibl.granularity - 1) /
+sound/drivers/vx/vx_pcm.c:				  chip->ibl.granularity) * chip->ibl.granularity;
+sound/drivers/vx/vx_pcm.c:		if (chip->ibl.size > chip->ibl.max_size)
+sound/drivers/vx/vx_pcm.c:			chip->ibl.size = chip->ibl.max_size;
+sound/drivers/vx/vx_pcm.c:		chip->ibl.size = chip->ibl.min_size; /* set to the minimum */
+sound/drivers/vx/vx_pcm.c:	vx_set_ibl(chip, &chip->ibl);
+sound/drivers/vx/vx_pcm.c:	chip->pcm[pcm->device] = NULL;
+sound/drivers/vx/vx_pcm.c:	kfree(chip->playback_pipes);
+sound/drivers/vx/vx_pcm.c:	chip->playback_pipes = NULL;
+sound/drivers/vx/vx_pcm.c:	kfree(chip->capture_pipes);
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes = NULL;
+sound/drivers/vx/vx_pcm.c:	for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_pcm.c:		outs = chip->audio_outs > i * 2 ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:		ins = chip->audio_ins > i * 2 ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:		err = snd_pcm_new(chip->card, "VX PCM", i,
+sound/drivers/vx/vx_pcm.c:		strcpy(pcm->name, chip->card->shortname);
+sound/drivers/vx/vx_pcm.c:		chip->pcm[i] = pcm;
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	if (chip->type >= VX_TYPE_VXPOCKET) {
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	chip->ops->set_clock_source(chip, source);
+sound/drivers/vx/vx_uer.c:	chip->clock_source = source;
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_uer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_uer.c:	if (chip->clock_mode == VX_CLOCK_MODE_EXTERNAL ||
+sound/drivers/vx/vx_uer.c:	    (chip->clock_mode == VX_CLOCK_MODE_AUTO &&
+sound/drivers/vx/vx_uer.c:	     chip->audio_source == VX_AUDIO_SRC_DIGITAL)) {
+sound/drivers/vx/vx_uer.c:		if (chip->clock_source != UER_SYNC) {
+sound/drivers/vx/vx_uer.c:	} else if (chip->clock_mode == VX_CLOCK_MODE_INTERNAL ||
+sound/drivers/vx/vx_uer.c:		   (chip->clock_mode == VX_CLOCK_MODE_AUTO &&
+sound/drivers/vx/vx_uer.c:		    chip->audio_source != VX_AUDIO_SRC_DIGITAL)) {
+sound/drivers/vx/vx_uer.c:		if (chip->clock_source != INTERNAL_QUARTZ) {
+sound/drivers/vx/vx_uer.c:		if (chip->freq == freq)
+sound/drivers/vx/vx_uer.c:	if (chip->freq == freq)
+sound/drivers/vx/vx_uer.c:	chip->freq = freq;
+sound/drivers/vx/vx_uer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_uer.c:	if (chip->clock_source == INTERNAL_QUARTZ)
+sound/drivers/vx/vx_uer.c:	freq = vx_read_uer_status(chip, &chip->uer_detected);
+sound/drivers/vx/vx_uer.c:		chip->freq_detected = freq;
+sound/i2c/cs8427.c:	if (udata != (chip->regmap[CS8427_REG_CSDATABUF] & udata)) {
+sound/i2c/cs8427.c:		chip->regmap[CS8427_REG_CSDATABUF] &= ~CS8427_BSEL;
+sound/i2c/cs8427.c:		chip->regmap[CS8427_REG_CSDATABUF] |= udata;
+sound/i2c/cs8427.c:					   chip->regmap[CS8427_REG_CSDATABUF]);
+sound/i2c/cs8427.c:		chip->playback.hw_udata : chip->playback.hw_status;
+sound/i2c/cs8427.c:			chip->regmap[CS8427_REG_UDATABUF] &= ~CS8427_UBMMASK;
+sound/i2c/cs8427.c:			chip->regmap[CS8427_REG_UDATABUF] |= CS8427_UBMZEROS |
+sound/i2c/cs8427.c:						   chip->regmap[CS8427_REG_UDATABUF]);
+sound/i2c/cs8427.c:	memcpy(chip->regmap + (initvals1[0] & 0x7f), initvals1 + 1, 6);
+sound/i2c/cs8427.c:	memcpy(chip->regmap + (initvals2[0] & 0x7f), initvals2 + 1, 3);
+sound/i2c/cs8427.c:	memcpy(chip->playback.def_status, buf, 24);
+sound/i2c/cs8427.c:	memcpy(chip->playback.pcm_status, buf, 24);
+sound/i2c/cs8427.c:	chip->reset_timeout = reset_timeout;
+sound/i2c/cs8427.c:	if ((chip->regmap[CS8427_REG_CLOCKSOURCE] & CS8427_RXDAES3INPUT) ==
+sound/i2c/cs8427.c:	chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~(CS8427_RUN | CS8427_RXDMASK);
+sound/i2c/cs8427.c:			     chip->regmap[CS8427_REG_CLOCKSOURCE]);
+sound/i2c/cs8427.c:	chip->regmap[CS8427_REG_CLOCKSOURCE] |= CS8427_RUN | CS8427_RXDILRCK;
+sound/i2c/cs8427.c:			     chip->regmap[CS8427_REG_CLOCKSOURCE]);
+sound/i2c/cs8427.c:	end_time = jiffies + chip->reset_timeout;
+sound/i2c/cs8427.c:	chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~CS8427_RXDMASK;
+sound/i2c/cs8427.c:		chip->regmap[CS8427_REG_CLOCKSOURCE] |= CS8427_RXDAES3INPUT;
+sound/i2c/cs8427.c:			     chip->regmap[CS8427_REG_CLOCKSOURCE]);
+sound/i2c/cs8427.c:	memcpy(ucontrol->value.iec958.status, chip->playback.def_status, 24);
+sound/i2c/cs8427.c:		chip->playback.pcm_status : chip->playback.def_status;
+sound/i2c/cs8427.c:	struct snd_pcm_runtime *runtime = chip->playback.substream ?
+sound/i2c/cs8427.c:		chip->playback.substream->runtime : NULL;
+sound/i2c/cs8427.c:			chip->playback.pcm_ctl = kctl;
+sound/i2c/cs8427.c:	chip->playback.substream = play_substream;
+sound/i2c/cs8427.c:	chip->capture.substream = cap_substream;
+sound/i2c/cs8427.c:	if (snd_BUG_ON(!chip->playback.pcm_ctl))
+sound/i2c/cs8427.c:		memcpy(chip->playback.pcm_status,
+sound/i2c/cs8427.c:		       chip->playback.def_status, 24);
+sound/i2c/cs8427.c:	chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+sound/i2c/cs8427.c:		       &chip->playback.pcm_ctl->id);
+sound/i2c/cs8427.c:	status = chip->playback.pcm_status;
+sound/i2c/cs8427.c:			       &chip->playback.pcm_ctl->id);
+sound/i2c/cs8427.c:	reset = chip->rate != rate;
+sound/i2c/cs8427.c:	chip->rate = rate;
+sound/i2c/other/ak4113.c:	atomic_inc(&chip->wq_processing);	/* don't schedule new work */
+sound/i2c/other/ak4113.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4113.c:	spin_lock_init(&chip->lock);
+sound/i2c/other/ak4113.c:	chip->card = card;
+sound/i2c/other/ak4113.c:	chip->read = read;
+sound/i2c/other/ak4113.c:	chip->write = write;
+sound/i2c/other/ak4113.c:	chip->private_data = private_data;
+sound/i2c/other/ak4113.c:	INIT_DELAYED_WORK(&chip->work, ak4113_stats);
+sound/i2c/other/ak4113.c:	atomic_set(&chip->wq_processing, 0);
+sound/i2c/other/ak4113.c:	mutex_init(&chip->reinit_mutex);
+sound/i2c/other/ak4113.c:		chip->regmap[reg] = pgm[reg];
+sound/i2c/other/ak4113.c:	chip->rcs0 = reg_read(chip, AK4113_REG_RCS0) & ~(AK4113_QINT |
+sound/i2c/other/ak4113.c:	chip->rcs1 = reg_read(chip, AK4113_REG_RCS1);
+sound/i2c/other/ak4113.c:	chip->rcs2 = reg_read(chip, AK4113_REG_RCS2);
+sound/i2c/other/ak4113.c:	reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
+sound/i2c/other/ak4113.c:	unsigned char old = chip->regmap[AK4113_REG_PWRDN], reg;
+sound/i2c/other/ak4113.c:		reg_write(chip, reg, chip->regmap[reg]);
+sound/i2c/other/ak4113.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4113.c:		cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4113.c:	mutex_lock(&chip->reinit_mutex);
+sound/i2c/other/ak4113.c:	mutex_unlock(&chip->reinit_mutex);
+sound/i2c/other/ak4113.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4113.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4113.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:		chip->errors[kcontrol->private_value];
+sound/i2c/other/ak4113.c:	chip->errors[kcontrol->private_value] = 0;
+sound/i2c/other/ak4113.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:		(AK4113_IPS(chip->regmap[AK4113_REG_IO1]));
+sound/i2c/other/ak4113.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:	old_val = chip->regmap[AK4113_REG_IO1];
+sound/i2c/other/ak4113.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4113.c:		snd_ak4113_check_rate_and_errors(chip, chip->check_flags);
+sound/i2c/other/ak4113.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4113.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4113.c:	atomic_inc(&chip->wq_processing); /* don't schedule new work */
+sound/i2c/other/ak4113.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4113.c:	atomic_dec(&chip->wq_processing);
+sound/i2c/other/ak4114.c:	atomic_inc(&chip->wq_processing);	/* don't schedule new work */
+sound/i2c/other/ak4114.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4114.c:	spin_lock_init(&chip->lock);
+sound/i2c/other/ak4114.c:	chip->card = card;
+sound/i2c/other/ak4114.c:	chip->read = read;
+sound/i2c/other/ak4114.c:	chip->write = write;
+sound/i2c/other/ak4114.c:	chip->private_data = private_data;
+sound/i2c/other/ak4114.c:	INIT_DELAYED_WORK(&chip->work, ak4114_stats);
+sound/i2c/other/ak4114.c:	atomic_set(&chip->wq_processing, 0);
+sound/i2c/other/ak4114.c:	mutex_init(&chip->reinit_mutex);
+sound/i2c/other/ak4114.c:		chip->regmap[reg] = pgm[reg];
+sound/i2c/other/ak4114.c:		chip->txcsb[reg] = txcsb[reg];
+sound/i2c/other/ak4114.c:	chip->rcs0 = reg_read(chip, AK4114_REG_RCS0) & ~(AK4114_QINT | AK4114_CINT);
+sound/i2c/other/ak4114.c:	chip->rcs1 = reg_read(chip, AK4114_REG_RCS1);
+sound/i2c/other/ak4114.c:		reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
+sound/i2c/other/ak4114.c:			  (chip->txcsb[reg-AK4114_REG_TXCSB0] & ~mask) | val);
+sound/i2c/other/ak4114.c:	unsigned char old = chip->regmap[AK4114_REG_PWRDN], reg;
+sound/i2c/other/ak4114.c:		reg_write(chip, reg, chip->regmap[reg]);
+sound/i2c/other/ak4114.c:		reg_write(chip, reg + AK4114_REG_TXCSB0, chip->txcsb[reg]);
+sound/i2c/other/ak4114.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4114.c:		cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4114.c:	mutex_lock(&chip->reinit_mutex);
+sound/i2c/other/ak4114.c:	mutex_unlock(&chip->reinit_mutex);
+sound/i2c/other/ak4114.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4114.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4114.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4114.c:		chip->errors[kcontrol->private_value];
+sound/i2c/other/ak4114.c:	chip->errors[kcontrol->private_value] = 0;
+sound/i2c/other/ak4114.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4114.c:		ucontrol->value.iec958.status[i] = chip->txcsb[i];
+sound/i2c/other/ak4114.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4114.c:		snd_ak4114_check_rate_and_errors(chip, chip->check_flags);
+sound/i2c/other/ak4114.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4114.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4114.c:	atomic_inc(&chip->wq_processing); /* don't schedule new work */
+sound/i2c/other/ak4114.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4114.c:	atomic_dec(&chip->wq_processing);
+sound/i2c/other/ak4117.c:	del_timer_sync(&chip->timer);
+sound/i2c/other/ak4117.c:	spin_lock_init(&chip->lock);
+sound/i2c/other/ak4117.c:	chip->card = card;
+sound/i2c/other/ak4117.c:	chip->read = read;
+sound/i2c/other/ak4117.c:	chip->write = write;
+sound/i2c/other/ak4117.c:	chip->private_data = private_data;
+sound/i2c/other/ak4117.c:	timer_setup(&chip->timer, snd_ak4117_timer, 0);
+sound/i2c/other/ak4117.c:		chip->regmap[reg] = pgm[reg];
+sound/i2c/other/ak4117.c:	chip->rcs0 = reg_read(chip, AK4117_REG_RCS0) & ~(AK4117_QINT | AK4117_CINT | AK4117_STC);
+sound/i2c/other/ak4117.c:	chip->rcs1 = reg_read(chip, AK4117_REG_RCS1);
+sound/i2c/other/ak4117.c:	chip->rcs2 = reg_read(chip, AK4117_REG_RCS2);
+sound/i2c/other/ak4117.c:	reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
+sound/i2c/other/ak4117.c:	unsigned char old = chip->regmap[AK4117_REG_PWRDN], reg;
+sound/i2c/other/ak4117.c:	del_timer(&chip->timer);
+sound/i2c/other/ak4117.c:	chip->init = 1;
+sound/i2c/other/ak4117.c:		reg_write(chip, reg, chip->regmap[reg]);
+sound/i2c/other/ak4117.c:	chip->init = 0;
+sound/i2c/other/ak4117.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/i2c/other/ak4117.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:		       chip->errors[kcontrol->private_value];
+sound/i2c/other/ak4117.c:	chip->errors[kcontrol->private_value] = 0;
+sound/i2c/other/ak4117.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:	ucontrol->value.integer.value[0] = (chip->regmap[AK4117_REG_IO] & AK4117_IPS) ? 1 : 0;
+sound/i2c/other/ak4117.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:	old_val = chip->regmap[AK4117_REG_IO];
+sound/i2c/other/ak4117.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:	if (chip->init)
+sound/i2c/other/ak4117.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/isa/ad1816a/ad1816a.c:		chip->clock_freq = clockfreq[dev];
+sound/isa/ad1816a/ad1816a.c:		card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->mode & mode) {
+sound/isa/ad1816a/ad1816a_lib.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->mode |= mode;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (!((chip->mode &= ~mode) & AD1816A_MODE_OPEN))
+sound/isa/ad1816a/ad1816a_lib.c:		chip->mode = 0;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:		spin_lock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:		spin_unlock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->p_dma_size = size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_dma_program(chip->dma1, runtime->dma_addr, size,
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->clock_freq)
+sound/isa/ad1816a/ad1816a_lib.c:		rate = (rate * 33000) / chip->clock_freq;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->c_dma_size = size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_dma_program(chip->dma2, runtime->dma_addr, size,
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->clock_freq)
+sound/isa/ad1816a/ad1816a_lib.c:		rate = (rate * 33000) / chip->clock_freq;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (!(chip->mode & AD1816A_MODE_PLAYBACK))
+sound/isa/ad1816a/ad1816a_lib.c:	ptr = snd_dma_pointer(chip->dma1, chip->p_dma_size);
+sound/isa/ad1816a/ad1816a_lib.c:	if (!(chip->mode & AD1816A_MODE_CAPTURE))
+sound/isa/ad1816a/ad1816a_lib.c:	ptr = snd_dma_pointer(chip->dma2, chip->c_dma_size);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((status & AD1816A_PLAYBACK_IRQ_PENDING) && chip->playback_substream)
+sound/isa/ad1816a/ad1816a_lib.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((status & AD1816A_CAPTURE_IRQ_PENDING) && chip->capture_substream)
+sound/isa/ad1816a/ad1816a_lib.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((status & AD1816A_TIMER_IRQ_PENDING) && chip->timer)
+sound/isa/ad1816a/ad1816a_lib.c:		snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.buffer_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.period_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->playback_substream = substream;
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.buffer_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.period_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->capture_substream = substream;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->playback_substream = NULL;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->capture_substream = NULL;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:		chip->image[reg] = snd_ad1816a_read(chip, reg);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:		snd_ad1816a_write(chip, reg, chip->image[reg]);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	switch (chip->version = snd_ad1816a_read(chip, AD1816A_VERSION_ID)) {
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AD1815;
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AD18MAX10;
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AD1816A;
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AUTO;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	release_and_free_resource(chip->res_port);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->irq >= 0)
+sound/isa/ad1816a/ad1816a_lib.c:		free_irq(chip->irq, (void *) chip);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->dma1 >= 0) {
+sound/isa/ad1816a/ad1816a_lib.c:		snd_dma_disable(chip->dma1);
+sound/isa/ad1816a/ad1816a_lib.c:		free_dma(chip->dma1);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->dma2 >= 0) {
+sound/isa/ad1816a/ad1816a_lib.c:		snd_dma_disable(chip->dma2);
+sound/isa/ad1816a/ad1816a_lib.c:		free_dma(chip->dma2);
+sound/isa/ad1816a/ad1816a_lib.c:	switch (chip->hardware) {
+sound/isa/ad1816a/ad1816a_lib.c:			chip->version, chip->hardware);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->irq = -1;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma1 = -1;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma2 = -1;
+sound/isa/ad1816a/ad1816a_lib.c:	if ((chip->res_port = request_region(port, 16, "AD1816A")) == NULL) {
+sound/isa/ad1816a/ad1816a_lib.c:	chip->irq = irq;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma1 = dma1;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma2 = dma2;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->card = card;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->port = port;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_init(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((error = snd_pcm_new(chip->card, "AD1816A", device, 1, 1, &pcm)))
+sound/isa/ad1816a/ad1816a_lib.c:	pcm->info_flags = (chip->dma1 == chip->dma2 ) ? SNDRV_PCM_INFO_JOINT_DUPLEX : 0;
+sound/isa/ad1816a/ad1816a_lib.c:					      chip->card->dev,
+sound/isa/ad1816a/ad1816a_lib.c:					      64*1024, chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->pcm = pcm;
+sound/isa/ad1816a/ad1816a_lib.c:	tid.card = chip->card->number;
+sound/isa/ad1816a/ad1816a_lib.c:	if ((error = snd_timer_new(chip->card, "AD1816A", &tid, &timer)) < 0)
+sound/isa/ad1816a/ad1816a_lib.c:	chip->timer = timer;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/isa/ad1816a/ad1816a_lib.c:	card = chip->card;
+sound/isa/ad1848/ad1848.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/ad1848/ad1848.c:			 chip->pcm->name, chip->port, irq[n], dma1[n]);
+sound/isa/ad1848/ad1848.c:			 chip->pcm->name, chip->port, irq[n], dma1[n]);
+sound/isa/ad1848/ad1848.c:	chip->suspend(chip);
+sound/isa/ad1848/ad1848.c:	chip->resume(chip);
+sound/isa/als100.c:			 chip->name, chip->port, irq[dev], dma8[dev]);
+sound/isa/als100.c:			 chip->name, chip->port, irq[dev], dma8[dev],
+sound/isa/azt2320.c:		card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
+sound/isa/azt2320.c:	chip->suspend(chip);
+sound/isa/azt2320.c:	chip->resume(chip);
+sound/isa/cmi8328.c:	card = chip->card;
+sound/isa/cmi8330.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:		spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:		spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:	substream->private_data = chip->streams[SNDRV_PCM_STREAM_PLAYBACK].private_data;
+sound/isa/cmi8330.c:	return chip->streams[SNDRV_PCM_STREAM_PLAYBACK].open(substream);
+sound/isa/cmi8330.c:	substream->private_data = chip->streams[SNDRV_PCM_STREAM_CAPTURE].private_data;
+sound/isa/cmi8330.c:	return chip->streams[SNDRV_PCM_STREAM_CAPTURE].open(substream);
+sound/isa/cmi8330.c:	if ((err = snd_pcm_new(card, (chip->type == CMI8329) ? "CMI8329" : "CMI8330", 0, 1, 1, &pcm)) < 0)
+sound/isa/cmi8330.c:	strcpy(pcm->name, (chip->type == CMI8329) ? "CMI8329" : "CMI8330");
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].ops = *ops;
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].open = ops->open;
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].ops.open = cmi_open_callbacks[CMI_SB_STREAM];
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].private_data = chip->sb;
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].ops = *ops;
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].open = ops->open;
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].ops.open = cmi_open_callbacks[CMI_AD_STREAM];
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].private_data = chip->wss;
+sound/isa/cmi8330.c:	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &chip->streams[SNDRV_PCM_STREAM_PLAYBACK].ops);
+sound/isa/cmi8330.c:	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &chip->streams[SNDRV_PCM_STREAM_CAPTURE].ops);
+sound/isa/cmi8330.c:	chip->pcm = pcm;
+sound/isa/cs423x/cs4231.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/cs423x/cs4231.c:			 chip->pcm->name, chip->port, irq[n], dma1[n]);
+sound/isa/cs423x/cs4231.c:			 chip->pcm->name, chip->port, irq[n], dma1[n], dma2[n]);
+sound/isa/cs423x/cs4231.c:	chip->suspend(chip);
+sound/isa/cs423x/cs4231.c:	chip->resume(chip);
+sound/isa/cs423x/cs4236.c:	if (chip->hardware & WSS_HW_CS4236B_MASK) {
+sound/isa/cs423x/cs4236.c:	strlcpy(card->driver, chip->pcm->name, sizeof(card->driver));
+sound/isa/cs423x/cs4236.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/cs423x/cs4236.c:			 chip->pcm->name, chip->port, irq[dev], dma1[dev]);
+sound/isa/cs423x/cs4236.c:			 chip->pcm->name, chip->port, irq[dev], dma1[dev],
+sound/isa/cs423x/cs4236.c:	acard->chip->suspend(acard->chip);
+sound/isa/cs423x/cs4236.c:	acard->chip->resume(acard->chip);
+sound/isa/cs423x/cs4236_lib.c:	outb(reg, chip->cport + 3);
+sound/isa/cs423x/cs4236_lib.c:	outb(chip->cimage[reg] = val, chip->cport + 4);
+sound/isa/cs423x/cs4236_lib.c:	outb(reg, chip->cport + 3);
+sound/isa/cs423x/cs4236_lib.c:	return inb(chip->cport + 4);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] | 0x10);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] & ~0x10);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] | 0x20);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] & ~0x20);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		chip->image[reg] = snd_wss_in(chip, reg);
+sound/isa/cs423x/cs4236_lib.c:		chip->eimage[reg] = snd_cs4236_ext_in(chip, CS4236_I23VAL(reg));
+sound/isa/cs423x/cs4236_lib.c:		chip->cimage[reg] = snd_cs4236_ctrl_in(chip, reg);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:			snd_wss_out(chip, reg, chip->image[reg]);
+sound/isa/cs423x/cs4236_lib.c:		snd_cs4236_ext_out(chip, CS4236_I23VAL(reg), chip->eimage[reg]);
+sound/isa/cs423x/cs4236_lib.c:			snd_cs4236_ctrl_out(chip, reg, chip->cimage[reg]);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	if ((chip->hardware & WSS_HW_CS4236B_MASK) == 0) {
+sound/isa/cs423x/cs4236_lib.c:			   chip->hardware);
+sound/isa/cs423x/cs4236_lib.c:				   idx, inb(chip->cport + idx));
+sound/isa/cs423x/cs4236_lib.c:	chip->rate_constraint = snd_cs4236_xrate;
+sound/isa/cs423x/cs4236_lib.c:	chip->set_playback_format = snd_cs4236_playback_format;
+sound/isa/cs423x/cs4236_lib.c:	chip->set_capture_format = snd_cs4236_capture_format;
+sound/isa/cs423x/cs4236_lib.c:	chip->suspend = snd_cs4236_suspend;
+sound/isa/cs423x/cs4236_lib.c:	chip->resume = snd_cs4236_resume;
+sound/isa/cs423x/cs4236_lib.c:	switch (chip->hardware) {
+sound/isa/cs423x/cs4236_lib.c:	chip->pcm->info_flags &= ~SNDRV_PCM_INFO_JOINT_DUPLEX;
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->eimage[CS4236_REG(reg)] >> shift) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val = (chip->eimage[CS4236_REG(reg)] & ~(mask << shift)) | val;
+sound/isa/cs423x/cs4236_lib.c:	change = val != chip->eimage[CS4236_REG(reg)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->cimage[reg] >> shift) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val = (chip->cimage[reg] & ~(mask << shift)) | val;
+sound/isa/cs423x/cs4236_lib.c:	change = val != chip->cimage[reg];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->eimage[CS4236_REG(left_reg)] >> shift_left) & mask;
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = (chip->eimage[CS4236_REG(right_reg)] >> shift_right) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		val1 = (chip->eimage[CS4236_REG(left_reg)] & ~(mask << shift_left)) | val1;
+sound/isa/cs423x/cs4236_lib.c:		val2 = (chip->eimage[CS4236_REG(right_reg)] & ~(mask << shift_right)) | val2;
+sound/isa/cs423x/cs4236_lib.c:		change = val1 != chip->eimage[CS4236_REG(left_reg)] || val2 != chip->eimage[CS4236_REG(right_reg)];
+sound/isa/cs423x/cs4236_lib.c:		val1 = (chip->eimage[CS4236_REG(left_reg)] & ~((mask << shift_left) | (mask << shift_right))) | val1 | val2;
+sound/isa/cs423x/cs4236_lib.c:		change = val1 != chip->eimage[CS4236_REG(left_reg)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->image[left_reg] >> shift_left) & mask;
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = (chip->eimage[CS4236_REG(right_reg)] >> shift_right) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val1 = (chip->image[left_reg] & ~(mask << shift_left)) | val1;
+sound/isa/cs423x/cs4236_lib.c:	val2 = (chip->eimage[CS4236_REG(right_reg)] & ~(mask << shift_right)) | val2;
+sound/isa/cs423x/cs4236_lib.c:	change = val1 != chip->image[left_reg] || val2 != chip->eimage[CS4236_REG(right_reg)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = snd_cs4236_mixer_master_digital_invert_volume(chip->eimage[CS4236_REG(CS4236_LEFT_MASTER)] & 0x7f);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = snd_cs4236_mixer_master_digital_invert_volume(chip->eimage[CS4236_REG(CS4236_RIGHT_MASTER)] & 0x7f);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val1 = (chip->eimage[CS4236_REG(CS4236_LEFT_MASTER)] & ~0x7f) | val1;
+sound/isa/cs423x/cs4236_lib.c:	val2 = (chip->eimage[CS4236_REG(CS4236_RIGHT_MASTER)] & ~0x7f) | val2;
+sound/isa/cs423x/cs4236_lib.c:	change = val1 != chip->eimage[CS4236_REG(CS4236_LEFT_MASTER)] || val2 != chip->eimage[CS4236_REG(CS4236_RIGHT_MASTER)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = snd_cs4235_mixer_output_accu_get_volume(chip->image[CS4235_LEFT_MASTER]);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = snd_cs4235_mixer_output_accu_get_volume(chip->image[CS4235_RIGHT_MASTER]);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val1 = (chip->image[CS4235_LEFT_MASTER] & ~(3 << 5)) | val1;
+sound/isa/cs423x/cs4236_lib.c:	val2 = (chip->image[CS4235_RIGHT_MASTER] & ~(3 << 5)) | val2;
+sound/isa/cs423x/cs4236_lib.c:	change = val1 != chip->image[CS4235_LEFT_MASTER] || val2 != chip->image[CS4235_RIGHT_MASTER];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = chip->image[CS4231_ALT_FEATURE_1] & 0x02 ? 1 : 0;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	mutex_lock(&chip->mce_mutex);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val = (chip->image[CS4231_ALT_FEATURE_1] & ~0x0e) | (0<<2) | (enable << 1);
+sound/isa/cs423x/cs4236_lib.c:	change = val != chip->image[CS4231_ALT_FEATURE_1];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	mutex_unlock(&chip->mce_mutex);
+sound/isa/cs423x/cs4236_lib.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/isa/cs423x/cs4236_lib.c:	card = chip->card;
+sound/isa/cs423x/cs4236_lib.c:	if (chip->hardware == WSS_HW_CS4235 ||
+sound/isa/cs423x/cs4236_lib.c:	    chip->hardware == WSS_HW_CS4239) {
+sound/isa/cs423x/cs4236_lib.c:	switch (chip->hardware) {
+sound/isa/cs423x/cs4236_lib.c:	if (chip->hardware == WSS_HW_CS4237B ||
+sound/isa/cs423x/cs4236_lib.c:	    chip->hardware == WSS_HW_CS4238B) {
+sound/isa/es1688/es1688.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/es1688/es1688.c:		"%s at 0x%lx, irq %i, dma %i", chip->pcm->name, chip->port,
+sound/isa/es1688/es1688.c:		 chip->irq, chip->dma8);
+sound/isa/es1688/es1688.c:			chip->mpu_port > 0) {
+sound/isa/es1688/es1688.c:				chip->mpu_port, 0,
+sound/isa/es1688/es1688_lib.c:		snd_printd("ess_reset at 0x%lx: failed!!!\n", chip->port);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);	/* Some ESS1688 cards need this */
+sound/isa/es1688/es1688_lib.c:		snd_printdd("ESS: [0x%lx] reset failed... 0x%x\n", chip->port, inb(ES1688P(chip, READ)));
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	snd_printdd("ESS: [0x%lx] found.. major = 0x%x, minor = 0x%x\n", chip->port, major, minor);
+sound/isa/es1688/es1688_lib.c:	chip->version = (major << 8) | minor;
+sound/isa/es1688/es1688_lib.c:	if (!chip->version)
+sound/isa/es1688/es1688_lib.c:	switch (chip->version & 0xfff0) {
+sound/isa/es1688/es1688_lib.c:			   "but driver is in another place\n", chip->port);
+sound/isa/es1688/es1688_lib.c:			   chip->port, chip->version);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es1688/es1688_lib.c:	if (enable && chip->mpu_port >= 0x300 && chip->mpu_irq > 0 && chip->hardware != ES1688_HW_688) {
+sound/isa/es1688/es1688_lib.c:		tmp = (chip->mpu_port & 0x0f0) >> 4;
+sound/isa/es1688/es1688_lib.c:			switch (chip->mpu_irq) {
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		irq_bits = irqs[chip->irq & 0x0f];
+sound/isa/es1688/es1688_lib.c:				   chip->port, chip->irq);
+sound/isa/es1688/es1688_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		dma = chip->dma8;
+sound/isa/es1688/es1688_lib.c:				   "for ES1688 chip!!\n", chip->port, dma);
+sound/isa/es1688/es1688_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	chip->trigger_value = value;
+sound/isa/es1688/es1688_lib.c:		spin_unlock(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	       snd_dma_pointer(chip->dma8, chip->dma_size));
+sound/isa/es1688/es1688_lib.c:	spin_unlock(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	chip->dma_size = size;
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	snd_dma_program(chip->dma8, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	chip->dma_size = size;
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	snd_dma_program(chip->dma8, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value == 0x05)	/* ok.. playback is active */
+sound/isa/es1688/es1688_lib.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value == 0x0f)	/* ok.. capture is active */
+sound/isa/es1688/es1688_lib.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value != 0x05)
+sound/isa/es1688/es1688_lib.c:	ptr = snd_dma_pointer(chip->dma8, chip->dma_size);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value != 0x0f)
+sound/isa/es1688/es1688_lib.c:	ptr = snd_dma_pointer(chip->dma8, chip->dma_size);
+sound/isa/es1688/es1688_lib.c:	if (chip->capture_substream != NULL)
+sound/isa/es1688/es1688_lib.c:	chip->playback_substream = substream;
+sound/isa/es1688/es1688_lib.c:	if (chip->playback_substream != NULL)
+sound/isa/es1688/es1688_lib.c:	chip->capture_substream = substream;
+sound/isa/es1688/es1688_lib.c:	chip->playback_substream = NULL;
+sound/isa/es1688/es1688_lib.c:	chip->capture_substream = NULL;
+sound/isa/es1688/es1688_lib.c:	if (chip->hardware != ES1688_HW_UNDEF)
+sound/isa/es1688/es1688_lib.c:	release_and_free_resource(chip->res_port);
+sound/isa/es1688/es1688_lib.c:	if (chip->irq >= 0)
+sound/isa/es1688/es1688_lib.c:		free_irq(chip->irq, (void *) chip);
+sound/isa/es1688/es1688_lib.c:	if (chip->dma8 >= 0) {
+sound/isa/es1688/es1688_lib.c:		disable_dma(chip->dma8);
+sound/isa/es1688/es1688_lib.c:		free_dma(chip->dma8);
+sound/isa/es1688/es1688_lib.c:	sprintf(tmp, "ES%s688 rev %i", chip->hardware == ES1688_HW_688 ? "" : "1", chip->version & 0x0f);
+sound/isa/es1688/es1688_lib.c:	chip->irq = -1;
+sound/isa/es1688/es1688_lib.c:	chip->dma8 = -1;
+sound/isa/es1688/es1688_lib.c:	chip->hardware = ES1688_HW_UNDEF;
+sound/isa/es1688/es1688_lib.c:	chip->res_port = request_region(port + 4, 12, "ES1688");
+sound/isa/es1688/es1688_lib.c:	if (chip->res_port == NULL) {
+sound/isa/es1688/es1688_lib.c:	chip->irq = irq;
+sound/isa/es1688/es1688_lib.c:	chip->dma8 = dma8;
+sound/isa/es1688/es1688_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	spin_lock_init(&chip->mixer_lock);
+sound/isa/es1688/es1688_lib.c:	chip->port = port;
+sound/isa/es1688/es1688_lib.c:	chip->mpu_port = mpu_port;
+sound/isa/es1688/es1688_lib.c:	chip->mpu_irq = mpu_irq;
+sound/isa/es1688/es1688_lib.c:	chip->hardware = hardware;
+sound/isa/es1688/es1688_lib.c:	chip->pcm = pcm;
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:                if ((inb(chip->port + 0x0C) & 0x80) == 0) {
+sound/isa/es18xx.c:                        outb(val, chip->port + 0x0C);
+sound/isa/es18xx.c:                if (inb(chip->port + 0x0C) & 0x40)
+sound/isa/es18xx.c:                        return inb(chip->port + 0x0A);
+sound/isa/es18xx.c:		   chip->port + 0x0A, inb(chip->port + 0x0A));
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:        outb(data, chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:	data = inb(chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:	old = inb(chip->port + 0x05);
+sound/isa/es18xx.c:		outb(new, chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:	old = inb(chip->port + 0x05);
+sound/isa/es18xx.c:	outb(expected, chip->port + 0x05);
+sound/isa/es18xx.c:	new = inb(chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(0x03, chip->port + 0x06);
+sound/isa/es18xx.c:        inb(chip->port + 0x06);
+sound/isa/es18xx.c:        outb(0x00, chip->port + 0x06);
+sound/isa/es18xx.c:        for(i = 0; i < MILLISECOND && !(inb(chip->port + 0x0E) & 0x80); i++);
+sound/isa/es18xx.c:        if (inb(chip->port + 0x0A) != 0xAA)
+sound/isa/es18xx.c:        outb(0x02, chip->port + 0x06);
+sound/isa/es18xx.c:        inb(chip->port + 0x06);
+sound/isa/es18xx.c:        outb(0x00, chip->port + 0x06);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_NEW_RATE) {
+sound/isa/es18xx.c:	if ((chip->caps & ES18XX_PCM2) && mode == DAC2) {
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:		if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:		    (chip->capture_a_substream) &&
+sound/isa/es18xx.c:		chip->dma2_shift = shift;
+sound/isa/es18xx.c:		chip->dma1_shift = shift;
+sound/isa/es18xx.c:        snd_dma_program(chip->dma2, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/es18xx.c:		if (chip->active & DAC2)
+sound/isa/es18xx.c:		chip->active |= DAC2;
+sound/isa/es18xx.c:		if (chip->dma2 >= 4)
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_PCM2)
+sound/isa/es18xx.c:			snd_es18xx_mixer_write(chip, 0x7C, chip->audio2_vol);
+sound/isa/es18xx.c:		if (!(chip->active & DAC2))
+sound/isa/es18xx.c:		chip->active &= ~DAC2;
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_PCM2)
+sound/isa/es18xx.c:	if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:	    chip->playback_a_substream &&
+sound/isa/es18xx.c:	chip->dma1_shift = shift;
+sound/isa/es18xx.c:        snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
+sound/isa/es18xx.c:		if (chip->active & ADC1)
+sound/isa/es18xx.c:		chip->active |= ADC1;
+sound/isa/es18xx.c:		if (!(chip->active & ADC1))
+sound/isa/es18xx.c:		chip->active &= ~ADC1;
+sound/isa/es18xx.c:        snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/es18xx.c:		if (chip->active & DAC1)
+sound/isa/es18xx.c:		chip->active |= DAC1;
+sound/isa/es18xx.c:		if (!(chip->active & DAC1))
+sound/isa/es18xx.c:		chip->active &= ~DAC1;
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_CONTROL) {
+sound/isa/es18xx.c:		status = inb(chip->ctrl_port + 6);
+sound/isa/es18xx.c:		if (inb(chip->port + 0x0C) & 0x01)
+sound/isa/es18xx.c:		if ((chip->caps & ES18XX_HWV) &&
+sound/isa/es18xx.c:                if (chip->active & DAC2)
+sound/isa/es18xx.c:                	snd_pcm_period_elapsed(chip->playback_a_substream);
+sound/isa/es18xx.c:                if (chip->active & ADC1)
+sound/isa/es18xx.c:                	snd_pcm_period_elapsed(chip->capture_a_substream);
+sound/isa/es18xx.c:                else if (chip->active & DAC1)
+sound/isa/es18xx.c:                	snd_pcm_period_elapsed(chip->playback_b_substream);
+sound/isa/es18xx.c:		inb(chip->port + 0x0E);
+sound/isa/es18xx.c:	if ((status & MPU_IRQ) && chip->rmidi)
+sound/isa/es18xx.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_HWV) {
+sound/isa/es18xx.c:					&chip->hw_switch->id);
+sound/isa/es18xx.c:					&chip->hw_volume->id);
+sound/isa/es18xx.c:					&chip->master_switch->id);
+sound/isa/es18xx.c:					&chip->master_volume->id);
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:		if (!(chip->active & DAC2))
+sound/isa/es18xx.c:		pos = snd_dma_pointer(chip->dma2, size);
+sound/isa/es18xx.c:		return pos >> chip->dma2_shift;
+sound/isa/es18xx.c:		if (!(chip->active & DAC1))
+sound/isa/es18xx.c:		pos = snd_dma_pointer(chip->dma1, size);
+sound/isa/es18xx.c:		return pos >> chip->dma1_shift;
+sound/isa/es18xx.c:        if (!(chip->active & ADC1))
+sound/isa/es18xx.c:	pos = snd_dma_pointer(chip->dma1, size);
+sound/isa/es18xx.c:	return pos >> chip->dma1_shift;
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:		if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:		    chip->capture_a_substream && 
+sound/isa/es18xx.c:		    chip->capture_a_substream->runtime->channels != 1)
+sound/isa/es18xx.c:		chip->playback_a_substream = substream;
+sound/isa/es18xx.c:		if (chip->capture_a_substream)
+sound/isa/es18xx.c:		chip->playback_b_substream = substream;
+sound/isa/es18xx.c:				      (chip->caps & ES18XX_NEW_RATE) ? &new_hw_constraints_clocks : &old_hw_constraints_clocks);
+sound/isa/es18xx.c:        if (chip->playback_b_substream)
+sound/isa/es18xx.c:	if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:	    chip->playback_a_substream &&
+sound/isa/es18xx.c:	    chip->playback_a_substream->runtime->channels != 1)
+sound/isa/es18xx.c:        chip->capture_a_substream = substream;
+sound/isa/es18xx.c:				      (chip->caps & ES18XX_NEW_RATE) ? &new_hw_constraints_clocks : &old_hw_constraints_clocks);
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:		chip->playback_a_substream = NULL;
+sound/isa/es18xx.c:		chip->playback_b_substream = NULL;
+sound/isa/es18xx.c:        chip->capture_a_substream = NULL;
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	if (!(chip->version == 0x1869 || chip->version == 0x1879)) {
+sound/isa/es18xx.c:		    (chip->version == 0x1887 || chip->version == 0x1888) &&
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	chip->master_volume = NULL;
+sound/isa/es18xx.c:	chip->master_switch = NULL;
+sound/isa/es18xx.c:	chip->hw_volume = NULL;
+sound/isa/es18xx.c:	chip->hw_switch = NULL;
+sound/isa/es18xx.c:		val = inb(chip->port + ES18XX_PM);
+sound/isa/es18xx.c:		unsigned char cur = inb(chip->port + ES18XX_PM);
+sound/isa/es18xx.c:		outb((cur & ~mask) | val, chip->port + ES18XX_PM);
+sound/isa/es18xx.c:	outb(reg, chip->ctrl_port);
+sound/isa/es18xx.c:	data = inb(chip->ctrl_port + 1);
+sound/isa/es18xx.c:	outb(reg, chip->ctrl_port);
+sound/isa/es18xx.c:	outb(data, chip->ctrl_port + 1);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_CONTROL) {
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x27, chip->irq);
+sound/isa/es18xx.c:			snd_es18xx_config_write(chip, 0x28, chip->irq);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x70, chip->irq);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x72, chip->irq);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x74, chip->dma1);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x75, chip->dma2);
+sound/isa/es18xx.c:		switch (chip->irq) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR "invalid irq %d\n", chip->irq);
+sound/isa/es18xx.c:		switch (chip->dma1) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR "invalid dma1 %d\n", chip->dma1);
+sound/isa/es18xx.c:		switch (chip->dma2) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR "invalid dma2 %d\n", chip->dma2);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_NEW_RATE) {
+sound/isa/es18xx.c:	if (!(chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_SPATIALIZER) {
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_MUTEREC)
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_RECMIX)
+sound/isa/es18xx.c:		snd_printk(KERN_ERR "reset at 0x%lx failed!!!\n", chip->port);
+sound/isa/es18xx.c:		chip->version = 0x488;
+sound/isa/es18xx.c:		chip->version = 0x688;
+sound/isa/es18xx.c:        outb(0x40, chip->port + 0x04);
+sound/isa/es18xx.c:	hi = inb(chip->port + 0x05);
+sound/isa/es18xx.c:	lo = inb(chip->port + 0x05);
+sound/isa/es18xx.c:		chip->version = hi << 8 | lo;
+sound/isa/es18xx.c:		chip->ctrl_port = inb(chip->port + 0x05) << 8;
+sound/isa/es18xx.c:		chip->ctrl_port += inb(chip->port + 0x05);
+sound/isa/es18xx.c:		if ((chip->res_ctrl_port = request_region(chip->ctrl_port, 8, "ES18xx - CTRL")) == NULL) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR PFX "unable go grab port 0x%lx\n", chip->ctrl_port);
+sound/isa/es18xx.c:				chip->version = 0x1887;
+sound/isa/es18xx.c:				chip->version = 0x1888;
+sound/isa/es18xx.c:			chip->version = 0x1788;
+sound/isa/es18xx.c:		chip->version = 0x1688;
+sound/isa/es18xx.c:		snd_printk(KERN_ERR PFX "[0x%lx] ESS chip not found\n", chip->port);
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:		chip->caps = ES18XX_DUPLEX_MONO | ES18XX_DUPLEX_SAME | ES18XX_CONTROL | ES18XX_GPO_2BIT;
+sound/isa/es18xx.c:		chip->caps = ES18XX_PCM2 | ES18XX_SPATIALIZER | ES18XX_RECMIX | ES18XX_NEW_RATE | ES18XX_AUXB | ES18XX_MONO | ES18XX_MUTEREC | ES18XX_CONTROL | ES18XX_HWV | ES18XX_GPO_2BIT;
+sound/isa/es18xx.c:		chip->caps = ES18XX_DUPLEX_MONO | ES18XX_DUPLEX_SAME | ES18XX_I2S | ES18XX_CONTROL;
+sound/isa/es18xx.c:		chip->caps = ES18XX_PCM2 | ES18XX_SPATIALIZER | ES18XX_RECMIX | ES18XX_NEW_RATE | ES18XX_AUXB | ES18XX_I2S | ES18XX_CONTROL | ES18XX_HWV;
+sound/isa/es18xx.c:		chip->caps = ES18XX_PCM2 | ES18XX_RECMIX | ES18XX_AUXB | ES18XX_DUPLEX_SAME | ES18XX_GPO_2BIT;
+sound/isa/es18xx.c:                           chip->port, chip->version);
+sound/isa/es18xx.c:        snd_printd("[0x%lx] ESS%x chip found\n", chip->port, chip->version);
+sound/isa/es18xx.c:	if (chip->dma1 == chip->dma2)
+sound/isa/es18xx.c:		chip->caps &= ~(ES18XX_PCM2 | ES18XX_DUPLEX_SAME);
+sound/isa/es18xx.c:	sprintf(str, "ES%x", chip->version);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_PCM2)
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_DUPLEX_SAME)
+sound/isa/es18xx.c:	if (! (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:	sprintf(pcm->name, "ESS AudioDrive ES%x", chip->version);
+sound/isa/es18xx.c:        chip->pcm = pcm;
+sound/isa/es18xx.c:					      chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
+sound/isa/es18xx.c:	chip->pm_reg = (unsigned char)snd_es18xx_read(chip, ES18XX_PM);
+sound/isa/es18xx.c:	chip->pm_reg |= (ES18XX_PM_FM | ES18XX_PM_SUS);
+sound/isa/es18xx.c:	snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg);
+sound/isa/es18xx.c:	snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_SUS);
+sound/isa/es18xx.c:	snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM);
+sound/isa/es18xx.c:	release_and_free_resource(chip->res_port);
+sound/isa/es18xx.c:	release_and_free_resource(chip->res_ctrl_port);
+sound/isa/es18xx.c:	release_and_free_resource(chip->res_mpu_port);
+sound/isa/es18xx.c:	if (chip->irq >= 0)
+sound/isa/es18xx.c:		free_irq(chip->irq, (void *) card);
+sound/isa/es18xx.c:	if (chip->dma1 >= 0) {
+sound/isa/es18xx.c:		disable_dma(chip->dma1);
+sound/isa/es18xx.c:		free_dma(chip->dma1);
+sound/isa/es18xx.c:	if (chip->dma2 >= 0 && chip->dma1 != chip->dma2) {
+sound/isa/es18xx.c:		disable_dma(chip->dma2);
+sound/isa/es18xx.c:		free_dma(chip->dma2);
+sound/isa/es18xx.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/es18xx.c: 	spin_lock_init(&chip->mixer_lock);
+sound/isa/es18xx.c:        chip->port = port;
+sound/isa/es18xx.c:        chip->irq = -1;
+sound/isa/es18xx.c:        chip->dma1 = -1;
+sound/isa/es18xx.c:        chip->dma2 = -1;
+sound/isa/es18xx.c:        chip->audio2_vol = 0x00;
+sound/isa/es18xx.c:	chip->active = 0;
+sound/isa/es18xx.c:	chip->res_port = request_region(port, 16, "ES18xx");
+sound/isa/es18xx.c:	if (chip->res_port == NULL) {
+sound/isa/es18xx.c:	chip->irq = irq;
+sound/isa/es18xx.c:	chip->dma1 = dma1;
+sound/isa/es18xx.c:	chip->dma2 = dma2;
+sound/isa/es18xx.c:	strcpy(card->mixername, chip->pcm->name);
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_HWV) {
+sound/isa/es18xx.c:				chip->master_volume = kctl;
+sound/isa/es18xx.c:				chip->master_switch = kctl;
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_PCM2) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_RECMIX) {
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_SPATIALIZER) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_HWV) {
+sound/isa/es18xx.c:				chip->hw_volume = kctl;
+sound/isa/es18xx.c:				chip->hw_switch = kctl;
+sound/isa/es18xx.c:	if (chip->version != 0x1868) {
+sound/isa/es18xx.c:	if (chip->version == 0x1869) {
+sound/isa/es18xx.c:	} else if (chip->version == 0x1878) {
+sound/isa/es18xx.c:	} else if (chip->version == 0x1879) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_GPO_2BIT) {
+sound/isa/es18xx.c:	chip->dev = pdev;
+sound/isa/es18xx.c:	if (snd_audiodrive_pnp_init_main(dev, chip->dev) < 0)
+sound/isa/es18xx.c:	chip->dev = pnp_request_card_device(card, id->devs[0].id, NULL);
+sound/isa/es18xx.c:	if (chip->dev == NULL)
+sound/isa/es18xx.c:	chip->devc = pnp_request_card_device(card, id->devs[1].id, NULL);
+sound/isa/es18xx.c:	if (chip->devc == NULL)
+sound/isa/es18xx.c:	if (pnp_activate_dev(chip->devc) < 0) {
+sound/isa/es18xx.c:			(unsigned long long)pnp_port_start(chip->devc, 0));
+sound/isa/es18xx.c:	if (snd_audiodrive_pnp_init_main(dev, chip->dev) < 0)
+sound/isa/es18xx.c:	sprintf(card->driver, "ES%x", chip->version);
+sound/isa/es18xx.c:	sprintf(card->shortname, "ESS AudioDrive ES%x", chip->version);
+sound/isa/es18xx.c:			chip->port,
+sound/isa/es18xx.c:			chip->port,
+sound/isa/es18xx.c:					  -1, &chip->rmidi);
+sound/isa/gus/gusmax.c:	struct snd_card *card = chip->card;
+sound/isa/gus/interwave.c:	struct snd_card *card = chip->card;
+sound/isa/msnd/msnd.c:	long tmp = (size * HZ * chip->play_sample_size) / 8;
+sound/isa/msnd/msnd.c:	return tmp / (chip->play_sample_rate * chip->play_channels);
+sound/isa/msnd/msnd.c:	if (!(chip->mode & FMODE_WRITE) || !test_bit(F_WRITING, &chip->flags))
+sound/isa/msnd/msnd.c:	set_bit(F_WRITEFLUSH, &chip->flags);
+sound/isa/msnd/msnd.c:		&chip->writeflush,
+sound/isa/msnd/msnd.c:		get_play_delay_jiffies(&chip, chip->DAPF.len));*/
+sound/isa/msnd/msnd.c:	clear_bit(F_WRITEFLUSH, &chip->flags);
+sound/isa/msnd/msnd.c:			get_play_delay_jiffies(chip, chip->play_period_bytes));
+sound/isa/msnd/msnd.c:	clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:	if ((file ? file->f_mode : chip->mode) & FMODE_READ) {
+sound/isa/msnd/msnd.c:		clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:			chip->mode &= ~FMODE_READ;
+sound/isa/msnd/msnd.c:		clear_bit(F_AUDIO_READ_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	if ((file ? file->f_mode : chip->mode) & FMODE_WRITE) {
+sound/isa/msnd/msnd.c:		if (test_bit(F_WRITING, &chip->flags)) {
+sound/isa/msnd/msnd.c:			chip->mode &= ~FMODE_WRITE;
+sound/isa/msnd/msnd.c:		clear_bit(F_AUDIO_WRITE_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	wTmp = readw(chip->DARQ + JQS_wTail) + PCTODSP_OFFSET(DAQDS__size);
+sound/isa/msnd/msnd.c:	if (wTmp > readw(chip->DARQ + JQS_wSize))
+sound/isa/msnd/msnd.c:	while (wTmp == readw(chip->DARQ + JQS_wHead) && timeout--)
+sound/isa/msnd/msnd.c:	if (chip->capturePeriods == 2) {
+sound/isa/msnd/msnd.c:		void __iomem *pDAQ = chip->mappedbase + DARQ_DATA_BUFF +
+sound/isa/msnd/msnd.c:		unsigned short offset = 0x3000 + chip->capturePeriodBytes;
+sound/isa/msnd/msnd.c:	writew(wTmp, chip->DARQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	DAQD = bank * DAQDS__size + chip->mappedbase + DARQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_1, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	n = msnd_fifo_write(&chip->DARF,
+sound/isa/msnd/msnd.c:			    (char *)(chip->base + bank * DAR_BUFF_SIZE),
+sound/isa/msnd/msnd.c:		outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	spin_lock_irqsave(&chip->lock, flags); not necessary */
+sound/isa/msnd/msnd.c:	DAPQ_tail = readw(chip->DAPQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	while (DAPQ_tail != readw(chip->DAPQ + JQS_wHead) || start) {
+sound/isa/msnd/msnd.c:		DAQD = bank_num * DAQDS__size + chip->mappedbase +
+sound/isa/msnd/msnd.c:		writew(chip->play_period_bytes, DAQD + DAQDS_wSize);
+sound/isa/msnd/msnd.c:		else if (chip->playPeriods == 2) {
+sound/isa/msnd/msnd.c:			unsigned short offset = chip->play_period_bytes;
+sound/isa/msnd/msnd.c:		writew(DAPQ_tail, chip->DAPQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	/* spin_unlock_irqrestore(&chip->lock, flags); not necessary */
+sound/isa/msnd/msnd.c:	void	__iomem *pDAQ = chip->mappedbase + DAPQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	chip->last_playbank = -1;
+sound/isa/msnd/msnd.c:	chip->playLimit = pcm_count * (pcm_periods - 1);
+sound/isa/msnd/msnd.c:	chip->playPeriods = pcm_periods;
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(0 * DAQDS__size), chip->DAPQ + JQS_wHead);
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(0 * DAQDS__size), chip->DAPQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	chip->play_period_bytes = pcm_count;
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->play_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd.c:	/* snd_msnd_init_queue(chip->DARQ, DARQ_DATA_BUFF, DARQ_BUFF_SIZE); */
+sound/isa/msnd/msnd.c:	chip->last_recbank = 2;
+sound/isa/msnd/msnd.c:	chip->captureLimit = pcm_count * (pcm_periods - 1);
+sound/isa/msnd/msnd.c:	chip->capturePeriods = pcm_periods;
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(0 * DAQDS__size), chip->DARQ + JQS_wHead);
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(chip->last_recbank * DAQDS__size),
+sound/isa/msnd/msnd.c:		chip->DARQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_1, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	memset_io(chip->mappedbase, 0, DAR_BUFF_SIZE * 3);
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/msnd/msnd.c:	chip->capturePeriodBytes = pcm_count;
+sound/isa/msnd/msnd.c:	pDAQ = chip->mappedbase + DARQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->capture_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd.c:	set_bit(F_AUDIO_WRITE_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:	runtime->dma_area = (__force void *)chip->mappedbase;
+sound/isa/msnd/msnd.c:	chip->playback_substream = substream;
+sound/isa/msnd/msnd.c:	clear_bit(F_AUDIO_WRITE_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	void	__iomem *pDAQ =	chip->mappedbase + DAPQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	chip->play_sample_size = snd_pcm_format_width(params_format(params));
+sound/isa/msnd/msnd.c:	chip->play_channels = params_channels(params);
+sound/isa/msnd/msnd.c:	chip->play_sample_rate = params_rate(params);
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->play_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd.c:	 * snd_msnd_calibrate_adc(chip->play_sample_rate);
+sound/isa/msnd/msnd.c:	chip->playDMAPos = 0;
+sound/isa/msnd/msnd.c:		chip->banksPlayed = 0;
+sound/isa/msnd/msnd.c:		set_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:		clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:	return bytes_to_frames(substream->runtime, chip->playDMAPos);
+sound/isa/msnd/msnd.c:	set_bit(F_AUDIO_READ_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	runtime->dma_area = (__force void *)chip->mappedbase + 0x3000;
+sound/isa/msnd/msnd.c:	chip->capture_substream = substream;
+sound/isa/msnd/msnd.c:	clear_bit(F_AUDIO_READ_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	chip->captureDMAPos = 0;
+sound/isa/msnd/msnd.c:		chip->last_recbank = -1;
+sound/isa/msnd/msnd.c:		set_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:		clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:		clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:	return bytes_to_frames(runtime, chip->captureDMAPos);
+sound/isa/msnd/msnd.c:	void		__iomem *pDAQ = chip->mappedbase + DARQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	chip->capture_sample_size = snd_pcm_format_width(params_format(params));
+sound/isa/msnd/msnd.c:	chip->capture_channels = params_channels(params);
+sound/isa/msnd/msnd.c:	chip->capture_sample_rate = params_rate(params);
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->capture_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd_midi.c:	chip->msndmidi_mpu = mpu;
+sound/isa/msnd/msnd_pinnacle.c:	chip->play_sample_size = snd_pcm_format_width(DEFSAMPLESIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->play_sample_rate = DEFSAMPLERATE;
+sound/isa/msnd/msnd_pinnacle.c:	chip->play_channels = DEFCHANNELS;
+sound/isa/msnd/msnd_pinnacle.c:	chip->capture_sample_size = snd_pcm_format_width(DEFSAMPLESIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->capture_sample_rate = DEFSAMPLERATE;
+sound/isa/msnd/msnd_pinnacle.c:	chip->capture_channels = DEFCHANNELS;
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->banksPlayed < 3)
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->last_playbank == LOBYTE(wMessage)) {
+sound/isa/msnd/msnd_pinnacle.c:		chip->banksPlayed++;
+sound/isa/msnd/msnd_pinnacle.c:		if (test_bit(F_WRITING, &chip->flags))
+sound/isa/msnd/msnd_pinnacle.c:		chip->last_playbank = LOBYTE(wMessage);
+sound/isa/msnd/msnd_pinnacle.c:		chip->playDMAPos += chip->play_period_bytes;
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->playDMAPos > chip->playLimit)
+sound/isa/msnd/msnd_pinnacle.c:			chip->playDMAPos = 0;
+sound/isa/msnd/msnd_pinnacle.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->last_recbank == LOBYTE(wMessage))
+sound/isa/msnd/msnd_pinnacle.c:		chip->last_recbank = LOBYTE(wMessage);
+sound/isa/msnd/msnd_pinnacle.c:		chip->captureDMAPos += chip->capturePeriodBytes;
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->captureDMAPos > (chip->captureLimit))
+sound/isa/msnd/msnd_pinnacle.c:			chip->captureDMAPos = 0;
+sound/isa/msnd/msnd_pinnacle.c:		if (test_bit(F_READING, &chip->flags))
+sound/isa/msnd/msnd_pinnacle.c:			snd_msnd_DARQ(chip, chip->last_recbank);
+sound/isa/msnd/msnd_pinnacle.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/msnd/msnd_pinnacle.c:				chip->banksPlayed);
+sound/isa/msnd/msnd_pinnacle.c:			if (chip->banksPlayed > 2)
+sound/isa/msnd/msnd_pinnacle.c:				clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:			clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->msndmidi_mpu)
+sound/isa/msnd/msnd_pinnacle.c:			snd_msndmidi_input_read(chip->msndmidi_mpu);
+sound/isa/msnd/msnd_pinnacle.c:	void __iomem *pwDSPQData = chip->mappedbase + DSPQ_DATA_BUFF;
+sound/isa/msnd/msnd_pinnacle.c:	/* inb(chip->io + HP_RXL); */
+sound/isa/msnd/msnd_pinnacle.c:	head = readw(chip->DSPQ + JQS_wHead);
+sound/isa/msnd/msnd_pinnacle.c:	tail = readw(chip->DSPQ + JQS_wTail);
+sound/isa/msnd/msnd_pinnacle.c:	size = readw(chip->DSPQ + JQS_wSize);
+sound/isa/msnd/msnd_pinnacle.c:		writew(head, chip->DSPQ + JQS_wHead);
+sound/isa/msnd/msnd_pinnacle.c:	inb(chip->io + HP_RXL);
+sound/isa/msnd/msnd_pinnacle.c:	if (!request_region(chip->io, DSP_NUMIO, "probing")) {
+sound/isa/msnd/msnd_pinnacle.c:	if (snd_msnd_reset_dsp(chip->io, &info) < 0) {
+sound/isa/msnd/msnd_pinnacle.c:		release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	       chip->io, chip->io + DSP_NUMIO - 1,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->irq,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->base, chip->base + 0x7fff);
+sound/isa/msnd/msnd_pinnacle.c:	       chip->io, chip->io + DSP_NUMIO - 1,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->irq,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->base, chip->base + 0x7fff);
+sound/isa/msnd/msnd_pinnacle.c:	release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	outb(chip->memid, chip->io + HP_MEMM);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	chip->SMA = chip->mappedbase + SMA_STRUCT_START;
+sound/isa/msnd/msnd_pinnacle.c:		mastVolLeft = readw(chip->SMA + SMA_wCurrMastVolLeft);
+sound/isa/msnd/msnd_pinnacle.c:		mastVolRight = readw(chip->SMA + SMA_wCurrMastVolRight);
+sound/isa/msnd/msnd_pinnacle.c:	memset_io(chip->mappedbase, 0, 0x8000);
+sound/isa/msnd/msnd_pinnacle.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_1, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	memset_io(chip->mappedbase, 0, 0x8000);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/msnd/msnd_pinnacle.c:	chip->DAPQ = chip->mappedbase + DAPQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->DAPQ, DAPQ_DATA_BUFF, DAPQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->DARQ = chip->mappedbase + DARQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->DARQ, DARQ_DATA_BUFF, DARQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->MODQ = chip->mappedbase + MODQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->MODQ, MODQ_DATA_BUFF, MODQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->MIDQ = chip->mappedbase + MIDQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->MIDQ, MIDQ_DATA_BUFF, MIDQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->DSPQ = chip->mappedbase + DSPQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->DSPQ, DSPQ_DATA_BUFF, DSPQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	writew(1, chip->SMA + SMA_wCurrPlayFormat);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_sample_size, chip->SMA + SMA_wCurrPlaySampleSize);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_channels, chip->SMA + SMA_wCurrPlayChannels);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_sample_rate, chip->SMA + SMA_wCurrPlaySampleRate);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_sample_rate, chip->SMA + SMA_wCalFreqAtoD);
+sound/isa/msnd/msnd_pinnacle.c:	writew(mastVolLeft, chip->SMA + SMA_wCurrMastVolLeft);
+sound/isa/msnd/msnd_pinnacle.c:	writew(mastVolRight, chip->SMA + SMA_wCurrMastVolRight);
+sound/isa/msnd/msnd_pinnacle.c:	writel(0x00010000, chip->SMA + SMA_dwCurrPlayPitch);
+sound/isa/msnd/msnd_pinnacle.c:	writel(0x00000001, chip->SMA + SMA_dwCurrPlayRate);
+sound/isa/msnd/msnd_pinnacle.c:	writew(0x303, chip->SMA + SMA_wCurrInputTagBits);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	memcpy_toio(chip->mappedbase, perm_fw->data, perm_fw->size);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPPRORESET_ON, chip->io + HP_PROR);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPPRORESET_OFF, chip->io + HP_PROR);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPWAITSTATE_0, chip->io + HP_WAIT);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBITMODE_16, chip->io + HP_BITM);
+sound/isa/msnd/msnd_pinnacle.c:	err = snd_msnd_reset_dsp(chip->io, NULL);
+sound/isa/msnd/msnd_pinnacle.c:	while (readw(chip->mappedbase)) {
+sound/isa/msnd/msnd_pinnacle.c:	if (test_bit(F_RESETTING, &chip->flags) || ++chip->nresets > 10)
+sound/isa/msnd/msnd_pinnacle.c:	set_bit(F_RESETTING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	clear_bit(F_RESETTING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_dsp_full_reset(chip->card);
+sound/isa/msnd/msnd_pinnacle.c:	writew(srate, chip->SMA + SMA_wCalFreqAtoD);
+sound/isa/msnd/msnd_pinnacle.c:	if (chip->calibrate_signal == 0)
+sound/isa/msnd/msnd_pinnacle.c:		writew(readw(chip->SMA + SMA_wCurrHostStatusFlags)
+sound/isa/msnd/msnd_pinnacle.c:		       | 0x0001, chip->SMA + SMA_wCurrHostStatusFlags);
+sound/isa/msnd/msnd_pinnacle.c:		writew(readw(chip->SMA + SMA_wCurrHostStatusFlags)
+sound/isa/msnd/msnd_pinnacle.c:		       & ~0x0001, chip->SMA + SMA_wCurrHostStatusFlags);
+sound/isa/msnd/msnd_pinnacle.c:	err = request_irq(chip->irq, snd_msnd_interrupt, 0, card->shortname,
+sound/isa/msnd/msnd_pinnacle.c:		printk(KERN_ERR LOGNAME ": Couldn't grab IRQ %d\n", chip->irq);
+sound/isa/msnd/msnd_pinnacle.c:	if (request_region(chip->io, DSP_NUMIO, card->shortname) == NULL) {
+sound/isa/msnd/msnd_pinnacle.c:		free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	if (!request_mem_region(chip->base, BUFFSIZE, card->shortname)) {
+sound/isa/msnd/msnd_pinnacle.c:			chip->base, chip->base + BUFFSIZE - 1);
+sound/isa/msnd/msnd_pinnacle.c:		release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:		free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	chip->mappedbase = ioremap_nocache(chip->base, 0x8000);
+sound/isa/msnd/msnd_pinnacle.c:	if (!chip->mappedbase) {
+sound/isa/msnd/msnd_pinnacle.c:			chip->base, chip->base + BUFFSIZE - 1);
+sound/isa/msnd/msnd_pinnacle.c:					  &chip->rmidi);
+sound/isa/msnd/msnd_pinnacle.c:		mpu = chip->rmidi->private_data;
+sound/isa/msnd/msnd_pinnacle.c:	disable_irq(chip->irq);
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_calibrate_adc(chip, chip->play_sample_rate);
+sound/isa/msnd/msnd_pinnacle.c:	iounmap(chip->mappedbase);
+sound/isa/msnd/msnd_pinnacle.c:	release_mem_region(chip->base, BUFFSIZE);
+sound/isa/msnd/msnd_pinnacle.c:	release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	iounmap(chip->mappedbase);
+sound/isa/msnd/msnd_pinnacle.c:	release_mem_region(chip->base, BUFFSIZE);
+sound/isa/msnd/msnd_pinnacle.c:	release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	chip->card = card;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_5; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_7; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_9; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_10; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_11; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_12; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_B000; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_C800; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_D000; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_D800; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_E000; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_E800; break;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndClassic;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndPinnacle;
+sound/isa/msnd/msnd_pinnacle.c:	chip->io = io[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->irq = irq[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->base = mem[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->calibrate_signal = calibrate_signal ? 1 : 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->recsrc = 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_data_buff = DSPQ_DATA_BUFF;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_buff_size = DSPQ_BUFF_SIZE;
+sound/isa/msnd/msnd_pinnacle.c:		clear_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_HAVEDIGITAL, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	spin_lock_init(&chip->lock);
+sound/isa/msnd/msnd_pinnacle.c:	chip->card = card;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndClassic;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndPinnacle;
+sound/isa/msnd/msnd_pinnacle.c:	chip->io = io[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->irq = irq[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->base = mem[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->calibrate_signal = calibrate_signal ? 1 : 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->recsrc = 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_data_buff = DSPQ_DATA_BUFF;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_buff_size = DSPQ_BUFF_SIZE;
+sound/isa/msnd/msnd_pinnacle.c:		clear_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_HAVEDIGITAL, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	spin_lock_init(&chip->lock);
+sound/isa/msnd/msnd_pinnacle_mixer.c:	unsigned items = test_bit(F_HAVEDIGITAL, &chip->flags) ? 3 : 2;
+sound/isa/msnd/msnd_pinnacle_mixer.c:	if (chip->recsrc & MSND_MASK_SYNTH) {
+sound/isa/msnd/msnd_pinnacle_mixer.c:	} else if ((chip->recsrc & MSND_MASK_DIGITAL) &&
+sound/isa/msnd/msnd_pinnacle_mixer.c:		 test_bit(F_HAVEDIGITAL, &chip->flags)) {
+sound/isa/msnd/msnd_pinnacle_mixer.c:	change  = newrecsrc != chip->recsrc;
+sound/isa/msnd/msnd_pinnacle_mixer.c:				chip->recsrc = newrecsrc;
+sound/isa/msnd/msnd_pinnacle_mixer.c:	spin_lock_init(&chip->mixer_lock);
+sound/isa/opl3sa2.c:	outb(reg, chip->port);	/* register */
+sound/isa/opl3sa2.c:	result = inb(chip->port + 1);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	outb(reg, chip->port);	/* register */
+sound/isa/opl3sa2.c:	outb(value, chip->port + 1);
+sound/isa/opl3sa2.c:	chip->ctlregs[reg] = value;
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	port = chip->port;
+sound/isa/opl3sa2.c:	if ((chip->res_port = request_region(port, 2, "OPL3-SA control")) == NULL) {
+sound/isa/opl3sa2.c:	chip->version = 0;
+sound/isa/opl3sa2.c:		chip->version = 2; /* YMF711 */
+sound/isa/opl3sa2.c:		chip->version = 3;
+sound/isa/opl3sa2.c:	str[0] = chip->version + '0';
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:		snd_opl3sa2_write(chip, OPL3SA2_SYS_CTRL, (chip->ymode << 4));
+sound/isa/opl3sa2.c:	if (chip->single_dma) {
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:		snd_opl3_interrupt(chip->synth);
+sound/isa/opl3sa2.c:	if ((status & 0x10) && chip->rmidi != NULL) {
+sound/isa/opl3sa2.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/isa/opl3sa2.c:		snd_wss_interrupt(irq, chip->wss);
+sound/isa/opl3sa2.c:		if (chip->master_switch && chip->master_volume) {
+sound/isa/opl3sa2.c:					&chip->master_switch->id);
+sound/isa/opl3sa2.c:					&chip->master_volume->id);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	ucontrol->value.integer.value[0] = (chip->ctlregs[reg] >> shift) & mask;
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	oval = chip->ctlregs[reg];
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	ucontrol->value.integer.value[0] = (chip->ctlregs[left_reg] >> shift_left) & mask;
+sound/isa/opl3sa2.c:	ucontrol->value.integer.value[1] = (chip->ctlregs[right_reg] >> shift_right) & mask;
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:		oval1 = chip->ctlregs[left_reg];
+sound/isa/opl3sa2.c:		oval2 = chip->ctlregs[right_reg];
+sound/isa/opl3sa2.c:		oval1 = chip->ctlregs[left_reg];
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	chip->master_switch = NULL;
+sound/isa/opl3sa2.c:	chip->master_volume = NULL;
+sound/isa/opl3sa2.c:		case 0: chip->master_switch = kctl; kctl->private_free = snd_opl3sa2_master_free; break;
+sound/isa/opl3sa2.c:		case 1: chip->master_volume = kctl; kctl->private_free = snd_opl3sa2_master_free; break;
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:		chip->wss->suspend(chip->wss);
+sound/isa/opl3sa2.c:			snd_opl3sa2_write(chip, i, chip->ctlregs[i]);
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:			snd_opl3sa2_write(chip, i, chip->ctlregs[i]);
+sound/isa/opl3sa2.c:	chip->wss->resume(chip->wss);
+sound/isa/opl3sa2.c:	if (chip->irq >= 0)
+sound/isa/opl3sa2.c:		free_irq(chip->irq, card);
+sound/isa/opl3sa2.c:	release_and_free_resource(chip->res_port);
+sound/isa/opl3sa2.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/opl3sa2.c:	chip->irq = -1;
+sound/isa/opl3sa2.c:	chip->ymode = opl3sa3_ymode[dev] & 0x03 ;
+sound/isa/opl3sa2.c:	chip->port = port[dev];
+sound/isa/opl3sa2.c:		chip->single_dma = 1;
+sound/isa/opl3sa2.c:	chip->irq = xirq;
+sound/isa/opl3sa2.c:	chip->wss = wss;
+sound/isa/opl3sa2.c:		if ((err = snd_opl3_hwdep_new(opl3, 0, 1, &chip->synth)) < 0)
+sound/isa/opl3sa2.c:					       &chip->rmidi)) < 0)
+sound/isa/opl3sa2.c:		card->shortname, chip->port, xirq, xdma1);
+sound/isa/opti9xx/miro.c:	chip->hardware = hardware;
+sound/isa/opti9xx/miro.c:	strcpy(chip->name, snd_opti9xx_names[hardware]);
+sound/isa/opti9xx/miro.c:	chip->mc_base_size = opti9xx_mc_size[hardware];  
+sound/isa/opti9xx/miro.c:	spin_lock_init(&chip->lock);
+sound/isa/opti9xx/miro.c:	chip->wss_base = -1;
+sound/isa/opti9xx/miro.c:	chip->irq = -1;
+sound/isa/opti9xx/miro.c:	chip->dma1 = -1;
+sound/isa/opti9xx/miro.c:	chip->dma2 = -1;
+sound/isa/opti9xx/miro.c:	chip->mpu_port = -1;
+sound/isa/opti9xx/miro.c:	chip->mpu_irq = -1;
+sound/isa/opti9xx/miro.c:	chip->pwd_reg = 3;
+sound/isa/opti9xx/miro.c:	if (isapnp && chip->mc_base)
+sound/isa/opti9xx/miro.c:		chip->mc_base |= 0xc00;
+sound/isa/opti9xx/miro.c:		chip->mc_base = 0xf8c;
+sound/isa/opti9xx/miro.c:		chip->password = 0xe3;
+sound/isa/opti9xx/miro.c:		chip->password = 0xe5;
+sound/isa/opti9xx/miro.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:	switch (chip->hardware) {
+sound/isa/opti9xx/miro.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/miro.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:			retval = inb(chip->mc_base + 9);
+sound/isa/opti9xx/miro.c:		retval = inb(chip->mc_base + reg);
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "sorry, no support for %d\n", chip->hardware);
+sound/isa/opti9xx/miro.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:	switch (chip->hardware) {
+sound/isa/opti9xx/miro.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/miro.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:			outb(value, chip->mc_base + 9);
+sound/isa/opti9xx/miro.c:		outb(value, chip->mc_base + reg);
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "sorry, no support for %d\n", chip->hardware);
+sound/isa/opti9xx/miro.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	switch (chip->hardware) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/miro.c:	switch (chip->wss_base & 0x3ff) {
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0x530;
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0x604;
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0xe80;
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0xf40;
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS port 0x%lx not valid\n", chip->wss_base);
+sound/isa/opti9xx/miro.c:	switch (chip->irq) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS irq # %d not valid\n", chip->irq);
+sound/isa/opti9xx/miro.c:	switch (chip->dma1) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS dma1 # %d not valid\n", chip->dma1);
+sound/isa/opti9xx/miro.c:	if (chip->dma1 == chip->dma2) {
+sound/isa/opti9xx/miro.c:	switch (chip->dma2) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS dma2 # %d not valid\n", chip->dma2);
+sound/isa/opti9xx/miro.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	outb(irq_bits << 3 | dma_bits, chip->wss_base);
+sound/isa/opti9xx/miro.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	if (chip->hardware > OPTi9XX_HW_82C928) {
+sound/isa/opti9xx/miro.c:		switch (chip->mpu_port) {
+sound/isa/opti9xx/miro.c:				   chip->mpu_port);
+sound/isa/opti9xx/miro.c:		switch (chip->mpu_irq) {
+sound/isa/opti9xx/miro.c:				   chip->mpu_irq);
+sound/isa/opti9xx/miro.c:			(chip->mpu_port <= 0) ? 0x00 :
+sound/isa/opti9xx/miro.c:	chip->res_mc_base = request_region(chip->mc_base, chip->mc_base_size,
+sound/isa/opti9xx/miro.c:	if (chip->res_mc_base == NULL)
+sound/isa/opti9xx/miro.c:	if (value != 0xff && value != inb(chip->mc_base + OPTi9XX_MC_REG(1)))
+sound/isa/opti9xx/miro.c:	release_and_free_resource(chip->res_mc_base);
+sound/isa/opti9xx/miro.c:	chip->res_mc_base = NULL;
+sound/isa/opti9xx/miro.c:	chip->mc_base = pnp_port_start(devmc, 0) - 1;
+sound/isa/opti9xx/miro.c:	chip->mc_base_size = pnp_port_len(devmc, 0) + 1;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->hardware = hardware;
+sound/isa/opti9xx/opti92x-ad1848.c:	strcpy(chip->name, snd_opti9xx_names[hardware]);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_init(&chip->lock);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->irq = -1;
+sound/isa/opti9xx/opti92x-ad1848.c:	if (isapnp && chip->mc_base)
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base |= 0xc00;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base = 0xf8c;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base_size = opti9xx_mc_size[hardware];
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base_size = opti9xx_mc_size[hardware];
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->password = (hardware == OPTi9XX_HW_82C928) ? 0xe2 : 0xe3;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->pwd_reg = 3;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->password = 0xe5;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->pwd_reg = 3;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base = (hardware == OPTi9XX_HW_82C930) ? 0xf8f : 0xf8d;
+sound/isa/opti9xx/opti92x-ad1848.c:		if (!chip->mc_indir_index)
+sound/isa/opti9xx/opti92x-ad1848.c:			chip->mc_indir_index = 0xe0e;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->password = 0xe4;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->pwd_reg = 0;
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:	switch (chip->hardware) {
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:			retval = inb(chip->mc_base + 9);
+sound/isa/opti9xx/opti92x-ad1848.c:		retval = inb(chip->mc_base + reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(reg, chip->mc_indir_index);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		retval = inb(chip->mc_indir_index + 1);
+sound/isa/opti9xx/opti92x-ad1848.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:	switch (chip->hardware) {
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(value, chip->mc_base + 9);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(value, chip->mc_base + reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(reg, chip->mc_indir_index);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(value, chip->mc_indir_index + 1);
+sound/isa/opti9xx/opti92x-ad1848.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	switch (chip->hardware) {
+sound/isa/opti9xx/opti92x-ad1848.c:			(chip->hardware == OPTi9XX_HW_82C930 ? 0x00 : 0x04),
+sound/isa/opti9xx/opti92x-ad1848.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0x530;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0x604;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0xe80;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0xf40;
+sound/isa/opti9xx/opti92x-ad1848.c:	 outb(irq_bits << 3 | dma_bits, chip->wss_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	if (chip->hardware > OPTi9XX_HW_82C928) {
+sound/isa/opti9xx/opti92x-ad1848.c:	if (snd_BUG_ON(!chip || !chip->pcm))
+sound/isa/opti9xx/opti92x-ad1848.c:	card = chip->card;
+sound/isa/opti9xx/opti92x-ad1848.c:	strcpy(card->mixername, chip->pcm->name);
+sound/isa/opti9xx/opti92x-ad1848.c:	struct snd_wss *codec = chip->codec;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_base = request_region(chip->mc_base, chip->mc_base_size,
+sound/isa/opti9xx/opti92x-ad1848.c:	if (chip->res_mc_base == NULL)
+sound/isa/opti9xx/opti92x-ad1848.c:	if (value != 0xff && value != inb(chip->mc_base + OPTi9XX_MC_REG(1)))
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_indir = request_region(chip->mc_indir_index, 2,
+sound/isa/opti9xx/opti92x-ad1848.c:	if (chip->res_mc_indir == NULL)
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(((chip->mc_indir_index & 0x1f0) >> 4), chip->mc_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	release_and_free_resource(chip->res_mc_indir);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_indir = NULL;
+sound/isa/opti9xx/opti92x-ad1848.c:	release_and_free_resource(chip->res_mc_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_base = NULL;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_indir_index = 0;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->mc_indir_index = (pnp_port_start(pdev, 3) & ~0xf) | 0xe;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->mc_base = pnp_port_start(devmc, 0) - 1;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->mc_base_size = pnp_port_len(devmc, 0) + 1;
+sound/isa/opti9xx/opti92x-ad1848.c:		if (chip->irq > 0) {
+sound/isa/opti9xx/opti92x-ad1848.c:			disable_irq(chip->irq);
+sound/isa/opti9xx/opti92x-ad1848.c:			free_irq(chip->irq, chip);
+sound/isa/opti9xx/opti92x-ad1848.c:		release_and_free_resource(chip->res_mc_indir);
+sound/isa/opti9xx/opti92x-ad1848.c:		release_and_free_resource(chip->res_mc_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	error = snd_wss_create(card, chip->wss_base + 4, -1, irq, dma1, xdma2,
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->codec = codec;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->irq = irq;
+sound/isa/opti9xx/opti92x-ad1848.c:	strcpy(card->driver, chip->name);
+sound/isa/opti9xx/opti92x-ad1848.c:		 chip->wss_base + 4, irq, dma1, xdma2);
+sound/isa/opti9xx/opti92x-ad1848.c:		 card->shortname, codec->pcm->name, chip->wss_base + 4, irq,
+sound/isa/opti9xx/opti92x-ad1848.c:		if (chip->hardware == OPTi9XX_HW_82C928 ||
+sound/isa/opti9xx/opti92x-ad1848.c:		    chip->hardware == OPTi9XX_HW_82C929 ||
+sound/isa/opti9xx/opti92x-ad1848.c:		    chip->hardware == OPTi9XX_HW_82C924) {
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->codec->suspend(chip->codec);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->codec->resume(chip->codec);
+sound/isa/sb/jazz16.c:	if (jazz_dma_bits[chip->dma8] == 0 ||
+sound/isa/sb/jazz16.c:	    jazz_dma_bits[chip->dma16] == 0 ||
+sound/isa/sb/jazz16.c:	    jazz_irq_bits[chip->irq] == 0)
+sound/isa/sb/jazz16.c:			       jazz_dma_bits[chip->dma8] |
+sound/isa/sb/jazz16.c:			       (jazz_dma_bits[chip->dma16] << 4)))
+sound/isa/sb/jazz16.c:			       jazz_irq_bits[chip->irq] |
+sound/isa/sb/jazz16.c:	err = snd_opl3_create(card, chip->port, chip->port + 2,
+sound/isa/sb/jazz16.c:			   chip->port, chip->port + 2);
+sound/isa/sb/sb16.c:	if (chip->hardware != SB_HW_16) {
+sound/isa/sb/sb16.c:	chip->mpu_port = mpu_port[dev];
+sound/isa/sb/sb16.c:	strcpy(card->shortname, chip->name);
+sound/isa/sb/sb16.c:		chip->name,
+sound/isa/sb/sb16.c:		chip->port,
+sound/isa/sb/sb16.c:	if (chip->mpu_port > 0 && chip->mpu_port != SNDRV_AUTO_PORT) {
+sound/isa/sb/sb16.c:					       chip->mpu_port,
+sound/isa/sb/sb16.c:					       &chip->rmidi)) < 0)
+sound/isa/sb/sb16.c:		chip->rmidi_callback = snd_mpu401_uart_interrupt;
+sound/isa/sb/sb16.c:	if ((chip->hardware == SB_HW_16) && csp[dev]) {
+sound/isa/sb/sb16.c:			chip->csp = xcsp->private_data;
+sound/isa/sb/sb16.c:			chip->hardware = SB_HW_16CSP;
+sound/isa/sb/sb16.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb16.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	if ((err = snd_hwdep_new(chip->card, "SB16-CSP", device, &hw)) < 0)
+sound/isa/sb/sb16_csp.c:		snd_device_free(chip->card, hw);
+sound/isa/sb/sb16_csp.c:			spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:			spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:		spin_lock(&p->chip->mixer_lock);
+sound/isa/sb/sb16_csp.c:		spin_unlock(&p->chip->mixer_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:				       p->chip->card->dev);
+sound/isa/sb/sb16_csp.c:				spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:				spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	card = p->chip->card;
+sound/isa/sb/sb16_csp.c:	card = p->chip->card;	
+sound/isa/sb/sb16_csp.c:	snd_card_ro_proc_new(p->chip->card, name, p, info_read);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:				if (csp->ops.csp_start(csp, (chip->mode & SB_MODE_PLAYBACK_16) ?
+sound/isa/sb/sb16_main.c:					chip->open = SNDRV_SB_CSP_MODE_DSP_WRITE;
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:				if (csp->ops.csp_start(csp, (chip->mode & SB_MODE_CAPTURE_16) ?
+sound/isa/sb/sb16_main.c:					chip->open = SNDRV_SB_CSP_MODE_DSP_READ;
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:			spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:			spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:	if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_WRITE)) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:			chip->open = 0;
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:	if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_READ)) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:			chip->open = 0;
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & (channel == SNDRV_PCM_STREAM_PLAYBACK ? SB_MODE_PLAYBACK_16 : SB_MODE_CAPTURE_16))
+sound/isa/sb/sb16_main.c:	if (!(chip->mode & SB_RATE_LOCK)) {
+sound/isa/sb/sb16_main.c:		chip->locked_rate = rate;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	size = chip->p_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_PLAYBACK_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_PLAYBACK_16) {
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_RATE_LOCK_PLAYBACK;
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_PLAYBACK_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_PLAYBACK_16 ? SB_DSP_DMA16_OFF : SB_DSP_DMA8_OFF);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_RATE_LOCK_CAPTURE)
+sound/isa/sb/sb16_main.c:			snd_sbdsp_command(chip, chip->mode & SB_MODE_CAPTURE_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		chip->mode &= ~SB_RATE_LOCK_PLAYBACK;
+sound/isa/sb/sb16_main.c:	spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	size = chip->c_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_CAPTURE_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_CAPTURE_16) {
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_RATE_LOCK_CAPTURE;
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_CAPTURE_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_CAPTURE_16 ? SB_DSP_DMA16_OFF : SB_DSP_DMA8_OFF);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_RATE_LOCK_PLAYBACK)
+sound/isa/sb/sb16_main.c:			snd_sbdsp_command(chip, chip->mode & SB_MODE_PLAYBACK_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		chip->mode &= ~SB_RATE_LOCK_CAPTURE;
+sound/isa/sb/sb16_main.c:	spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb16_main.c:	spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb16_main.c:	if ((status & SB_IRQTYPE_MPUIN) && chip->rmidi_callback)
+sound/isa/sb/sb16_main.c:		chip->rmidi_callback(irq, chip->rmidi->private_data);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_PLAYBACK_8) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_CAPTURE_8) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/sb/sb16_main.c:		spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_PLAYBACK_16) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_CAPTURE_16) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/sb/sb16_main.c:		spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_PLAYBACK_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	ptr = snd_dma_pointer(dma, chip->p_dma_size);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_CAPTURE_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	ptr = snd_dma_pointer(dma, chip->c_dma_size);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_PLAYBACK) {
+sound/isa/sb/sb16_main.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->force_mode16 & SB_MODE_CAPTURE_16)
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && !(chip->mode & SB_MODE_CAPTURE_16)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 <= 3) {
+sound/isa/sb/sb16_main.c:	if (chip->dma8 >= 0 && !(chip->mode & SB_MODE_CAPTURE_8)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_PLAYBACK_8;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 < 0) {
+sound/isa/sb/sb16_main.c:			chip->mode |= SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_ALS100)
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_CS5530) {
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_RATE_LOCK)
+sound/isa/sb/sb16_main.c:		runtime->hw.rate_min = runtime->hw.rate_max = chip->locked_rate;
+sound/isa/sb/sb16_main.c:	chip->playback_substream = substream;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	chip->playback_substream = NULL;
+sound/isa/sb/sb16_main.c:	chip->mode &= ~SB_MODE_PLAYBACK;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_CAPTURE) {
+sound/isa/sb/sb16_main.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->force_mode16 & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && !(chip->mode & SB_MODE_PLAYBACK_16)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_CAPTURE_16;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 <= 3) {
+sound/isa/sb/sb16_main.c:	if (chip->dma8 >= 0 && !(chip->mode & SB_MODE_PLAYBACK_8)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_CAPTURE_8;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 < 0) {
+sound/isa/sb/sb16_main.c:			chip->mode |= SB_MODE_CAPTURE_16;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_ALS100)
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_CS5530) {
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_RATE_LOCK)
+sound/isa/sb/sb16_main.c:		runtime->hw.rate_min = runtime->hw.rate_max = chip->locked_rate;
+sound/isa/sb/sb16_main.c:	chip->capture_substream = substream;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	chip->capture_substream = NULL;
+sound/isa/sb/sb16_main.c:	chip->mode &= ~SB_MODE_CAPTURE;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->dma8 < 0 || chip->dma16 < 0) {
+sound/isa/sb/sb16_main.c:		chip->force_mode16 = 0;
+sound/isa/sb/sb16_main.c:		chip->force_mode16 = SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb16_main.c:		chip->force_mode16 = SB_MODE_CAPTURE_16;
+sound/isa/sb/sb16_main.c:	if (chip->dma8 < 0 || chip->dma16 < 0)
+sound/isa/sb/sb16_main.c:	switch (chip->force_mode16) {
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	// printk(KERN_DEBUG "codec->irq=%i, codec->dma8=%i, codec->dma16=%i\n", chip->irq, chip->dma8, chip->dma16);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:	switch (chip->irq) {
+sound/isa/sb/sb16_main.c:	if (chip->dma8 >= 0) {
+sound/isa/sb/sb16_main.c:		switch (chip->dma8) {
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && chip->dma16 != chip->dma8) {
+sound/isa/sb/sb16_main.c:		switch (chip->dma16) {
+sound/isa/sb/sb16_main.c:	switch (chip->mpu_port) {
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:		snd_printk(KERN_ERR "SB16 [0x%lx]: unable to set DMA & IRQ (PnP device?)\n", chip->port);
+sound/isa/sb/sb16_main.c:		snd_printk(KERN_ERR "SB16 [0x%lx]: wanted: irqreg=0x%x, dmareg=0x%x, mpureg = 0x%x\n", chip->port, realirq, realdma, realmpureg);
+sound/isa/sb/sb16_main.c:		snd_printk(KERN_ERR "SB16 [0x%lx]:    got: irqreg=0x%x, dmareg=0x%x, mpureg = 0x%x\n", chip->port, irqreg, dmareg, mpureg);
+sound/isa/sb/sb16_main.c:	struct snd_card *card = chip->card;
+sound/isa/sb/sb16_main.c:	sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff);
+sound/isa/sb/sb16_main.c:	chip->pcm = pcm;
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) {
+sound/isa/sb/sb8.c:	if (chip->open & SB_OPEN_PCM) {
+sound/isa/sb/sb8.c:	if (chip->hardware >= SB_HW_16) {
+sound/isa/sb/sb8.c:		if (chip->hardware == SB_HW_ALS100)
+sound/isa/sb/sb8.c:	if (chip->hardware == SB_HW_10 || chip->hardware == SB_HW_20) {
+sound/isa/sb/sb8.c:		if ((err = snd_opl3_create(card, chip->port + 8, 0,
+sound/isa/sb/sb8.c:			snd_printk(KERN_WARNING "sb8: no OPL device at 0x%lx\n", chip->port + 8);
+sound/isa/sb/sb8.c:		if ((err = snd_opl3_create(card, chip->port, chip->port + 2,
+sound/isa/sb/sb8.c:				   chip->port, chip->port + 2);
+sound/isa/sb/sb8.c:	strcpy(card->driver, chip->hardware == SB_HW_PRO ? "SB Pro" : "SB8");
+sound/isa/sb/sb8.c:	strcpy(card->shortname, chip->name);
+sound/isa/sb/sb8.c:		chip->name,
+sound/isa/sb/sb8.c:		chip->port,
+sound/isa/sb/sb8_main.c:	switch (chip->hardware) {
+sound/isa/sb/sb8_main.c:			if (chip->mode & SB_MODE_CAPTURE_16)
+sound/isa/sb/sb8_main.c:				chip->mode |= SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb8_main.c:		chip->playback_format = SB_DSP_LO_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->playback_format = SB_DSP_HI_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->playback_format = SB_DSP_HI_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->playback_format = SB_DSP_LO_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->playback_format = SB_DSP_OUTPUT;
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_PLAYBACK_16) {
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:		chip->mode |= SB_MODE_PLAYBACK_8;
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	size = chip->p_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb8_main.c:	count = chip->p_period_size = snd_pcm_lib_period_bytes(substream);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	if (chip->hardware == SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		chip->force_mode16 = mixreg;
+sound/isa/sb/sb8_main.c:	if (chip->playback_format != SB_DSP_OUTPUT) {
+sound/isa/sb/sb8_main.c:		if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:		snd_sbdsp_command(chip, chip->playback_format);
+sound/isa/sb/sb8_main.c:		if (chip->playback_format == SB_DSP_OUTPUT) {
+sound/isa/sb/sb8_main.c:			count = chip->p_period_size - 1;
+sound/isa/sb/sb8_main.c:		if (chip->playback_format == SB_DSP_HI_OUTPUT_AUTO) {
+sound/isa/sb/sb8_main.c:				spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:				snd_sbmixer_write(chip, SB_DSP_STEREO_SW, chip->force_mode16 & ~0x02);
+sound/isa/sb/sb8_main.c:				spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	switch (chip->hardware) {
+sound/isa/sb/sb8_main.c:			if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:				chip->mode |= SB_MODE_CAPTURE_16;
+sound/isa/sb/sb8_main.c:		chip->capture_format = SB_DSP_LO_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->capture_format = SB_DSP_HI_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->capture_format = (rate > 23000) ? SB_DSP_HI_INPUT_AUTO : SB_DSP_LO_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->capture_format = SB_DSP_HI_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->capture_format = SB_DSP_LO_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->capture_format = SB_DSP_INPUT;
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_CAPTURE_16) {
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:		chip->mode |= SB_MODE_CAPTURE_8;
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	size = chip->c_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb8_main.c:	count = chip->c_period_size = snd_pcm_lib_period_bytes(substream);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	if (chip->hardware == SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		chip->force_mode16 = mixreg;
+sound/isa/sb/sb8_main.c:	if (chip->capture_format != SB_DSP_INPUT) {
+sound/isa/sb/sb8_main.c:		if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:		snd_sbdsp_command(chip, chip->capture_format);
+sound/isa/sb/sb8_main.c:		if (chip->capture_format == SB_DSP_INPUT) {
+sound/isa/sb/sb8_main.c:			count = chip->c_period_size - 1;
+sound/isa/sb/sb8_main.c:		if (chip->capture_format == SB_DSP_HI_INPUT_AUTO) {
+sound/isa/sb/sb8_main.c:				spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:				snd_sbmixer_write(chip, SB_DSP_CAPTURE_FILT, chip->force_mode16);
+sound/isa/sb/sb8_main.c:				spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	switch (chip->mode) {
+sound/isa/sb/sb8_main.c:		if (chip->hardware != SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		substream = chip->playback_substream;
+sound/isa/sb/sb8_main.c:		if (chip->playback_format == SB_DSP_OUTPUT)
+sound/isa/sb/sb8_main.c:		if (chip->hardware != SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		substream = chip->capture_substream;
+sound/isa/sb/sb8_main.c:		if (chip->capture_format == SB_DSP_INPUT)
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_PLAYBACK_8)
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	else if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:	ptr = snd_dma_pointer(dma, chip->p_dma_size);
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_CAPTURE_8)
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	else if (chip->mode & SB_MODE_CAPTURE_16)
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:	ptr = snd_dma_pointer(dma, chip->c_dma_size);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	if (chip->open) {
+sound/isa/sb/sb8_main.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	chip->open |= SB_OPEN_PCM;
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:		chip->playback_substream = substream;
+sound/isa/sb/sb8_main.c:		chip->capture_substream = substream;
+sound/isa/sb/sb8_main.c:	switch (chip->hardware) {
+sound/isa/sb/sb8_main.c:		if (chip->dma16 == 5 || chip->dma16 == 7)
+sound/isa/sb/sb8_main.c:	if (chip->dma8 > 3 || chip->dma16 >= 0) {
+sound/isa/sb/sb8_main.c:	chip->playback_substream = NULL;
+sound/isa/sb/sb8_main.c:	chip->capture_substream = NULL;
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	chip->open &= ~SB_OPEN_PCM;
+sound/isa/sb/sb8_main.c:		chip->mode &= ~SB_MODE_PLAYBACK;
+sound/isa/sb/sb8_main.c:		chip->mode &= ~SB_MODE_CAPTURE;
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	struct snd_card *card = chip->card;
+sound/isa/sb/sb8_main.c:	sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff);
+sound/isa/sb/sb8_main.c:	if (chip->dma8 > 3 || chip->dma16 >= 0)
+sound/isa/sb/sb8_midi.c:	rmidi = chip->rmidi;
+sound/isa/sb/sb8_midi.c:	spin_lock(&chip->midi_input_lock);
+sound/isa/sb/sb8_midi.c:			if (chip->open & SB_OPEN_MIDI_INPUT_TRIGGER) {
+sound/isa/sb/sb8_midi.c:				snd_rawmidi_receive(chip->midi_substream_input, &byte, 1);
+sound/isa/sb/sb8_midi.c:	spin_unlock(&chip->midi_input_lock);
+sound/isa/sb/sb8_midi.c:	valid_open_flags = chip->hardware >= SB_HW_20
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	if (chip->open & ~valid_open_flags) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open |= SB_OPEN_MIDI_INPUT;
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_input = substream;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_OUTPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (chip->hardware >= SB_HW_20)
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	valid_open_flags = chip->hardware >= SB_HW_20
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	if (chip->open & ~valid_open_flags) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open |= SB_OPEN_MIDI_OUTPUT;
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_output = substream;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_INPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (chip->hardware >= SB_HW_20)
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open &= ~(SB_OPEN_MIDI_INPUT | SB_OPEN_MIDI_INPUT_TRIGGER);
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_input = NULL;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_OUTPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	del_timer_sync(&chip->midi_timer);
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open &= ~(SB_OPEN_MIDI_OUTPUT | SB_OPEN_MIDI_OUTPUT_TRIGGER);
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_output = NULL;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_INPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (!(chip->open & SB_OPEN_MIDI_INPUT_TRIGGER)) {
+sound/isa/sb/sb8_midi.c:			if (chip->hardware < SB_HW_20)
+sound/isa/sb/sb8_midi.c:			chip->open |= SB_OPEN_MIDI_INPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:		if (chip->open & SB_OPEN_MIDI_INPUT_TRIGGER) {
+sound/isa/sb/sb8_midi.c:			if (chip->hardware < SB_HW_20)
+sound/isa/sb/sb8_midi.c:			chip->open &= ~SB_OPEN_MIDI_INPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:			chip->open &= ~SB_OPEN_MIDI_OUTPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:			del_timer(&chip->midi_timer);
+sound/isa/sb/sb8_midi.c:			spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (chip->hardware >= SB_HW_20) {
+sound/isa/sb/sb8_midi.c:				spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	struct snd_rawmidi_substream *substream = chip->midi_substream_output;
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	mod_timer(&chip->midi_timer, 1 + jiffies);
+sound/isa/sb/sb8_midi.c:	spin_unlock_irqrestore(&chip->open_lock, flags);	
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (!(chip->open & SB_OPEN_MIDI_OUTPUT_TRIGGER)) {
+sound/isa/sb/sb8_midi.c:			mod_timer(&chip->midi_timer, 1 + jiffies);
+sound/isa/sb/sb8_midi.c:			chip->open |= SB_OPEN_MIDI_OUTPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:		if (chip->open & SB_OPEN_MIDI_OUTPUT_TRIGGER) {
+sound/isa/sb/sb8_midi.c:			chip->open &= ~SB_OPEN_MIDI_OUTPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	if ((err = snd_rawmidi_new(chip->card, "SB8 MIDI", device, 1, 1, &rmidi)) < 0)
+sound/isa/sb/sb8_midi.c:	if (chip->hardware >= SB_HW_20)
+sound/isa/sb/sb8_midi.c:	timer_setup(&chip->midi_timer, snd_sb8dsp_midi_output_timer, 0);
+sound/isa/sb/sb8_midi.c:	chip->rmidi = rmidi;
+sound/isa/sb/sb_common.c:	snd_printd("%s [0x%lx]: timeout (0x%x)\n", __func__, chip->port, val);
+sound/isa/sb/sb_common.c:	snd_printd("%s [0x%lx]: timeout\n", __func__, chip->port);
+sound/isa/sb/sb_common.c:	snd_printdd("%s [0x%lx] failed...\n", __func__, chip->port);
+sound/isa/sb/sb_common.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:		    chip->port, major, minor);
+sound/isa/sb/sb_common.c:	switch (chip->hardware) {
+sound/isa/sb/sb_common.c:			chip->hardware = SB_HW_10;
+sound/isa/sb/sb_common.c:				chip->hardware = SB_HW_201;
+sound/isa/sb/sb_common.c:				chip->hardware = SB_HW_20;
+sound/isa/sb/sb_common.c:			chip->hardware = SB_HW_PRO;
+sound/isa/sb/sb_common.c:			chip->hardware = SB_HW_16;
+sound/isa/sb/sb_common.c:				   chip->port, major, minor);
+sound/isa/sb/sb_common.c:	sprintf(chip->name, "Sound Blaster %s", str);
+sound/isa/sb/sb_common.c:	chip->version = (major << 8) | minor;
+sound/isa/sb/sb_common.c:	release_and_free_resource(chip->res_port);
+sound/isa/sb/sb_common.c:	if (chip->irq >= 0)
+sound/isa/sb/sb_common.c:		free_irq(chip->irq, (void *) chip);
+sound/isa/sb/sb_common.c:	if (chip->dma8 >= 0) {
+sound/isa/sb/sb_common.c:		disable_dma(chip->dma8);
+sound/isa/sb/sb_common.c:		free_dma(chip->dma8);
+sound/isa/sb/sb_common.c:	if (chip->dma16 >= 0 && chip->dma16 != chip->dma8) {
+sound/isa/sb/sb_common.c:		disable_dma(chip->dma16);
+sound/isa/sb/sb_common.c:		free_dma(chip->dma16);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->open_lock);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->midi_input_lock);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->mixer_lock);
+sound/isa/sb/sb_common.c:	chip->irq = -1;
+sound/isa/sb/sb_common.c:	chip->dma8 = -1;
+sound/isa/sb/sb_common.c:	chip->dma16 = -1;
+sound/isa/sb/sb_common.c:	chip->port = port;
+sound/isa/sb/sb_common.c:	chip->irq = irq;
+sound/isa/sb/sb_common.c:	if ((chip->res_port = request_region(port, 16, "SoundBlaster")) == NULL) {
+sound/isa/sb/sb_common.c:	chip->dma8 = dma8;
+sound/isa/sb/sb_common.c:	chip->dma16 = dma16;
+sound/isa/sb/sb_common.c:	chip->card = card;
+sound/isa/sb/sb_common.c:	chip->hardware = hardware;
+sound/isa/sb/sb_mixer.c:	if ((err = snd_ctl_add(chip->card, ctl)) < 0)
+sound/isa/sb/sb_mixer.c:	struct snd_card *card = chip->card;
+sound/isa/sb/sb_mixer.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:		spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:		spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/isa/sb/sb_mixer.c:	card = chip->card;
+sound/isa/sb/sb_mixer.c:	switch (chip->hardware) {
+sound/isa/sb/sb_mixer.c:	unsigned char *val = chip->saved_regs;
+sound/isa/sb/sb_mixer.c:	if (snd_BUG_ON(num_regs > ARRAY_SIZE(chip->saved_regs)))
+sound/isa/sb/sb_mixer.c:	unsigned char *val = chip->saved_regs;
+sound/isa/sb/sb_mixer.c:	if (snd_BUG_ON(num_regs > ARRAY_SIZE(chip->saved_regs)))
+sound/isa/sb/sb_mixer.c:	switch (chip->hardware) {
+sound/isa/sb/sb_mixer.c:	switch (chip->hardware) {
+sound/isa/sc6000.c:	struct snd_card *card = chip->card;
+sound/isa/sscape.c:						 s->chip->card->dev,
+sound/isa/sscape.c:	free_dma(sscape->chip->dma1);
+sound/isa/sscape.c:	val = (s->chip->dma1 << 4) | DMA_8BIT;
+sound/isa/sscape.c:		snd_dma_program(s->chip->dma1, dma.addr, len, DMA_MODE_WRITE);
+sound/isa/sscape.c:	struct snd_card *card = chip->card;
+sound/isa/sscape.c:	struct snd_card *card = chip->card;
+sound/isa/sscape.c:			spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sscape.c:			spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sscape.c:		if (chip->hardware != WSS_HW_AD1848) {
+sound/isa/sscape.c:		 name, sscape->chip->port, sscape->chip->irq,
+sound/isa/sscape.c:		 sscape->chip->dma1, sscape->chip->dma2);
+sound/isa/wavefront/wavefront.c:		chip->port,
+sound/isa/wss/wss_lib.c:	outb(val, chip->port + offset);
+sound/isa/wss/wss_lib.c:	return inb(chip->port + offset);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
+sound/isa/wss/wss_lib.c:	chip->image[reg] = value;
+sound/isa/wss/wss_lib.c:			chip->mce_bit | reg, value);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | 0x17);
+sound/isa/wss/wss_lib.c:		 reg | (chip->image[CS4236_EXT_REG] & 0x01));
+sound/isa/wss/wss_lib.c:	chip->eimage[CS4236_REG(reg)] = val;
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | 0x17);
+sound/isa/wss/wss_lib.c:		 reg | (chip->image[CS4236_EXT_REG] & 0x01));
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mce_bit |= CS4231_MCE;
+sound/isa/wss/wss_lib.c:			   chip->port);
+sound/isa/wss/wss_lib.c:			 chip->mce_bit | (timeout & 0x1f));
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mce_bit &= ~CS4231_MCE;
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | (timeout & 0x1f));
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			   chip->port);
+sound/isa/wss/wss_lib.c:	if ((timeout & CS4231_MCE) == 0 || !(chip->hardware & hw_mask))
+sound/isa/wss/wss_lib.c:		if (s == chip->playback_substream) {
+sound/isa/wss/wss_lib.c:		} else if (s == chip->capture_substream) {
+sound/isa/wss/wss_lib.c:	spin_lock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_IFACE_CTRL] |= what;
+sound/isa/wss/wss_lib.c:		if (chip->trigger)
+sound/isa/wss/wss_lib.c:			chip->trigger(chip, what, 1);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_IFACE_CTRL] &= ~what;
+sound/isa/wss/wss_lib.c:		if (chip->trigger)
+sound/isa/wss/wss_lib.c:			chip->trigger(chip, what, 0);
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:	spin_unlock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (chip->calibrate_mute == mute) {
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			     chip->image[CS4231_LEFT_INPUT]);
+sound/isa/wss/wss_lib.c:			     chip->image[CS4231_RIGHT_INPUT]);
+sound/isa/wss/wss_lib.c:			     chip->image[CS4231_LOOPBACK]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX1_LEFT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX1_RIGHT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX2_LEFT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX2_RIGHT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_LEFT_OUTPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_RIGHT_OUTPUT]);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LEFT_LINE_IN]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_RIGHT_LINE_IN]);
+sound/isa/wss/wss_lib.c:			     mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_INTERWAVE) {
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LEFT_MIC_INPUT]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_RIGHT_MIC_INPUT]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LINE_LEFT_OUTPUT]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LINE_RIGHT_OUTPUT]);
+sound/isa/wss/wss_lib.c:	chip->calibrate_mute = mute;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4231A ||
+sound/isa/wss/wss_lib.c:	    (chip->hardware & WSS_HW_CS4232_MASK)) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if ((chip->image[CS4231_PLAYBK_FORMAT] & 0x0f) == (pdfr & 0x0f)) {	/* rate is same? */
+sound/isa/wss/wss_lib.c:				    chip->image[CS4231_ALT_FEATURE_1] | 0x10);
+sound/isa/wss/wss_lib.c:			chip->image[CS4231_PLAYBK_FORMAT] = pdfr;
+sound/isa/wss/wss_lib.c:				    chip->image[CS4231_PLAYBK_FORMAT]);
+sound/isa/wss/wss_lib.c:				    chip->image[CS4231_ALT_FEATURE_1] &= ~0x10);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	} else if (chip->hardware == WSS_HW_AD1845) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware != WSS_HW_INTERWAVE && !chip->single_dma) {
+sound/isa/wss/wss_lib.c:			if (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE)
+sound/isa/wss/wss_lib.c:				       (chip->image[CS4231_REC_FORMAT] & 0x0f);
+sound/isa/wss/wss_lib.c:			chip->image[CS4231_PLAYBK_FORMAT] = pdfr;
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware == WSS_HW_OPL3SA2)
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4231A ||
+sound/isa/wss/wss_lib.c:	    (chip->hardware & WSS_HW_CS4232_MASK)) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if ((chip->image[CS4231_PLAYBK_FORMAT] & 0x0f) == (cdfr & 0x0f) ||	/* rate is same? */
+sound/isa/wss/wss_lib.c:		    (chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE)) {
+sound/isa/wss/wss_lib.c:				chip->image[CS4231_ALT_FEATURE_1] | 0x20);
+sound/isa/wss/wss_lib.c:				chip->image[CS4231_REC_FORMAT] = cdfr);
+sound/isa/wss/wss_lib.c:				chip->image[CS4231_ALT_FEATURE_1] &= ~0x20);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	} else if (chip->hardware == WSS_HW_AD1845) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware != WSS_HW_INTERWAVE &&
+sound/isa/wss/wss_lib.c:		    !(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE)) {
+sound/isa/wss/wss_lib.c:			if (chip->single_dma)
+sound/isa/wss/wss_lib.c:				   (chip->image[CS4231_PLAYBK_FORMAT] & 0xf0) |
+sound/isa/wss/wss_lib.c:			spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_CS4236B_MASK)
+sound/isa/wss/wss_lib.c:		return chip->image[CS4231_PLAYBK_FORMAT] & 1 ? 9969 : 9920;
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if ((chip->image[CS4231_ALT_FEATURE_1] & CS4231_TIMER_ENABLE) == 0 ||
+sound/isa/wss/wss_lib.c:	    (unsigned char)(ticks >> 8) != chip->image[CS4231_TIMER_HIGH] ||
+sound/isa/wss/wss_lib.c:	    (unsigned char)ticks != chip->image[CS4231_TIMER_LOW]) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_TIMER_HIGH] = (unsigned char) (ticks >> 8);
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_TIMER_HIGH]);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_TIMER_LOW] = (unsigned char) ticks;
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_TIMER_LOW]);
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_ALT_FEATURE_1] |
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_ALT_FEATURE_1] &= ~CS4231_TIMER_ENABLE;
+sound/isa/wss/wss_lib.c:		    chip->image[CS4231_ALT_FEATURE_1]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE |
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] |= CS4231_AUTOCALIB;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~CS4231_AUTOCALIB;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:		    CS4231_ALT_FEATURE_1, chip->image[CS4231_ALT_FEATURE_1]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		   chip->image[CS4231_ALT_FEATURE_1]);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		    chip->image[CS4231_ALT_FEATURE_2]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		    chip->image[CS4231_PLAYBK_FORMAT]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_REC_FORMAT]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	if ((chip->mode & mode) ||
+sound/isa/wss/wss_lib.c:	    ((chip->mode & WSS_MODE_OPEN) && chip->single_dma)) {
+sound/isa/wss/wss_lib.c:		mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->mode & WSS_MODE_OPEN) {
+sound/isa/wss/wss_lib.c:		chip->mode |= mode;
+sound/isa/wss/wss_lib.c:		mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_PIN_CTRL] |= CS4231_IRQ_ENABLE;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_PIN_CTRL, chip->image[CS4231_PIN_CTRL]);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mode = mode;
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	chip->mode &= ~mode;
+sound/isa/wss/wss_lib.c:	if (chip->mode & WSS_MODE_OPEN) {
+sound/isa/wss/wss_lib.c:		mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_PIN_CTRL] &= ~CS4231_IRQ_ENABLE;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_PIN_CTRL, chip->image[CS4231_PIN_CTRL]);
+sound/isa/wss/wss_lib.c:	if (chip->image[CS4231_IFACE_CTRL] & (CS4231_PLAYBACK_ENABLE | CS4231_PLAYBACK_PIO |
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE | CS4231_PLAYBACK_PIO |
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mode = 0;
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	chip->set_playback_format(chip, hw_params, new_pdfr);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->p_dma_size = size;
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE | CS4231_PLAYBACK_PIO);
+sound/isa/wss/wss_lib.c:	snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/wss/wss_lib.c:	count = snd_wss_get_count(chip->image[CS4231_PLAYBK_FORMAT], count) - 1;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->set_capture_format(chip, hw_params, new_cdfr);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->c_dma_size = size;
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_RECORD_ENABLE | CS4231_RECORD_PIO);
+sound/isa/wss/wss_lib.c:	snd_dma_program(chip->dma2, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:		count = snd_wss_get_count(chip->image[CS4231_PLAYBK_FORMAT],
+sound/isa/wss/wss_lib.c:		count = snd_wss_get_count(chip->image[CS4231_REC_FORMAT],
+sound/isa/wss/wss_lib.c:	if (chip->single_dma && chip->hardware != WSS_HW_INTERWAVE) {
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		chip->capture_substream->runtime->overrange++;
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:		if (chip->timer)
+sound/isa/wss/wss_lib.c:			snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/isa/wss/wss_lib.c:	if (chip->single_dma && chip->hardware != WSS_HW_INTERWAVE) {
+sound/isa/wss/wss_lib.c:			if (chip->mode & WSS_MODE_PLAY) {
+sound/isa/wss/wss_lib.c:				if (chip->playback_substream)
+sound/isa/wss/wss_lib.c:					snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/wss/wss_lib.c:			if (chip->mode & WSS_MODE_RECORD) {
+sound/isa/wss/wss_lib.c:				if (chip->capture_substream) {
+sound/isa/wss/wss_lib.c:					snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/wss/wss_lib.c:			if (chip->playback_substream)
+sound/isa/wss/wss_lib.c:				snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/wss/wss_lib.c:			if (chip->capture_substream) {
+sound/isa/wss/wss_lib.c:				snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/wss/wss_lib.c:	spin_lock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	spin_unlock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE))
+sound/isa/wss/wss_lib.c:	ptr = snd_dma_pointer(chip->dma1, chip->p_dma_size);
+sound/isa/wss/wss_lib.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE))
+sound/isa/wss/wss_lib.c:	ptr = snd_dma_pointer(chip->dma2, chip->c_dma_size);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if ((chip->hardware & WSS_HW_TYPE_MASK) != WSS_HW_DETECT)
+sound/isa/wss/wss_lib.c:		chip->hardware = hardware;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CMI8330;
+sound/isa/wss/wss_lib.c:		chip->hardware = WSS_HW_CS4248;
+sound/isa/wss/wss_lib.c:		chip->hardware = WSS_HW_AD1848;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	hw = chip->hardware;
+sound/isa/wss/wss_lib.c:				spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:				spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		snd_printdd("wss: port = 0x%lx, id = 0x%x\n", chip->port, id);
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_AD1845;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4231;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4231A;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4232;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4232A;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4236;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4236B;
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_MISC_INFO] = CS4231_MODE2;
+sound/isa/wss/wss_lib.c:	switch (chip->hardware) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_MISC_INFO] = CS4231_IW_MODE3;
+sound/isa/wss/wss_lib.c:			chip->image[CS4231_MISC_INFO] = CS4231_4236_MODE3;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4236;
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] =
+sound/isa/wss/wss_lib.c:	    (chip->image[CS4231_IFACE_CTRL] & ~CS4231_SINGLE_DMA) |
+sound/isa/wss/wss_lib.c:	    (chip->single_dma ? CS4231_SINGLE_DMA : 0);
+sound/isa/wss/wss_lib.c:	if (chip->hardware != WSS_HW_OPTI93X) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_ALT_FEATURE_1] = 0x80;
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_ALT_FEATURE_2] =
+sound/isa/wss/wss_lib.c:			chip->hardware == WSS_HW_INTERWAVE ? 0xc2 : 0x01;
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_AD1845)
+sound/isa/wss/wss_lib.c:		chip->image[AD1845_PWR_DOWN] = 8;
+sound/isa/wss/wss_lib.c:	ptr = (unsigned char *) &chip->image;
+sound/isa/wss/wss_lib.c:	regnum = (chip->hardware & WSS_HW_AD1848_MASK) ? 16 : 32;
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware == WSS_HW_CS4236B) {
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4235;
+sound/isa/wss/wss_lib.c:					chip->hardware = WSS_HW_CS4236B;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4237B;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4238B;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4239;
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_INTERWAVE && chip->dma1 > 3)
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4235 ||
+sound/isa/wss/wss_lib.c:	    chip->hardware == WSS_HW_CS4239)
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.buffer_bytes_max);
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.period_bytes_max);
+sound/isa/wss/wss_lib.c:	if (chip->claim_dma) {
+sound/isa/wss/wss_lib.c:		if ((err = chip->claim_dma(chip, chip->dma_private_data, chip->dma1)) < 0)
+sound/isa/wss/wss_lib.c:		if (chip->release_dma)
+sound/isa/wss/wss_lib.c:			chip->release_dma(chip, chip->dma_private_data, chip->dma1);
+sound/isa/wss/wss_lib.c:	chip->playback_substream = substream;
+sound/isa/wss/wss_lib.c:	chip->rate_constraint(runtime);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4235 ||
+sound/isa/wss/wss_lib.c:	    chip->hardware == WSS_HW_CS4239 ||
+sound/isa/wss/wss_lib.c:	    chip->hardware == WSS_HW_OPTI93X)
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.buffer_bytes_max);
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.period_bytes_max);
+sound/isa/wss/wss_lib.c:	if (chip->claim_dma) {
+sound/isa/wss/wss_lib.c:		if ((err = chip->claim_dma(chip, chip->dma_private_data, chip->dma2)) < 0)
+sound/isa/wss/wss_lib.c:		if (chip->release_dma)
+sound/isa/wss/wss_lib.c:			chip->release_dma(chip, chip->dma_private_data, chip->dma2);
+sound/isa/wss/wss_lib.c:	chip->capture_substream = substream;
+sound/isa/wss/wss_lib.c:	chip->rate_constraint(runtime);
+sound/isa/wss/wss_lib.c:	chip->playback_substream = NULL;
+sound/isa/wss/wss_lib.c:	chip->capture_substream = NULL;
+sound/isa/wss/wss_lib.c:	if (!chip->thinkpad_flag)
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		chip->image[reg] = snd_wss_in(chip, reg);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (chip->thinkpad_flag)
+sound/isa/wss/wss_lib.c:	if (chip->thinkpad_flag)
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			snd_wss_out(chip, reg, chip->image[reg]);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_OPL3SA2)
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_PLAYBK_FORMAT]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mce_bit &= ~CS4231_MCE;
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | (timeout & 0x1f));
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			   "- codec still busy\n", chip->port);
+sound/isa/wss/wss_lib.c:	    !(chip->hardware & (WSS_HW_CS4231_MASK | WSS_HW_CS4232_MASK))) {
+sound/isa/wss/wss_lib.c:	release_and_free_resource(chip->res_port);
+sound/isa/wss/wss_lib.c:	release_and_free_resource(chip->res_cport);
+sound/isa/wss/wss_lib.c:	if (chip->irq >= 0) {
+sound/isa/wss/wss_lib.c:		disable_irq(chip->irq);
+sound/isa/wss/wss_lib.c:		if (!(chip->hwshare & WSS_HWSHARE_IRQ))
+sound/isa/wss/wss_lib.c:			free_irq(chip->irq, (void *) chip);
+sound/isa/wss/wss_lib.c:	if (!(chip->hwshare & WSS_HWSHARE_DMA1) && chip->dma1 >= 0) {
+sound/isa/wss/wss_lib.c:		snd_dma_disable(chip->dma1);
+sound/isa/wss/wss_lib.c:		free_dma(chip->dma1);
+sound/isa/wss/wss_lib.c:	if (!(chip->hwshare & WSS_HWSHARE_DMA2) &&
+sound/isa/wss/wss_lib.c:	    chip->dma2 >= 0 && chip->dma2 != chip->dma1) {
+sound/isa/wss/wss_lib.c:		snd_dma_disable(chip->dma2);
+sound/isa/wss/wss_lib.c:		free_dma(chip->dma2);
+sound/isa/wss/wss_lib.c:	if (chip->timer)
+sound/isa/wss/wss_lib.c:		snd_device_free(chip->card, chip->timer);
+sound/isa/wss/wss_lib.c:	switch (chip->hardware) {
+sound/isa/wss/wss_lib.c:		return chip->card->shortname;
+sound/isa/wss/wss_lib.c:	chip->hardware = hardware;
+sound/isa/wss/wss_lib.c:	chip->hwshare = hwshare;
+sound/isa/wss/wss_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	mutex_init(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	mutex_init(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	chip->card = card;
+sound/isa/wss/wss_lib.c:	chip->rate_constraint = snd_wss_xrate;
+sound/isa/wss/wss_lib.c:	chip->set_playback_format = snd_wss_playback_format;
+sound/isa/wss/wss_lib.c:	chip->set_capture_format = snd_wss_capture_format;
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_OPTI93X)
+sound/isa/wss/wss_lib.c:		memcpy(&chip->image, &snd_opti93x_original_image,
+sound/isa/wss/wss_lib.c:		memcpy(&chip->image, &snd_wss_original_image,
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_PIN_CTRL] = 0;
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_TEST_INIT] = 0;
+sound/isa/wss/wss_lib.c:	chip->irq = -1;
+sound/isa/wss/wss_lib.c:	chip->dma1 = -1;
+sound/isa/wss/wss_lib.c:	chip->dma2 = -1;
+sound/isa/wss/wss_lib.c:	chip->res_port = request_region(port, 4, "WSS");
+sound/isa/wss/wss_lib.c:	if (!chip->res_port) {
+sound/isa/wss/wss_lib.c:	chip->port = port;
+sound/isa/wss/wss_lib.c:		chip->res_cport = request_region(cport, 8, "CS4232 Control");
+sound/isa/wss/wss_lib.c:		if (!chip->res_cport) {
+sound/isa/wss/wss_lib.c:	chip->cport = cport;
+sound/isa/wss/wss_lib.c:	chip->irq = irq;
+sound/isa/wss/wss_lib.c:	chip->dma1 = dma1;
+sound/isa/wss/wss_lib.c:		chip->single_dma = 1;
+sound/isa/wss/wss_lib.c:		chip->dma2 = chip->dma1;
+sound/isa/wss/wss_lib.c:		chip->dma2 = dma2;
+sound/isa/wss/wss_lib.c:		chip->thinkpad_flag = 1;
+sound/isa/wss/wss_lib.c:		chip->hardware = WSS_HW_DETECT; /* reset */
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_CS4232_MASK) {
+sound/isa/wss/wss_lib.c:		if (chip->res_cport == NULL)
+sound/isa/wss/wss_lib.c:	chip->suspend = snd_wss_suspend;
+sound/isa/wss/wss_lib.c:	chip->resume = snd_wss_resume;
+sound/isa/wss/wss_lib.c:	err = snd_pcm_new(chip->card, "WSS", device, 1, 1, &pcm);
+sound/isa/wss/wss_lib.c:	if (chip->single_dma)
+sound/isa/wss/wss_lib.c:	if (chip->hardware != WSS_HW_INTERWAVE)
+sound/isa/wss/wss_lib.c:					      chip->card->dev,
+sound/isa/wss/wss_lib.c:					      64*1024, chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
+sound/isa/wss/wss_lib.c:	chip->pcm = pcm;
+sound/isa/wss/wss_lib.c:	chip->timer = NULL;
+sound/isa/wss/wss_lib.c:	tid.card = chip->card->number;
+sound/isa/wss/wss_lib.c:	if ((err = snd_timer_new(chip->card, "CS4231", &tid, &timer)) < 0)
+sound/isa/wss/wss_lib.c:	chip->timer = timer;
+sound/isa/wss/wss_lib.c:	if (snd_BUG_ON(!chip->card))
+sound/isa/wss/wss_lib.c:	if (!strcmp(chip->card->driver, "GUS MAX"))
+sound/isa/wss/wss_lib.c:	switch (chip->hardware) {
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	ucontrol->value.enumerated.item[0] = (chip->image[CS4231_LEFT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/isa/wss/wss_lib.c:	ucontrol->value.enumerated.item[1] = (chip->image[CS4231_RIGHT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	left = (chip->image[CS4231_LEFT_INPUT] & ~CS4231_MIXS_ALL) | left;
+sound/isa/wss/wss_lib.c:	right = (chip->image[CS4231_RIGHT_INPUT] & ~CS4231_MIXS_ALL) | right;
+sound/isa/wss/wss_lib.c:	change = left != chip->image[CS4231_LEFT_INPUT] ||
+sound/isa/wss/wss_lib.c:		 right != chip->image[CS4231_RIGHT_INPUT];
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	ucontrol->value.integer.value[0] = (chip->image[reg] >> shift) & mask;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	val = (chip->image[reg] & ~(mask << shift)) | val;
+sound/isa/wss/wss_lib.c:	change = val != chip->image[reg];
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	ucontrol->value.integer.value[0] = (chip->image[left_reg] >> shift_left) & mask;
+sound/isa/wss/wss_lib.c:	ucontrol->value.integer.value[1] = (chip->image[right_reg] >> shift_right) & mask;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		val1 = (chip->image[left_reg] & ~(mask << shift_left)) | val1;
+sound/isa/wss/wss_lib.c:		val2 = (chip->image[right_reg] & ~(mask << shift_right)) | val2;
+sound/isa/wss/wss_lib.c:		change = val1 != chip->image[left_reg] ||
+sound/isa/wss/wss_lib.c:			 val2 != chip->image[right_reg];
+sound/isa/wss/wss_lib.c:		val1 = (chip->image[left_reg] & ~mask) | val1 | val2;
+sound/isa/wss/wss_lib.c:		change = val1 != chip->image[left_reg];
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (snd_BUG_ON(!chip || !chip->pcm))
+sound/isa/wss/wss_lib.c:	card = chip->card;
+sound/isa/wss/wss_lib.c:	strcpy(card->mixername, chip->pcm->name);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	else if (chip->hardware == WSS_HW_OPTI93X)
+sound/mips/sgio2audio.c:/* definition of the chip-specific record */
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	uinfo->value.integer.max = ad1843_get_gain_max(&chip->ad1843,
+sound/mips/sgio2audio.c:	vol = ad1843_get_gain(&chip->ad1843, (int)kcontrol->private_value);
+sound/mips/sgio2audio.c:	oldvol = ad1843_get_gain(&chip->ad1843, kcontrol->private_value);
+sound/mips/sgio2audio.c:	newvol = ad1843_set_gain(&chip->ad1843, kcontrol->private_value,
+sound/mips/sgio2audio.c:	ucontrol->value.enumerated.item[0] = ad1843_get_recsrc(&chip->ad1843);
+sound/mips/sgio2audio.c:	oldsrc = ad1843_get_recsrc(&chip->ad1843);
+sound/mips/sgio2audio.c:	newsrc = ad1843_set_recsrc(&chip->ad1843,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	struct snd_pcm_runtime *runtime = chip->channel[ch].substream->runtime;
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	src_base = (unsigned long) chip->ring_base | (ch << CHANNEL_RING_SHIFT);
+sound/mips/sgio2audio.c:	dst_pos = chip->channel[ch].pos;
+sound/mips/sgio2audio.c:	chip->channel[ch].size += (count >> 3); /* in frames */
+sound/mips/sgio2audio.c:	ret = chip->channel[ch].size >= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].size %= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].pos = dst_pos;
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	struct snd_pcm_runtime *runtime = chip->channel[ch].substream->runtime;
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	dst_base = (unsigned long)chip->ring_base | (ch << CHANNEL_RING_SHIFT);
+sound/mips/sgio2audio.c:	src_pos = chip->channel[ch].pos;
+sound/mips/sgio2audio.c:	chip->channel[ch].size += (count >> 3); /* in frames */
+sound/mips/sgio2audio.c:	ret = chip->channel[ch].size >= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].size %= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].pos = src_pos;
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	runtime->private_data = &chip->channel[1];
+sound/mips/sgio2audio.c:	runtime->private_data = &chip->channel[2];
+sound/mips/sgio2audio.c:	runtime->private_data = &chip->channel[0];
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	chip->channel[ch].pos = 0;
+sound/mips/sgio2audio.c:	chip->channel[ch].size = 0;
+sound/mips/sgio2audio.c:	chip->channel[ch].substream = substream;
+sound/mips/sgio2audio.c:		ad1843_setup_dac(&chip->ad1843,
+sound/mips/sgio2audio.c:		ad1843_setup_adc(&chip->ad1843,
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:			       chip->channel[chan->idx].pos);
+sound/mips/sgio2audio.c:	err = snd_pcm_new(chip->card, "SGI O2 Audio", 0, 1, 1, &pcm);
+sound/mips/sgio2audio.c:	err = snd_pcm_new(chip->card, "SGI O2 Audio", 1, 1, 0, &pcm);
+sound/mips/sgio2audio.c:			 &chip->channel[snd_sgio2_isr_table[i].idx]);
+sound/mips/sgio2audio.c:	dma_free_coherent(chip->card->dev, MACEISA_RINGBUFFERS_SIZE,
+sound/mips/sgio2audio.c:			  chip->ring_base, chip->ring_base_dma);
+sound/mips/sgio2audio.c:	chip->card = card;
+sound/mips/sgio2audio.c:	chip->ring_base = dma_alloc_coherent(card->dev,
+sound/mips/sgio2audio.c:					     &chip->ring_base_dma, GFP_KERNEL);
+sound/mips/sgio2audio.c:	if (chip->ring_base == NULL) {
+sound/mips/sgio2audio.c:	spin_lock_init(&chip->ad1843_lock);
+sound/mips/sgio2audio.c:		spin_lock_init(&chip->channel[i].lock);
+sound/mips/sgio2audio.c:		chip->channel[i].idx = i;
+sound/mips/sgio2audio.c:				&chip->channel[snd_sgio2_isr_table[i].idx])) {
+sound/mips/sgio2audio.c:	writeq(chip->ring_base_dma, &mace->perif.ctrl.ringbase);
+sound/mips/sgio2audio.c:	chip->ad1843.read = read_ad1843_reg;
+sound/mips/sgio2audio.c:	chip->ad1843.write = write_ad1843_reg;
+sound/mips/sgio2audio.c:	chip->ad1843.chip = chip;
+sound/mips/sgio2audio.c:	err = ad1843_init(&chip->ad1843);
+sound/pci/ad1889.c:	return readw(chip->iobase + reg);
+sound/pci/ad1889.c:	writew(val, chip->iobase + reg);
+sound/pci/ad1889.c:	return readl(chip->iobase + reg);
+sound/pci/ad1889.c:	writel(val, chip->iobase + reg);
+sound/pci/ad1889.c:		chip->wave.reg = reg;
+sound/pci/ad1889.c:		chip->ramc.reg = reg;
+sound/pci/ad1889.c:		dev_err(chip->card->dev, "[%s] Link is not ready.\n",
+sound/pci/ad1889.c:	dev_dbg(chip->card->dev, "[%s] ready after %d ms\n", __func__, 400 - retry);
+sound/pci/ad1889.c:	chip->psubs = ss;
+sound/pci/ad1889.c:	chip->csubs = ss;
+sound/pci/ad1889.c:	chip->psubs = NULL;
+sound/pci/ad1889.c:	chip->csubs = NULL;
+sound/pci/ad1889.c:	spin_lock_irq(&chip->lock);
+sound/pci/ad1889.c:	chip->wave.size = size;
+sound/pci/ad1889.c:	chip->wave.reg = reg;
+sound/pci/ad1889.c:	chip->wave.addr = rt->dma_addr;
+sound/pci/ad1889.c:	ad1889_writew(chip, AD_DS_WSMC, chip->wave.reg);
+sound/pci/ad1889.c:	ad1889_load_wave_buffer_address(chip, chip->wave.addr);
+sound/pci/ad1889.c:	spin_unlock_irq(&chip->lock);
+sound/pci/ad1889.c:	dev_dbg(chip->card->dev,
+sound/pci/ad1889.c:		chip->wave.addr, count, size, reg, rt->rate);
+sound/pci/ad1889.c:	spin_lock_irq(&chip->lock);
+sound/pci/ad1889.c:	chip->ramc.size = size;
+sound/pci/ad1889.c:	chip->ramc.reg = reg;
+sound/pci/ad1889.c:	chip->ramc.addr = rt->dma_addr;
+sound/pci/ad1889.c:	ad1889_writew(chip, AD_DS_RAMC, chip->ramc.reg);
+sound/pci/ad1889.c:	ad1889_load_adc_buffer_address(chip, chip->ramc.addr);
+sound/pci/ad1889.c:	spin_unlock_irq(&chip->lock);
+sound/pci/ad1889.c:	dev_dbg(chip->card->dev,
+sound/pci/ad1889.c:		chip->ramc.addr, count, size, reg, rt->rate);
+sound/pci/ad1889.c:	chip->wave.reg = wsmc;
+sound/pci/ad1889.c:	chip->ramc.reg = ramc;
+sound/pci/ad1889.c:	if (unlikely(!(chip->wave.reg & AD_DS_WSMC_WAEN)))
+sound/pci/ad1889.c:	ptr -= chip->wave.addr;
+sound/pci/ad1889.c:	if (snd_BUG_ON(ptr >= chip->wave.size))
+sound/pci/ad1889.c:	if (unlikely(!(chip->ramc.reg & AD_DS_RAMC_ADEN)))
+sound/pci/ad1889.c:	ptr -= chip->ramc.addr;
+sound/pci/ad1889.c:	if (snd_BUG_ON(ptr >= chip->ramc.size))
+sound/pci/ad1889.c:		dev_dbg(chip->card->dev,
+sound/pci/ad1889.c:	if ((st & AD_DMA_DISR_WAVI) && chip->psubs)
+sound/pci/ad1889.c:		snd_pcm_period_elapsed(chip->psubs);
+sound/pci/ad1889.c:	if ((st & AD_DMA_DISR_ADCI) && chip->csubs)
+sound/pci/ad1889.c:		snd_pcm_period_elapsed(chip->csubs);
+sound/pci/ad1889.c:	err = snd_pcm_new(chip->card, chip->card->driver, device, 1, 1, &pcm);
+sound/pci/ad1889.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/ad1889.c:	chip->pcm = pcm;
+sound/pci/ad1889.c:	chip->psubs = NULL;
+sound/pci/ad1889.c:	chip->csubs = NULL;
+sound/pci/ad1889.c:					      &chip->pci->dev,
+sound/pci/ad1889.c:	snd_card_ro_proc_new(chip->card, chip->card->driver,
+sound/pci/ad1889.c:	chip->ac97_bus = NULL;
+sound/pci/ad1889.c:	chip->ac97 = NULL;
+sound/pci/ad1889.c:	err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus);
+sound/pci/ad1889.c:	chip->ac97_bus->private_free = snd_ad1889_ac97_bus_free;
+sound/pci/ad1889.c:	ac97.pci = chip->pci;
+sound/pci/ad1889.c:	err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97);
+sound/pci/ad1889.c:	snd_ac97_tune_hardware(chip->ac97, ac97_quirks, quirk_override);
+sound/pci/ad1889.c:	if (chip->irq < 0)
+sound/pci/ad1889.c:	spin_lock_irq(&chip->lock);
+sound/pci/ad1889.c:	spin_unlock_irq(&chip->lock);
+sound/pci/ad1889.c:	if (chip->irq >= 0)
+sound/pci/ad1889.c:		free_irq(chip->irq, chip);
+sound/pci/ad1889.c:	iounmap(chip->iobase);
+sound/pci/ad1889.c:	pci_release_regions(chip->pci);
+sound/pci/ad1889.c:	pci_disable_device(chip->pci);
+sound/pci/ad1889.c:	chip->card = card;
+sound/pci/ad1889.c:	chip->pci = pci;
+sound/pci/ad1889.c:	chip->irq = -1;
+sound/pci/ad1889.c:	chip->bar = pci_resource_start(pci, 0);
+sound/pci/ad1889.c:	chip->iobase = pci_ioremap_bar(pci, 0);
+sound/pci/ad1889.c:	if (chip->iobase == NULL) {
+sound/pci/ad1889.c:	spin_lock_init(&chip->lock);	/* only now can we call ad1889_free */
+sound/pci/ad1889.c:	chip->irq = pci->irq;
+sound/pci/ad1889.c:	synchronize_irq(chip->irq);
+sound/pci/ad1889.c:		card->shortname, chip->bar, chip->irq);
+sound/pci/ali5451/ali5451.c:	unsigned int modem_num = chip->num_of_codecs - 1;
+sound/pci/ali5451/ali5451.c:	snd_ac97_write(chip->ac97[modem_num], AC97_LINE1_RATE,
+sound/pci/ali5451/ali5451.c:	snd_ac97_write(chip->ac97[modem_num], AC97_LINE1_LEVEL, 0);
+sound/pci/ali5451/ali5451.c:	im = chip->image;
+sound/pci/ali5451/ali5451.c:	for (i = 0; i < chip->num_of_codecs; i++)
+sound/pci/ali5451/ali5451.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/ali5451/ali5451.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	im = chip->image;
+sound/pci/ali5451/ali5451.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	for (i = 0 ; i < chip->num_of_codecs; i++)
+sound/pci/ali5451/ali5451.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/als300.c:	u32 tmp = snd_als300_gcr_read(chip->port, MISC_CONTROL);
+sound/pci/als300.c:	if (((chip->revision > 5 || chip->chip_type == DEVICE_ALS300_PLUS) ^
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, MISC_CONTROL, tmp);
+sound/pci/als300.c:	if (chip->irq >= 0)
+sound/pci/als300.c:		free_irq(chip->irq, chip);
+sound/pci/als300.c:	pci_release_regions(chip->pci);
+sound/pci/als300.c:	pci_disable_device(chip->pci);
+sound/pci/als300.c:	status = inb(chip->port+ALS300_IRQ_STATUS);
+sound/pci/als300.c:	outb(status, chip->port+ALS300_IRQ_STATUS);
+sound/pci/als300.c:		if (chip->pcm && chip->playback_substream) {
+sound/pci/als300.c:			data = chip->playback_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/als300.c:		if (chip->pcm && chip->capture_substream) {
+sound/pci/als300.c:			data = chip->capture_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/als300.c:	general = inb(chip->port+ALS300P_IRQ_STATUS);
+sound/pci/als300.c:	mpu = inb(chip->port+MPU_IRQ_STATUS);
+sound/pci/als300.c:	dram = inb(chip->port+ALS300P_DRAM_IRQ_STATUS);
+sound/pci/als300.c:		if (chip->pcm && chip->playback_substream) {
+sound/pci/als300.c:			outb(IRQ_PLAYBACK, chip->port+ALS300P_IRQ_STATUS);
+sound/pci/als300.c:			data = chip->playback_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/als300.c:		if (chip->pcm && chip->capture_substream) {
+sound/pci/als300.c:			outb(IRQ_CAPTURE, chip->port+ALS300P_IRQ_STATUS);
+sound/pci/als300.c:			data = chip->capture_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/als300.c:		if ((inb(chip->port+AC97_STATUS) & (AC97_BUSY)) == 0)
+sound/pci/als300.c:	outl((reg << 24) | (1 << 31), chip->port+AC97_ACCESS);
+sound/pci/als300.c:		if ((inb(chip->port+AC97_STATUS) & (AC97_DATA_AVAIL)) != 0)
+sound/pci/als300.c:	return inw(chip->port+AC97_READ);
+sound/pci/als300.c:		if ((inb(chip->port+AC97_STATUS) & (AC97_BUSY)) == 0)
+sound/pci/als300.c:	outl((reg << 24) | val, chip->port+AC97_ACCESS);
+sound/pci/als300.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus)) < 0)
+sound/pci/als300.c:	return snd_ac97_mixer(bus, &ac97, &chip->ac97);
+sound/pci/als300.c:	chip->playback_substream = substream;
+sound/pci/als300.c:	chip->playback_substream = NULL;
+sound/pci/als300.c:	chip->capture_substream = substream;
+sound/pci/als300.c:	chip->capture_substream = NULL;
+sound/pci/als300.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_CONTROL, tmp);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_START,
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_END,
+sound/pci/als300.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als300.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, RECORD_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, RECORD_CONTROL, tmp);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, RECORD_START,
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, RECORD_END,
+sound/pci/als300.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als300.c:	spin_lock(&chip->reg_lock);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp | TRANSFER_START);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp & ~TRANSFER_START);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp | FIFO_PAUSE);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp & ~FIFO_PAUSE);
+sound/pci/als300.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als300.c:	spin_lock(&chip->reg_lock);
+sound/pci/als300.c:	current_ptr = (u16) snd_als300_gcr_read(chip->port,
+sound/pci/als300.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als300.c:	err = snd_pcm_new(chip->card, "ALS300", 0, 1, 1, &pcm);
+sound/pci/als300.c:	chip->pcm = pcm;
+sound/pci/als300.c:					      &chip->pci->dev,
+sound/pci/als300.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/als300.c:	chip->revision = (snd_als300_gcr_read(chip->port, MISC_CONTROL) >> 16)
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, DRAM_WRITE_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, DRAM_WRITE_CONTROL,
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, MISC_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, MISC_CONTROL,
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, MUS_VOC_VOL, 0);
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_CONTROL,
+sound/pci/als300.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/als300.c:	chip->card = card;
+sound/pci/als300.c:	chip->pci = pci;
+sound/pci/als300.c:	chip->irq = -1;
+sound/pci/als300.c:	chip->chip_type = chip_type;
+sound/pci/als300.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/als300.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/als300.c:	if (chip->chip_type == DEVICE_ALS300_PLUS)
+sound/pci/als300.c:	chip->irq = pci->irq;
+sound/pci/als300.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/als300.c:	snd_ac97_resume(chip->ac97);
+sound/pci/als300.c:	if (chip->chip_type == DEVICE_ALS300_PLUS)
+sound/pci/als300.c:		sprintf(card->shortname, "ALS300+ (Rev. %d)", chip->revision);
+sound/pci/als300.c:							chip->revision - 1);
+sound/pci/als300.c:				card->shortname, chip->port, chip->irq);
+sound/pci/als4000.c:	 * NOTE: assumes chip->mixer_lock to be locked externally already!
+sound/pci/als4000.c:	/* NOTE: assumes chip->mixer_lock to be locked externally already! */
+sound/pci/als4000.c:	if (!(chip->mode & SB_RATE_LOCK)) {
+sound/pci/als4000.c:	chip->capture_format = snd_als4000_get_format(runtime);
+sound/pci/als4000.c:	if (chip->capture_format & ALS4000_FORMAT_16BIT)
+sound/pci/als4000.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_lock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	chip->playback_format = snd_als4000_get_format(runtime);
+sound/pci/als4000.c:	if (chip->playback_format & ALS4000_FORMAT_16BIT)
+sound/pci/als4000.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	   chip->mode non-atomic update gets consistently protected
+sound/pci/als4000.c:	spin_lock(&chip->mixer_lock);
+sound/pci/als4000.c:		chip->mode |= SB_RATE_LOCK_CAPTURE;
+sound/pci/als4000.c:		chip->mode &= ~SB_RATE_LOCK_CAPTURE;
+sound/pci/als4000.c:	spin_unlock(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_lock(&chip->reg_lock);
+sound/pci/als4000.c:		chip->mode |= SB_RATE_LOCK_PLAYBACK;
+sound/pci/als4000.c:		chip->mode &= ~SB_RATE_LOCK_PLAYBACK;
+sound/pci/als4000.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als4000.c:	spin_lock(&chip->reg_lock);	
+sound/pci/als4000.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als4000.c:	spin_lock(&chip->reg_lock);	
+sound/pci/als4000.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als4000.c:	pci_irqstatus = snd_als4k_iobase_readb(chip->alt_port,
+sound/pci/als4000.c:	 && (chip->playback_substream)) /* playback */
+sound/pci/als4000.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/als4000.c:	 && (chip->capture_substream)) /* capturing */
+sound/pci/als4000.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/als4000.c:	 && (chip->rmidi)) /* MPU401 interrupt */
+sound/pci/als4000.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/als4000.c:	snd_als4k_iobase_writeb(chip->alt_port,
+sound/pci/als4000.c:	spin_lock(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_unlock(&chip->mixer_lock);
+sound/pci/als4000.c:		inb(chip->mpu_port);
+sound/pci/als4000.c:		snd_als4k_iobase_readb(chip->alt_port,
+sound/pci/als4000.c:	/* dev_dbg(chip->card->dev, "als4000: irq 0x%04x 0x%04x\n",
+sound/pci/als4000.c:	chip->playback_substream = substream;
+sound/pci/als4000.c:	chip->playback_substream = NULL;
+sound/pci/als4000.c:	chip->capture_substream = substream;
+sound/pci/als4000.c:	chip->capture_substream = NULL;
+sound/pci/als4000.c:	err = snd_pcm_new(chip->card, "ALS4000 DSP", device, 1, 1, &pcm);
+sound/pci/als4000.c:					      &chip->pci->dev,
+sound/pci/als4000.c:	chip->pcm = pcm;
+sound/pci/als4000.c:	spin_lock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	chip->pci = pci;
+sound/pci/als4000.c:	chip->alt_port = iobase;
+sound/pci/als4000.c:		card->shortname, chip->alt_port, chip->irq);
+sound/pci/als4000.c:					-1, &chip->rmidi)) < 0) {
+sound/pci/atiixp.c:	void __iomem *addr = chip->remap_addr + reg;
+sound/pci/atiixp.c:	writel(value, chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp.c:	readl(chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp.c:					&chip->pci->dev,
+sound/pci/atiixp.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/atiixp.c:	writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/atiixp.c:	       chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:		writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:			dev_warn(chip->card->dev, "codec acquire timeout\n");
+sound/pci/atiixp.c:		dev_warn(chip->card->dev, "codec read timeout (reg %x)\n", reg);
+sound/pci/atiixp.c:			dev_err(chip->card->dev, "codec reset timeout\n");
+sound/pci/atiixp.c:	chip->codec_not_ready_bits = 0;
+sound/pci/atiixp.c:		ac97_codec = ac97_probing_bugs(chip->pci);
+sound/pci/atiixp.c:		chip->codec_not_ready_bits |= 
+sound/pci/atiixp.c:		if (chip->codec_not_ready_bits)
+sound/pci/atiixp.c:	if ((chip->codec_not_ready_bits & ALL_CODEC_NOT_READY) == ALL_CODEC_NOT_READY) {
+sound/pci/atiixp.c:		dev_err(chip->card->dev, "no codec detected!\n");
+sound/pci/atiixp.c:		curptr = readl(chip->remap_addr + dma->ops->dt_cur);
+sound/pci/atiixp.c:	dev_dbg(chip->card->dev, "invalid DMA pointer read 0x%x (buf=%x)\n",
+sound/pci/atiixp.c:		   readl(chip->remap_addr + dma->ops->dt_cur), dma->buf_addr);
+sound/pci/atiixp.c:	dev_dbg(chip->card->dev, "XRUN detected (DMA %d)\n", dma->ops->type);
+sound/pci/atiixp.c:	spin_lock(&chip->reg_lock);
+sound/pci/atiixp.c:			writel(dma->saved_curptr, chip->remap_addr +
+sound/pci/atiixp.c:			dma->saved_curptr = readl(chip->remap_addr +
+sound/pci/atiixp.c:	spin_unlock(&chip->reg_lock);
+sound/pci/atiixp.c: * every callback is supposed to be called in chip->reg_lock spinlock
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink) {
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:		struct ac97_pcm *pcm = chip->pcms[dma->ac97_pcm_type];
+sound/pci/atiixp.c:		struct ac97_pcm *pcm = chip->pcms[dma->ac97_pcm_type];
+sound/pci/atiixp.c:		runtime->hw.rates = chip->pcms[pcm_type]->rates;
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 0);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	substream->runtime->hw.channels_max = chip->max_channels;
+sound/pci/atiixp.c:	if (chip->max_channels > 2)
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	return snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_CAPTURE], 1);
+sound/pci/atiixp.c:	return snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink) /* share DMA_PLAYBACK */
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 2);
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_SPDIF], -1);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink)
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_SPDIF]);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	struct snd_ac97_bus *pbus = chip->ac97_bus;
+sound/pci/atiixp.c:	chip->dmas[ATI_DMA_PLAYBACK].ops = &snd_atiixp_playback_dma_ops;
+sound/pci/atiixp.c:	chip->dmas[ATI_DMA_CAPTURE].ops = &snd_atiixp_capture_dma_ops;
+sound/pci/atiixp.c:	if (! chip->spdif_over_aclink)
+sound/pci/atiixp.c:		chip->dmas[ATI_DMA_SPDIF].ops = &snd_atiixp_spdif_dma_ops;
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink)
+sound/pci/atiixp.c:		chip->pcms[i] = &pbus->pcms[i];
+sound/pci/atiixp.c:	chip->max_channels = 2;
+sound/pci/atiixp.c:			chip->max_channels = 6;
+sound/pci/atiixp.c:			chip->max_channels = 4;
+sound/pci/atiixp.c:	err = snd_pcm_new(chip->card, "ATI IXP AC97",
+sound/pci/atiixp.c:	chip->pcmdevs[ATI_PCMDEV_ANALOG] = pcm;
+sound/pci/atiixp.c:					      &chip->pci->dev,
+sound/pci/atiixp.c:				     snd_pcm_alt_chmaps, chip->max_channels, 0,
+sound/pci/atiixp.c:	chip->ac97[0]->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/atiixp.c:	if (chip->pcms[ATI_PCM_SPDIF] && ! chip->pcms[ATI_PCM_SPDIF]->rates)
+sound/pci/atiixp.c:	if (chip->pcms[ATI_PCM_SPDIF])
+sound/pci/atiixp.c:		chip->pcms[ATI_PCM_SPDIF]->rates = SNDRV_PCM_RATE_48000;
+sound/pci/atiixp.c:	err = snd_pcm_new(chip->card, "ATI IXP IEC958",
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink)
+sound/pci/atiixp.c:	chip->pcmdevs[ATI_PCMDEV_DIGITAL] = pcm;
+sound/pci/atiixp.c:					      &chip->pci->dev,
+sound/pci/atiixp.c:		if (chip->ac97[i])
+sound/pci/atiixp.c:			snd_ac97_update_bits(chip->ac97[i],
+sound/pci/atiixp.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp.c:	if (! chip->spdif_over_aclink) {
+sound/pci/atiixp.c:			snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_SPDIF]);
+sound/pci/atiixp.c:			snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_SPDIF]);
+sound/pci/atiixp.c:		spin_lock(&chip->reg_lock);
+sound/pci/atiixp.c:		chip->codec_not_ready_bits |= detected;
+sound/pci/atiixp.c:		spin_unlock(&chip->reg_lock);
+sound/pci/atiixp.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/atiixp.c:	chip->ac97_bus = pbus;
+sound/pci/atiixp.c:		if (chip->codec_not_ready_bits & codec_skip[i])
+sound/pci/atiixp.c:		ac97.pci = chip->pci;
+sound/pci/atiixp.c:		if (! chip->spdif_over_aclink)
+sound/pci/atiixp.c:		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
+sound/pci/atiixp.c:			chip->ac97[i] = NULL; /* to be sure */
+sound/pci/atiixp.c:			dev_dbg(chip->card->dev,
+sound/pci/atiixp.c:		dev_err(chip->card->dev, "no codec available\n");
+sound/pci/atiixp.c:	snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks, quirk_override);
+sound/pci/atiixp.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/atiixp.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/atiixp.c:		if (chip->pcmdevs[i]) {
+sound/pci/atiixp.c:			struct atiixp_dma *dma = &chip->dmas[i];
+sound/pci/atiixp.c:				       chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:		snd_iprintf(buffer, "%02x: %08x\n", i, readl(chip->remap_addr + i));
+sound/pci/atiixp.c:	snd_card_ro_proc_new(chip->card, "atiixp", chip, snd_atiixp_proc_read);
+sound/pci/atiixp.c:	if (chip->irq < 0)
+sound/pci/atiixp.c:	if (chip->irq >= 0)
+sound/pci/atiixp.c:		free_irq(chip->irq, chip);
+sound/pci/atiixp.c:	iounmap(chip->remap_addr);
+sound/pci/atiixp.c:	pci_release_regions(chip->pci);
+sound/pci/atiixp.c:	pci_disable_device(chip->pci);
+sound/pci/atiixp.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/atiixp.c:	mutex_init(&chip->open_mutex);
+sound/pci/atiixp.c:	chip->card = card;
+sound/pci/atiixp.c:	chip->pci = pci;
+sound/pci/atiixp.c:	chip->irq = -1;
+sound/pci/atiixp.c:	chip->addr = pci_resource_start(pci, 0);
+sound/pci/atiixp.c:	chip->remap_addr = pci_ioremap_bar(pci, 0);
+sound/pci/atiixp.c:	if (chip->remap_addr == NULL) {
+sound/pci/atiixp.c:	chip->irq = pci->irq;
+sound/pci/atiixp.c:	synchronize_irq(chip->irq);
+sound/pci/atiixp.c:	chip->spdif_over_aclink = spdif_aclink;
+sound/pci/atiixp.c:		 chip->ac97[0] ? snd_ac97_get_short_name(chip->ac97[0]) : "?",
+sound/pci/atiixp.c:		 chip->addr, chip->irq);
+sound/pci/atiixp_modem.c:	void __iomem *addr = chip->remap_addr + reg;
+sound/pci/atiixp_modem.c:	writel(value, chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp_modem.c:	readl(chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp_modem.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/atiixp_modem.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/atiixp_modem.c:	writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp_modem.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/atiixp_modem.c:	       chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp_modem.c:		writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp_modem.c:			dev_warn(chip->card->dev, "codec acquire timeout\n");
+sound/pci/atiixp_modem.c:		dev_warn(chip->card->dev, "codec read timeout (reg %x)\n", reg);
+sound/pci/atiixp_modem.c:			dev_err(chip->card->dev, "codec reset timeout\n");
+sound/pci/atiixp_modem.c:	chip->codec_not_ready_bits = 0;
+sound/pci/atiixp_modem.c:		if (chip->codec_not_ready_bits)
+sound/pci/atiixp_modem.c:	if ((chip->codec_not_ready_bits & ALL_CODEC_NOT_READY) == ALL_CODEC_NOT_READY) {
+sound/pci/atiixp_modem.c:		dev_err(chip->card->dev, "no codec detected!\n");
+sound/pci/atiixp_modem.c:		curptr = readl(chip->remap_addr + dma->ops->dt_cur);
+sound/pci/atiixp_modem.c:	dev_dbg(chip->card->dev, "invalid DMA pointer read 0x%x (buf=%x)\n",
+sound/pci/atiixp_modem.c:		   readl(chip->remap_addr + dma->ops->dt_cur), dma->buf_addr);
+sound/pci/atiixp_modem.c:	dev_dbg(chip->card->dev, "XRUN detected (DMA %d)\n", dma->ops->type);
+sound/pci/atiixp_modem.c:	spin_lock(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock(&chip->reg_lock);
+sound/pci/atiixp_modem.c: * every callback is supposed to be called in chip->reg_lock spinlock
+sound/pci/atiixp_modem.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:		if (! chip->ac97[i])
+sound/pci/atiixp_modem.c:		snd_ac97_write(chip->ac97[i], AC97_LINE1_RATE, params_rate(hw_params));
+sound/pci/atiixp_modem.c:		snd_ac97_write(chip->ac97[i], AC97_LINE1_LEVEL, 0);
+sound/pci/atiixp_modem.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 0);
+sound/pci/atiixp_modem.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp_modem.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	return snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_CAPTURE], 1);
+sound/pci/atiixp_modem.c:	return snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp_modem.c:	chip->dmas[ATI_DMA_PLAYBACK].ops = &snd_atiixp_playback_dma_ops;
+sound/pci/atiixp_modem.c:	chip->dmas[ATI_DMA_CAPTURE].ops = &snd_atiixp_capture_dma_ops;
+sound/pci/atiixp_modem.c:	err = snd_pcm_new(chip->card, "ATI IXP MC97", ATI_PCMDEV_ANALOG, 1, 1, &pcm);
+sound/pci/atiixp_modem.c:	chip->pcmdevs[ATI_PCMDEV_ANALOG] = pcm;
+sound/pci/atiixp_modem.c:					      &chip->pci->dev,
+sound/pci/atiixp_modem.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp_modem.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp_modem.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp_modem.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp_modem.c:		spin_lock(&chip->reg_lock);
+sound/pci/atiixp_modem.c:		chip->codec_not_ready_bits |= detected;
+sound/pci/atiixp_modem.c:		spin_unlock(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/atiixp_modem.c:	chip->ac97_bus = pbus;
+sound/pci/atiixp_modem.c:		if (chip->codec_not_ready_bits & codec_skip[i])
+sound/pci/atiixp_modem.c:		ac97.pci = chip->pci;
+sound/pci/atiixp_modem.c:		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
+sound/pci/atiixp_modem.c:			chip->ac97[i] = NULL; /* to be sure */
+sound/pci/atiixp_modem.c:			dev_dbg(chip->card->dev,
+sound/pci/atiixp_modem.c:		dev_err(chip->card->dev, "no codec available\n");
+sound/pci/atiixp_modem.c:	/* snd_ac97_tune_hardware(chip->ac97, ac97_quirks); */
+sound/pci/atiixp_modem.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/atiixp_modem.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/atiixp_modem.c:		snd_iprintf(buffer, "%02x: %08x\n", i, readl(chip->remap_addr + i));
+sound/pci/atiixp_modem.c:	snd_card_ro_proc_new(chip->card, "atiixp-modem", chip,
+sound/pci/atiixp_modem.c:	if (chip->irq < 0)
+sound/pci/atiixp_modem.c:	if (chip->irq >= 0)
+sound/pci/atiixp_modem.c:		free_irq(chip->irq, chip);
+sound/pci/atiixp_modem.c:	iounmap(chip->remap_addr);
+sound/pci/atiixp_modem.c:	pci_release_regions(chip->pci);
+sound/pci/atiixp_modem.c:	pci_disable_device(chip->pci);
+sound/pci/atiixp_modem.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	mutex_init(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	chip->card = card;
+sound/pci/atiixp_modem.c:	chip->pci = pci;
+sound/pci/atiixp_modem.c:	chip->irq = -1;
+sound/pci/atiixp_modem.c:	chip->addr = pci_resource_start(pci, 0);
+sound/pci/atiixp_modem.c:	chip->remap_addr = pci_ioremap_bar(pci, 0);
+sound/pci/atiixp_modem.c:	if (chip->remap_addr == NULL) {
+sound/pci/atiixp_modem.c:	chip->irq = pci->irq;
+sound/pci/atiixp_modem.c:	synchronize_irq(chip->irq);
+sound/pci/atiixp_modem.c:		card->shortname, pci->revision, chip->addr, chip->irq);
+sound/pci/au88x0/au88x0.c:// chip-specific constructor
+sound/pci/au88x0/au88x0.c:	chip->card = card;
+sound/pci/au88x0/au88x0.c:	chip->pci_dev = pci;
+sound/pci/au88x0/au88x0.c:	chip->io = pci_resource_start(pci, 0);
+sound/pci/au88x0/au88x0.c:	chip->vendor = pci->vendor;
+sound/pci/au88x0/au88x0.c:	chip->device = pci->device;
+sound/pci/au88x0/au88x0.c:	chip->card = card;
+sound/pci/au88x0/au88x0.c:	chip->irq = -1;
+sound/pci/au88x0/au88x0.c:	chip->mmio = pci_ioremap_bar(pci, 0);
+sound/pci/au88x0/au88x0.c:	if (!chip->mmio) {
+sound/pci/au88x0/au88x0.c:	chip->irq = pci->irq;
+sound/pci/au88x0/au88x0.c:	free_irq(chip->irq, chip);
+sound/pci/au88x0/au88x0.c:	iounmap(chip->mmio);
+sound/pci/au88x0/au88x0.c:	pci_release_regions(chip->pci_dev);
+sound/pci/au88x0/au88x0.c:	pci_disable_device(chip->pci_dev);
+sound/pci/au88x0/au88x0.c:		card->shortname, chip->io, chip->irq);
+sound/pci/au88x0/au88x0.c:				  &(chip->device))) < 0) {
+sound/pci/au88x0/au88x0.c:				  &(chip->vendor))) < 0) {
+sound/pci/au88x0/au88x0.c:	chip->rev = pci->revision;
+sound/pci/au88x0/au88x0.c:	if ((chip->rev) != 0xfe && (chip->rev) != 0xfa) {
+sound/pci/au88x0/au88x0.c:		       chip->rev);
+sound/pci/au88x0/au88x0_pcm.c:		dev_err(chip->card->dev, "Vortex: pcm page alloc failed!\n");
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:			spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:		stream = substream->runtime->private_data = &chip->dma_adb[dma];
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[substream->number].active = 1;
+sound/pci/au88x0/au88x0_pcm.c:			vortex_notify_pcm_vol_change(chip->card,
+sound/pci/au88x0/au88x0_pcm.c:				chip->pcm_vol[substream->number].kctl, 1);
+sound/pci/au88x0/au88x0_pcm.c:		    &chip->dma_wt[substream->number];
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:				chip->pcm_vol[substream->number].active = 0;
+sound/pci/au88x0/au88x0_pcm.c:				vortex_notify_pcm_vol_change(chip->card,
+sound/pci/au88x0/au88x0_pcm.c:					chip->pcm_vol[substream->number].kctl,
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:			dev_info(chip->card->dev, "wt start %d\n", dma);
+sound/pci/au88x0/au88x0_pcm.c:			dev_info(chip->card->dev, "wt stop %d\n", dma);
+sound/pci/au88x0/au88x0_pcm.c:		spin_unlock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	err = snd_pcm_new(chip->card, vortex_pcm_prettyname[idx], idx, nr,
+sound/pci/au88x0/au88x0_pcm.c:	chip->pcm[idx] = pcm;
+sound/pci/au88x0/au88x0_pcm.c:					      &chip->pci_dev->dev,
+sound/pci/au88x0/au88x0_pcm.c:			if ((err = snd_ctl_add(chip->card, kctl)) < 0)
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[i].active = 0;
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[i].dma = -1;
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[i].kctl = kctl;
+sound/pci/au88x0/au88x0_pcm.c:			err = snd_ctl_add(chip->card, kctl);
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_free(&chip->saa7146);
+sound/pci/aw2/aw2-alsa.c:	if (chip->irq >= 0)
+sound/pci/aw2/aw2-alsa.c:		free_irq(chip->irq, (void *)chip);
+sound/pci/aw2/aw2-alsa.c:	iounmap(chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:	pci_release_regions(chip->pci);
+sound/pci/aw2/aw2-alsa.c:	pci_disable_device(chip->pci);
+sound/pci/aw2/aw2-alsa.c:/* chip-specific constructor */
+sound/pci/aw2/aw2-alsa.c:	chip->card = card;
+sound/pci/aw2/aw2-alsa.c:	chip->pci = pci;
+sound/pci/aw2/aw2-alsa.c:	chip->irq = -1;
+sound/pci/aw2/aw2-alsa.c:	chip->iobase_phys = pci_resource_start(pci, 0);
+sound/pci/aw2/aw2-alsa.c:	chip->iobase_virt =
+sound/pci/aw2/aw2-alsa.c:		ioremap_nocache(chip->iobase_phys,
+sound/pci/aw2/aw2-alsa.c:	if (chip->iobase_virt == NULL) {
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_setup(&chip->saa7146, chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:		iounmap(chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:		pci_release_regions(chip->pci);
+sound/pci/aw2/aw2-alsa.c:		pci_disable_device(chip->pci);
+sound/pci/aw2/aw2-alsa.c:	chip->irq = pci->irq;
+sound/pci/aw2/aw2-alsa.c:		free_irq(chip->irq, (void *)chip);
+sound/pci/aw2/aw2-alsa.c:		iounmap(chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:		pci_release_regions(chip->pci);
+sound/pci/aw2/aw2-alsa.c:		pci_disable_device(chip->pci);
+sound/pci/aw2/aw2-alsa.c:	mutex_init(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		card->shortname, chip->irq);
+sound/pci/aw2/aw2-alsa.c:	mutex_lock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_pcm_init_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	mutex_unlock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	mutex_lock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_pcm_init_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	mutex_unlock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	spin_lock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_start_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_stop_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	spin_unlock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:	spin_lock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_start_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_stop_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	spin_unlock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_get_hw_ptr_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_get_hw_ptr_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	err = snd_pcm_new(chip->card, "Audiowerk2 analog playback", 0, 1, 0,
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	pcm_device = &chip->device_playback[NUM_STREAM_PLAYBACK_ANA];
+sound/pci/aw2/aw2-alsa.c:					      &chip->pci->dev,
+sound/pci/aw2/aw2-alsa.c:	err = snd_pcm_new(chip->card, "Audiowerk2 digital playback", 1, 1, 0,
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	pcm_device = &chip->device_playback[NUM_STREAM_PLAYBACK_DIG];
+sound/pci/aw2/aw2-alsa.c:					      &chip->pci->dev,
+sound/pci/aw2/aw2-alsa.c:	err = snd_pcm_new(chip->card, "Audiowerk2 capture", 2, 0, 1,
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	pcm_device = &chip->device_capture[NUM_STREAM_CAPTURE_ANA];
+sound/pci/aw2/aw2-alsa.c:					      &chip->pci->dev,
+sound/pci/aw2/aw2-alsa.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&aw2_control, chip));
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_ctl_add error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	if (snd_aw2_saa7146_is_using_digital_input(&chip->saa7146))
+sound/pci/aw2/aw2-alsa.c:	    snd_aw2_saa7146_is_using_digital_input(&chip->saa7146);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_use_digital_input(&chip->saa7146, !is_disgital);
+sound/pci/aw2/aw2-saa7146.c:#define WRITEREG(value, addr) writel((value), chip->base_addr + (addr))
+sound/pci/aw2/aw2-saa7146.c:#define READREG(addr) readl(chip->base_addr + (addr))
+sound/pci/aw2/aw2-saa7146.c:/* chip-specific destructor */
+sound/pci/aw2/aw2-saa7146.c:	chip->base_addr = NULL;
+sound/pci/aw2/aw2-saa7146.c:	chip->base_addr = pci_base_addr;
+sound/pci/aw2/aw2-saa7146.h:/* definition of the chip-specific record */
+sound/pci/azt3328.c:	outb(value, chip->ctrl_io + reg);
+sound/pci/azt3328.c:	return inb(chip->ctrl_io + reg);
+sound/pci/azt3328.c:	return inw(chip->ctrl_io + reg);
+sound/pci/azt3328.c:	outw(value, chip->ctrl_io + reg);
+sound/pci/azt3328.c:	outl(value, chip->ctrl_io + reg);
+sound/pci/azt3328.c:	outb(value, chip->game_io + reg);
+sound/pci/azt3328.c:	outw(value, chip->game_io + reg);
+sound/pci/azt3328.c:	return inb(chip->game_io + reg);
+sound/pci/azt3328.c:	return inw(chip->game_io + reg);
+sound/pci/azt3328.c:	outw(value, chip->mixer_io + reg);
+sound/pci/azt3328.c:	return inw(chip->mixer_io + reg);
+sound/pci/azt3328.c:	unsigned long portbase = chip->mixer_io + reg + 1;
+sound/pci/azt3328.c:	dev_warn(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "snd_azf3328_mixer_ac97_read reg_ac97 %u\n",
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	ac97.pci = chip->pci;
+sound/pci/azt3328.c:	rc = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus);
+sound/pci/azt3328.c:		rc = snd_ac97_mixer(bus, &ac97, &chip->ac97);
+sound/pci/azt3328.c:		dev_err(chip->card->dev, "AC97 init failed, err %d!\n", rc);
+sound/pci/azt3328.c:	unsigned long portbase = chip->mixer_io + reg;
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/pci/azt3328.c:	card = chip->card;
+sound/pci/azt3328.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(sw, chip))) < 0)
+sound/pci/azt3328.c:		chip->shadow_reg_ctrl_6AH |= bitmask;
+sound/pci/azt3328.c:		chip->shadow_reg_ctrl_6AH &= ~bitmask;
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		bitmask, do_mask, chip->shadow_reg_ctrl_6AH);
+sound/pci/azt3328.c:	snd_azf3328_ctrl_outw(chip, IDX_IO_6AH, chip->shadow_reg_ctrl_6AH);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "codec_enable %d\n", enable);
+sound/pci/azt3328.c:	struct snd_azf3328_codec_data *codec = &chip->codecs[codec_type];
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:				((!chip->codecs[peer_codecs[codec_type].other1]
+sound/pci/azt3328.c:			     &&  (!chip->codecs[peer_codecs[codec_type].other2]
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "START PCM %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM STARTED %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM RESUME %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM STOP %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM STOPPED %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM SUSPEND %s\n", codec->name);
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "gameport irq\n");
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "gameport_open, mode %d\n", mode);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "gameport_close\n");
+sound/pci/azt3328.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/azt3328.c:		for (i = 0; i < ARRAY_SIZE(chip->axes); ++i) {
+sound/pci/azt3328.c:			chip->axes[i] = snd_azf3328_game_inw(
+sound/pci/azt3328.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	for (i = 0; i < ARRAY_SIZE(chip->axes); i++) {
+sound/pci/azt3328.c:		axes[i] = chip->axes[i];
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "cooked_read: axes %d %d %d %d buttons %d\n",
+sound/pci/azt3328.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/azt3328.c:		dev_err(chip->card->dev, "cannot alloc memory for gameport\n");
+sound/pci/azt3328.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/azt3328.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/azt3328.c:	gp->io = chip->game_io;
+sound/pci/azt3328.c:	gameport_register_port(chip->gameport);
+sound/pci/azt3328.c:	if (chip->gameport) {
+sound/pci/azt3328.c:		gameport_unregister_port(chip->gameport);
+sound/pci/azt3328.c:		chip->gameport = NULL;
+sound/pci/azt3328.c:	dev_warn(chip->card->dev, "huh, game port IRQ occurred!?\n");
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:			dev_dbg(chip->card->dev, "%s period done (#%x), @ %x\n",
+sound/pci/azt3328.c:			dev_warn(chip->card->dev, "irq handler problem!\n");
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		/* dev_dbg(chip->card->dev, "timer %ld\n",
+sound/pci/azt3328.c:		if (chip->timer)
+sound/pci/azt3328.c:			snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/pci/azt3328.c:                spin_lock(&chip->reg_lock);
+sound/pci/azt3328.c:		spin_unlock(&chip->reg_lock);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "timer IRQ\n");
+sound/pci/azt3328.c:		snd_azf3328_pcm_interrupt(chip, chip->codecs, status);
+sound/pci/azt3328.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "MPU401 IRQ\n");
+sound/pci/azt3328.c:	struct snd_azf3328_codec_data *codec = &chip->codecs[codec_type];
+sound/pci/azt3328.c:	err = snd_pcm_new(chip->card, "AZF3328 DSP", AZF_PCMDEV_STD,
+sound/pci/azt3328.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/azt3328.c:	chip->pcm[AZF_CODEC_PLAYBACK] = pcm;
+sound/pci/azt3328.c:	chip->pcm[AZF_CODEC_CAPTURE] = pcm;
+sound/pci/azt3328.c:					      &chip->pci->dev,
+sound/pci/azt3328.c:	err = snd_pcm_new(chip->card, "AZF3328 I2S OUT", AZF_PCMDEV_I2S_OUT,
+sound/pci/azt3328.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/azt3328.c:	chip->pcm[AZF_CODEC_I2S_OUT] = pcm;
+sound/pci/azt3328.c:					      &chip->pci->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "delay was too low (%d)!\n", delay);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "setting timer countdown value %d\n", delay);
+sound/pci/azt3328.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	tid.card = chip->card->number;
+sound/pci/azt3328.c:	err = snd_timer_new(chip->card, "AZF3328", &tid, &timer);
+sound/pci/azt3328.c:	chip->timer = timer;
+sound/pci/azt3328.c:	if (chip->irq < 0)
+sound/pci/azt3328.c:	snd_azf3328_timer_stop(chip->timer);
+sound/pci/azt3328.c:	if (chip->irq >= 0)
+sound/pci/azt3328.c:		free_irq(chip->irq, chip);
+sound/pci/azt3328.c:	pci_release_regions(chip->pci);
+sound/pci/azt3328.c:	pci_disable_device(chip->pci);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		chip->ctrl_io, chip->game_io, chip->mpu_io,
+sound/pci/azt3328.c:		chip->opl3_io, chip->mixer_io, chip->irq);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:			"mpu_io 0x%04x\n", inb(chip->mpu_io + tmp));
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/azt3328.c:	chip->card = card;
+sound/pci/azt3328.c:	chip->pci = pci;
+sound/pci/azt3328.c:	chip->irq = -1;
+sound/pci/azt3328.c:	chip->ctrl_io  = pci_resource_start(pci, 0);
+sound/pci/azt3328.c:	chip->game_io  = pci_resource_start(pci, 1);
+sound/pci/azt3328.c:	chip->mpu_io   = pci_resource_start(pci, 2);
+sound/pci/azt3328.c:	chip->opl3_io  = pci_resource_start(pci, 3);
+sound/pci/azt3328.c:	chip->mixer_io = pci_resource_start(pci, 4);
+sound/pci/azt3328.c:	codec_setup = &chip->codecs[AZF_CODEC_PLAYBACK];
+sound/pci/azt3328.c:	codec_setup->io_base = chip->ctrl_io + AZF_IO_OFFS_CODEC_PLAYBACK;
+sound/pci/azt3328.c:	codec_setup->lock = &chip->reg_lock;
+sound/pci/azt3328.c:	codec_setup = &chip->codecs[AZF_CODEC_CAPTURE];
+sound/pci/azt3328.c:	codec_setup->io_base = chip->ctrl_io + AZF_IO_OFFS_CODEC_CAPTURE;
+sound/pci/azt3328.c:	codec_setup->lock = &chip->reg_lock;
+sound/pci/azt3328.c:	codec_setup = &chip->codecs[AZF_CODEC_I2S_OUT];
+sound/pci/azt3328.c:	codec_setup->io_base = chip->ctrl_io + AZF_IO_OFFS_CODEC_I2S_OUT;
+sound/pci/azt3328.c:	codec_setup->lock = &chip->reg_lock;
+sound/pci/azt3328.c:	chip->irq = pci->irq;
+sound/pci/azt3328.c:	synchronize_irq(chip->irq);
+sound/pci/azt3328.c:			 &chip->codecs[codec_type];
+sound/pci/azt3328.c:		MPU401_HW_AZT2320, chip->mpu_io,
+sound/pci/azt3328.c:		-1, &chip->rmidi
+sound/pci/azt3328.c:				chip->mpu_io
+sound/pci/azt3328.c:	if (snd_opl3_create(card, chip->opl3_io, chip->opl3_io+2,
+sound/pci/azt3328.c:			   chip->opl3_io, chip->opl3_io+2
+sound/pci/azt3328.c:		card->shortname, chip->ctrl_io, chip->irq);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "suspend: io 0x%04lx: 0x%08x\n",
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->mixer_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_mixer), chip->saved_regs_mixer);
+sound/pci/azt3328.c:	snd_ac97_resume(chip->ac97);
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_mixer, chip->mixer_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_mixer));
+sound/pci/azt3328.c:	outw(((u16 *)chip->saved_regs_mixer)[1], chip->mixer_io + 2);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->ctrl_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_ctrl), chip->saved_regs_ctrl);
+sound/pci/azt3328.c:	saved_regs_ctrl_u16 = (u16 *)chip->saved_regs_ctrl;
+sound/pci/azt3328.c:	saved_regs_ctrl_u16[IDX_IO_6AH / 2] = chip->shadow_reg_ctrl_6AH;
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->game_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_game), chip->saved_regs_game);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->mpu_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_mpu), chip->saved_regs_mpu);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->opl3_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_opl3), chip->saved_regs_opl3);
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_game, chip->game_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_game));
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_mpu, chip->mpu_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_mpu));
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_opl3, chip->opl3_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_opl3));
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_ctrl, chip->ctrl_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_ctrl));
+sound/pci/bt87x.c:	return readl(chip->mmio + reg);
+sound/pci/bt87x.c:	writel(value, chip->mmio + reg);
+sound/pci/bt87x.c:	if (chip->dma_risc.area == NULL) {
+sound/pci/bt87x.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/bt87x.c:					PAGE_ALIGN(MAX_RISC_SIZE), &chip->dma_risc) < 0)
+sound/pci/bt87x.c:	risc = (__le32 *)chip->dma_risc.area;
+sound/pci/bt87x.c:	*risc++ = cpu_to_le32(chip->dma_risc.addr);
+sound/pci/bt87x.c:	chip->line_bytes = period_bytes;
+sound/pci/bt87x.c:	chip->lines = periods;
+sound/pci/bt87x.c:	if (chip->dma_risc.area) {
+sound/pci/bt87x.c:		snd_dma_free_pages(&chip->dma_risc);
+sound/pci/bt87x.c:		chip->dma_risc.area = NULL;
+sound/pci/bt87x.c:	pci_read_config_word(chip->pci, PCI_STATUS, &pci_status);
+sound/pci/bt87x.c:	pci_write_config_word(chip->pci, PCI_STATUS, pci_status);
+sound/pci/bt87x.c:		dev_err(chip->card->dev,
+sound/pci/bt87x.c:		dev_err(chip->card->dev,
+sound/pci/bt87x.c:		chip->pci_parity_errors++;
+sound/pci/bt87x.c:		if (chip->pci_parity_errors > 20) {
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			chip->interrupt_mask &= ~(INT_PPERR | INT_RIPERR);
+sound/pci/bt87x.c:			snd_bt87x_writel(chip, REG_INT_MASK, chip->interrupt_mask);
+sound/pci/bt87x.c:	irq_status = status & chip->interrupt_mask;
+sound/pci/bt87x.c:			dev_warn(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:	if ((irq_status & INT_RISCI) && (chip->reg_control & CTL_ACAP_EN)) {
+sound/pci/bt87x.c:		chip->current_line = (chip->current_line + 1) % chip->lines;
+sound/pci/bt87x.c:		current_block = chip->current_line * 16 / chip->lines;
+sound/pci/bt87x.c:			chip->current_line = (irq_block * chip->lines + 15) / 16;
+sound/pci/bt87x.c:		snd_pcm_period_elapsed(chip->substream);
+sound/pci/bt87x.c:	chip->reg_control |= CTL_DA_IOM_DA | CTL_A_PWRDN;
+sound/pci/bt87x.c:	runtime->hw.rates = snd_pcm_rate_to_rate_bit(chip->board.dig_rate);
+sound/pci/bt87x.c:	runtime->hw.rate_min = chip->board.dig_rate;
+sound/pci/bt87x.c:	runtime->hw.rate_max = chip->board.dig_rate;
+sound/pci/bt87x.c:	chip->reg_control &= ~(CTL_DA_IOM_DA | CTL_A_PWRDN);
+sound/pci/bt87x.c:	if (test_and_set_bit(0, &chip->opened))
+sound/pci/bt87x.c:	chip->substream = substream;
+sound/pci/bt87x.c:	clear_bit(0, &chip->opened);
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->reg_control |= CTL_A_PWRDN;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->substream = NULL;
+sound/pci/bt87x.c:	clear_bit(0, &chip->opened);
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->reg_control &= ~(CTL_DA_SDR_MASK | CTL_DA_SBR);
+sound/pci/bt87x.c:	chip->reg_control |= decimation << CTL_DA_SDR_SHIFT;
+sound/pci/bt87x.c:		chip->reg_control |= CTL_DA_SBR;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	spin_lock(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->current_line = 0;
+sound/pci/bt87x.c:	chip->reg_control |= CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_RISC_STRT_ADD, chip->dma_risc.addr);
+sound/pci/bt87x.c:			 chip->line_bytes | (chip->lines << 16));
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_INT_MASK, chip->interrupt_mask);
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock(&chip->reg_lock);
+sound/pci/bt87x.c:	spin_lock(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->reg_control &= ~(CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN);
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock(&chip->reg_lock);
+sound/pci/bt87x.c:	return (snd_pcm_uframes_t)bytes_to_frames(runtime, chip->current_line * chip->line_bytes);
+sound/pci/bt87x.c:	value->value.integer.value[0] = (chip->reg_control & CTL_A_GAIN_MASK) >> CTL_A_GAIN_SHIFT;
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	old_control = chip->reg_control;
+sound/pci/bt87x.c:	chip->reg_control = (chip->reg_control & ~CTL_A_GAIN_MASK)
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	changed = old_control != chip->reg_control;
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	value->value.integer.value[0] = !! (chip->reg_control & CTL_A_G2X);
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	old_control = chip->reg_control;
+sound/pci/bt87x.c:	chip->reg_control = (chip->reg_control & ~CTL_A_G2X)
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	changed = chip->reg_control != old_control;
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	value->value.enumerated.item[0] = (chip->reg_control & CTL_A_SEL_MASK) >> CTL_A_SEL_SHIFT;
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	old_control = chip->reg_control;
+sound/pci/bt87x.c:	chip->reg_control = (chip->reg_control & ~CTL_A_SEL_MASK)
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	changed = chip->reg_control != old_control;
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	if (chip->mmio)
+sound/pci/bt87x.c:	if (chip->irq >= 0)
+sound/pci/bt87x.c:		free_irq(chip->irq, chip);
+sound/pci/bt87x.c:	iounmap(chip->mmio);
+sound/pci/bt87x.c:	pci_release_regions(chip->pci);
+sound/pci/bt87x.c:	pci_disable_device(chip->pci);
+sound/pci/bt87x.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+sound/pci/bt87x.c:					      &chip->pci->dev,
+sound/pci/bt87x.c:	chip->card = card;
+sound/pci/bt87x.c:	chip->pci = pci;
+sound/pci/bt87x.c:	chip->irq = -1;
+sound/pci/bt87x.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->mmio = pci_ioremap_bar(pci, 0);
+sound/pci/bt87x.c:	if (!chip->mmio) {
+sound/pci/bt87x.c:	chip->reg_control = CTL_A_PWRDN | CTL_DA_ES2 |
+sound/pci/bt87x.c:	chip->interrupt_mask = MY_INTERRUPTS;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	chip->irq = pci->irq;
+sound/pci/bt87x.c:	synchronize_irq(chip->irq);
+sound/pci/bt87x.c:	memcpy(&chip->board, &snd_bt87x_boards[boardid], sizeof(chip->board));
+sound/pci/bt87x.c:	if (!chip->board.no_digital) {
+sound/pci/bt87x.c:			chip->board.dig_rate = digital_rate[dev];
+sound/pci/bt87x.c:		chip->reg_control |= chip->board.digital_fmt;
+sound/pci/bt87x.c:	if (!chip->board.no_analog) {
+sound/pci/bt87x.c:		   chip->board.no_analog ? "no " : "",
+sound/pci/bt87x.c:		   chip->board.no_digital ? "no " : "", chip->board.dig_rate);
+sound/pci/bt87x.c:		chip->irq);
+sound/pci/ca0106/ca0106.h:// definition of the chip-specific record
+sound/pci/ca0106/ca0106_main.c:	if (chip->spdif_str_bits[idx] != chip->spdif_bits[idx]) {
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[idx] = chip->spdif_bits[idx];
+sound/pci/ca0106/ca0106_main.c:				     chip->spdif_str_bits[idx]);
+sound/pci/ca0106/ca0106_main.c:		dev_dbg(chip->card->dev, "ca0106: unknown channel_id %d\n",
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->spi_dac) {
+sound/pci/ca0106/ca0106_main.c:		const int dac = snd_ca0106_channel_dac(chip, chip->details,
+sound/pci/ca0106/ca0106_main.c:			chip->spi_dac_reg[reg] &= ~bit;
+sound/pci/ca0106/ca0106_main.c:			chip->spi_dac_reg[reg] |= bit;
+sound/pci/ca0106/ca0106_main.c:		return snd_ca0106_spi_write(chip, chip->spi_dac_reg[reg]);
+sound/pci/ca0106/ca0106_main.c:        struct snd_ca0106_channel *channel = &(chip->playback_channels[channel_id]);
+sound/pci/ca0106/ca0106_main.c:	dev_dbg(chip->card->dev, "open:channel_id=%d, chip=%p, channel=%p\n",
+sound/pci/ca0106/ca0106_main.c:	chip->playback_channels[epcm->channel_id].use = 0;
+sound/pci/ca0106/ca0106_main.c:        struct snd_ca0106_channel *channel = &(chip->capture_channels[channel_id]);
+sound/pci/ca0106/ca0106_main.c:	dev_dbg(chip->card->dev, "open:channel_id=%d, chip=%p, channel=%p\n",
+sound/pci/ca0106/ca0106_main.c:	chip->capture_channels[epcm->channel_id].use = 0;
+sound/pci/ca0106/ca0106_main.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/ca0106/ca0106_main.c:	return snd_ac97_mixer(pbus, &ac97, &chip->ac97);
+sound/pci/ca0106/ca0106_main.c:	if (chip->res_port != NULL) {
+sound/pci/ca0106/ca0106_main.c:	if (chip->irq >= 0)
+sound/pci/ca0106/ca0106_main.c:		free_irq(chip->irq, chip);
+sound/pci/ca0106/ca0106_main.c:	if (chip->buffer.area)
+sound/pci/ca0106/ca0106_main.c:		snd_dma_free_pages(&chip->buffer);
+sound/pci/ca0106/ca0106_main.c:	release_and_free_resource(chip->res_port);
+sound/pci/ca0106/ca0106_main.c:	pci_disable_device(chip->pci);
+sound/pci/ca0106/ca0106_main.c:	status = inl(chip->port + IPR);
+sound/pci/ca0106/ca0106_main.c:		pchannel = &(chip->playback_channels[i]);
+sound/pci/ca0106/ca0106_main.c:		pchannel = &(chip->capture_channels[i]);
+sound/pci/ca0106/ca0106_main.c:	if (chip->midi.dev_id &&
+sound/pci/ca0106/ca0106_main.c:	    (status & (chip->midi.ipr_tx|chip->midi.ipr_rx))) {
+sound/pci/ca0106/ca0106_main.c:		if (chip->midi.interrupt)
+sound/pci/ca0106/ca0106_main.c:			chip->midi.interrupt(&chip->midi, status);
+sound/pci/ca0106/ca0106_main.c:			chip->midi.interrupt_disable(&chip->midi, chip->midi.tx_enable | chip->midi.rx_enable);
+sound/pci/ca0106/ca0106_main.c:	outl(status, chip->port+IPR);
+sound/pci/ca0106/ca0106_main.c:	outl(0, chip->port + INTE);
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[0] = chip->spdif_bits[0] = def_bits;
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[1] = chip->spdif_bits[1] = def_bits;
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[2] = chip->spdif_bits[2] = def_bits;
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[3] = chip->spdif_bits[3] = def_bits;
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS1, 0, chip->spdif_str_bits[1]);
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS0, 0, chip->spdif_str_bits[0]);
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS2, 0, chip->spdif_str_bits[2]);
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS3, 0, chip->spdif_str_bits[3]);
+sound/pci/ca0106/ca0106_main.c:        outb(AC97_REC_GAIN, chip->port + AC97ADDRESS);
+sound/pci/ca0106/ca0106_main.c:        outw(0x8000, chip->port + AC97DATA);
+sound/pci/ca0106/ca0106_main.c:	chip->spdif_enable = 0; /* Set digital SPDIF output off */
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->i2c_adc == 1) {
+sound/pci/ca0106/ca0106_main.c:			chip->capture_source = 3;
+sound/pci/ca0106/ca0106_main.c:	} else if (chip->details->ac97 == 1) {
+sound/pci/ca0106/ca0106_main.c:			chip->capture_source = 4;
+sound/pci/ca0106/ca0106_main.c:			chip->capture_source = 3;
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->gpio_type == 2) {
+sound/pci/ca0106/ca0106_main.c:		outl(0x0, chip->port+GPIO);
+sound/pci/ca0106/ca0106_main.c:		/* outl(0x00f0e000, chip->port+GPIO); */ /* Analog */
+sound/pci/ca0106/ca0106_main.c:		outl(0x005f5301, chip->port+GPIO); /* Analog */
+sound/pci/ca0106/ca0106_main.c:	} else if (chip->details->gpio_type == 1) {
+sound/pci/ca0106/ca0106_main.c:		outl(0x0, chip->port+GPIO);
+sound/pci/ca0106/ca0106_main.c:		/* outl(0x00f0e000, chip->port+GPIO); */ /* Analog */
+sound/pci/ca0106/ca0106_main.c:		outl(0x005f5301, chip->port+GPIO); /* Analog */
+sound/pci/ca0106/ca0106_main.c:		outl(0x0, chip->port+GPIO);
+sound/pci/ca0106/ca0106_main.c:		outl(0x005f03a3, chip->port+GPIO); /* Analog */
+sound/pci/ca0106/ca0106_main.c:		/* outl(0x005f02a2, chip->port+GPIO); */ /* SPDIF */
+sound/pci/ca0106/ca0106_main.c:	/* outl(HCFG_LOCKSOUNDCACHE|HCFG_AUDIOENABLE, chip->port+HCFG); */
+sound/pci/ca0106/ca0106_main.c:	/* outl(0x00001409, chip->port+HCFG); */
+sound/pci/ca0106/ca0106_main.c:	/* outl(0x00000009, chip->port+HCFG); */
+sound/pci/ca0106/ca0106_main.c:	outl(HCFG_AC97 | HCFG_AUDIOENABLE, chip->port+HCFG);
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->i2c_adc == 1) {
+sound/pci/ca0106/ca0106_main.c:			chip->i2c_capture_volume[n][0] = 0xcf;
+sound/pci/ca0106/ca0106_main.c:			chip->i2c_capture_volume[n][1] = 0xcf;
+sound/pci/ca0106/ca0106_main.c:		chip->i2c_capture_source = 2; /* Line in */
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->spi_dac) {
+sound/pci/ca0106/ca0106_main.c:			if (reg < ARRAY_SIZE(chip->spi_dac_reg))
+sound/pci/ca0106/ca0106_main.c:				chip->spi_dac_reg[reg] = spi_dac_init[n];
+sound/pci/ca0106/ca0106_main.c:	outl(0, chip->port + INTE);
+sound/pci/ca0106/ca0106_main.c:	/* outl(HCFG_LOCKSOUNDCACHE, chip->port + HCFG); */
+sound/pci/ca0106/ca0106_main.c:	outl(0, chip->port + HCFG);
+sound/pci/ca0106/ca0106_main.c:	chip->card = card;
+sound/pci/ca0106/ca0106_main.c:	chip->pci = pci;
+sound/pci/ca0106/ca0106_main.c:	chip->irq = -1;
+sound/pci/ca0106/ca0106_main.c:	spin_lock_init(&chip->emu_lock);
+sound/pci/ca0106/ca0106_main.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/ca0106/ca0106_main.c:	chip->res_port = request_region(chip->port, 0x20, "snd_ca0106");
+sound/pci/ca0106/ca0106_main.c:	if (!chip->res_port) {
+sound/pci/ca0106/ca0106_main.c:	chip->irq = pci->irq;
+sound/pci/ca0106/ca0106_main.c:				1024, &chip->buffer) < 0) {
+sound/pci/ca0106/ca0106_main.c:	pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial);
+sound/pci/ca0106/ca0106_main.c:	pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model);
+sound/pci/ca0106/ca0106_main.c:	       chip->model, pci->revision, chip->serial);
+sound/pci/ca0106/ca0106_main.c:		} else if (c->serial == chip->serial)
+sound/pci/ca0106/ca0106_main.c:	chip->details = c;
+sound/pci/ca0106/ca0106_main.c:		       c->name, chip->serial, subsystem[dev]);
+sound/pci/ca0106/ca0106_main.c:		c->name, chip->port, chip->irq);
+sound/pci/ca0106/ca0106_main.c:		midi =  &chip->midi2;
+sound/pci/ca0106/ca0106_main.c:		midi =  &chip->midi;
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->ac97 == 1) {
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->ac97)
+sound/pci/ca0106/ca0106_main.c:		snd_ac97_suspend(chip->ac97);
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->ac97)
+sound/pci/ca0106/ca0106_main.c:		snd_ac97_resume(chip->ac97);
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->spi_dac) {
+sound/pci/ca0106/ca0106_main.c:		for (i = 0; i < ARRAY_SIZE(chip->spi_dac_reg); i++)
+sound/pci/ca0106/ca0106_main.c:			snd_ca0106_spi_write(chip, chip->spi_dac_reg[i]);
+sound/pci/ca0106/ca0106_mixer.c:		chip->saved_vol[i] =
+sound/pci/ca0106/ca0106_mixer.c:				     chip->saved_vol[i]);
+sound/pci/ca0106/ca0106_mixer.c:	ca0106_set_i2c_capture_source(chip, chip->i2c_capture_source, 1);
+sound/pci/ca0106/ca0106_mixer.c:	if (chip->details->i2c_adc)
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:		ucontrol->value.iec958.status[i] = (chip->dig_status >> (i * 8)) & 0xff;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	change = val != chip->dig_status;
+sound/pci/cmipci.c:	chip->dig_status = val;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:		ucontrol->value.iec958.status[i] = (chip->dig_pcm_status >> (i * 8)) & 0xff;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	change = val != chip->dig_pcm_status;
+sound/pci/cmipci.c:	chip->dig_pcm_status = val;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:			if (chip->spdif_playback_avail)
+sound/pci/cmipci.c:			if (chip->spdif_playback_avail)
+sound/pci/cmipci.c:	chip->spdif_playback_enabled = ucontrol->value.integer.value[0];
+sound/pci/cs4281.c:        writel(val, chip->ba0 + offset);
+sound/pci/cs4281.c:        return readl(chip->ba0 + offset);
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	spin_lock(&chip->reg_lock);
+sound/pci/cs4281.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:	rec_mono = (chip->dma[1].valDMR & BA0_DMR_MONO) == BA0_DMR_MONO;
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_SRCSA, (chip->src_left_play_slot << 0) |
+sound/pci/cs4281.c:					    (chip->src_right_play_slot << 8) |
+sound/pci/cs4281.c:					    (chip->src_left_rec_slot << 16) |
+sound/pci/cs4281.c:					    ((rec_mono ? 31 : chip->src_right_rec_slot) << 24));
+sound/pci/cs4281.c:		if (dma->left_slot == chip->src_left_play_slot) {
+sound/pci/cs4281.c:			snd_BUG_ON(dma->right_slot != chip->src_right_play_slot);
+sound/pci/cs4281.c:		if (dma->left_slot == chip->src_left_rec_slot) {
+sound/pci/cs4281.c:			snd_BUG_ON(dma->right_slot != chip->src_right_rec_slot);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	dev_dbg(chip->card->dev,
+sound/pci/cs4281.c:	dma = &chip->dma[0];
+sound/pci/cs4281.c:	dma = &chip->dma[1];
+sound/pci/cs4281.c:	err = snd_pcm_new(chip->card, "CS4281", device, 1, 1, &pcm);
+sound/pci/cs4281.c:	chip->pcm = pcm;
+sound/pci/cs4281.c:					      &chip->pci->dev,
+sound/pci/cs4281.c:	chip->ac97_bus = NULL;
+sound/pci/cs4281.c:		chip->ac97_secondary = NULL;
+sound/pci/cs4281.c:		chip->ac97 = NULL;
+sound/pci/cs4281.c:	struct snd_card *card = chip->card;
+sound/pci/cs4281.c:	if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/cs4281.c:	chip->ac97_bus->private_free = snd_cs4281_mixer_free_ac97_bus;
+sound/pci/cs4281.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/cs4281.c:	if (chip->dual_codec) {
+sound/pci/cs4281.c:		if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_secondary)) < 0)
+sound/pci/cs4281.c:	snd_iprintf(buffer, "Spurious half IRQs   : %u\n", chip->spurious_dhtc_irq);
+sound/pci/cs4281.c:	snd_iprintf(buffer, "Spurious end IRQs    : %u\n", chip->spurious_dtc_irq);
+sound/pci/cs4281.c:	if (copy_to_user_fromio(buf, chip->ba0 + pos, count))
+sound/pci/cs4281.c:	if (copy_to_user_fromio(buf, chip->ba1 + pos, count))
+sound/pci/cs4281.c:	snd_card_ro_proc_new(chip->card, "cs4281", chip, snd_cs4281_proc_read);
+sound/pci/cs4281.c:	if (! snd_card_proc_new(chip->card, "cs4281_BA0", &entry)) {
+sound/pci/cs4281.c:	if (! snd_card_proc_new(chip->card, "cs4281_BA1", &entry)) {
+sound/pci/cs4281.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/cs4281.c:		dev_err(chip->card->dev,
+sound/pci/cs4281.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/cs4281.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/cs4281.c:	if (chip->gameport) {
+sound/pci/cs4281.c:		gameport_unregister_port(chip->gameport);
+sound/pci/cs4281.c:		chip->gameport = NULL;
+sound/pci/cs4281.c:	if (chip->irq >= 0)
+sound/pci/cs4281.c:		synchronize_irq(chip->irq);
+sound/pci/cs4281.c:	pci_set_power_state(chip->pci, PCI_D3hot);
+sound/pci/cs4281.c:	if (chip->irq >= 0)
+sound/pci/cs4281.c:		free_irq(chip->irq, chip);
+sound/pci/cs4281.c:	iounmap(chip->ba0);
+sound/pci/cs4281.c:	iounmap(chip->ba1);
+sound/pci/cs4281.c:	pci_release_regions(chip->pci);
+sound/pci/cs4281.c:	pci_disable_device(chip->pci);
+sound/pci/cs4281.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->card = card;
+sound/pci/cs4281.c:	chip->pci = pci;
+sound/pci/cs4281.c:	chip->irq = -1;
+sound/pci/cs4281.c:	chip->dual_codec = dual_codec;
+sound/pci/cs4281.c:	chip->ba0_addr = pci_resource_start(pci, 0);
+sound/pci/cs4281.c:	chip->ba1_addr = pci_resource_start(pci, 1);
+sound/pci/cs4281.c:	chip->ba0 = pci_ioremap_bar(pci, 0);
+sound/pci/cs4281.c:	chip->ba1 = pci_ioremap_bar(pci, 1);
+sound/pci/cs4281.c:	if (!chip->ba0 || !chip->ba1) {
+sound/pci/cs4281.c:	chip->irq = pci->irq;
+sound/pci/cs4281.c:			dev_err(chip->card->dev,
+sound/pci/cs4281.c:		dev_err(chip->card->dev,
+sound/pci/cs4281.c:		dev_err(chip->card->dev,
+sound/pci/cs4281.c:	if (chip->dual_codec)
+sound/pci/cs4281.c:			   (chip->dual_codec ? BA0_SERMC_TCID(chip->dual_codec) : BA0_SERMC_TCID(1)) |
+sound/pci/cs4281.c:	dev_err(chip->card->dev, "DLLRDY not seen\n");
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	if (chip->dual_codec) {
+sound/pci/cs4281.c:		dev_info(chip->card->dev,
+sound/pci/cs4281.c:		chip->dual_codec = 0;
+sound/pci/cs4281.c:	dev_err(chip->card->dev, "never read ISV3 and ISV4 from AC'97\n");
+sound/pci/cs4281.c:		struct cs4281_dma *dma = &chip->dma[tmp];
+sound/pci/cs4281.c:	chip->src_left_play_slot = 0;	/* AC'97 left PCM playback (3) */
+sound/pci/cs4281.c:	chip->src_right_play_slot = 1;	/* AC'97 right PCM playback (4) */
+sound/pci/cs4281.c:	chip->src_left_rec_slot = 10;	/* AC'97 left PCM record (3) */
+sound/pci/cs4281.c:	chip->src_right_rec_slot = 11;	/* AC'97 right PCM record (4) */
+sound/pci/cs4281.c:	chip->dma[0].valFCR = BA0_FCR_FEN | BA0_FCR_LS(0) |
+sound/pci/cs4281.c:		              BA0_FCR_OF(chip->dma[0].fifo_offset);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, chip->dma[0].regFCR, chip->dma[0].valFCR);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_SRCSA, (chip->src_left_play_slot << 0) |
+sound/pci/cs4281.c:					    (chip->src_right_play_slot << 8) |
+sound/pci/cs4281.c:					    (chip->src_left_rec_slot << 16) |
+sound/pci/cs4281.c:					    (chip->src_right_rec_slot << 24));
+sound/pci/cs4281.c:	synchronize_irq(chip->irq);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr | BA0_MIDCR_MRST);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c: 	chip->midcr |= BA0_MIDCR_RXE;
+sound/pci/cs4281.c:	chip->midi_input = substream;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_OUTPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->midcr &= ~(BA0_MIDCR_RXE | BA0_MIDCR_RIE);
+sound/pci/cs4281.c:	chip->midi_input = NULL;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_OUTPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	chip->uartm &= ~CS4281_MODE_INPUT;
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->uartm |= CS4281_MODE_OUTPUT;
+sound/pci/cs4281.c:	chip->midcr |= BA0_MIDCR_TXE;
+sound/pci/cs4281.c:	chip->midi_output = substream;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_INPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->midcr &= ~(BA0_MIDCR_TXE | BA0_MIDCR_TIE);
+sound/pci/cs4281.c:	chip->midi_output = NULL;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_INPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	chip->uartm &= ~CS4281_MODE_OUTPUT;
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs4281.c:		if ((chip->midcr & BA0_MIDCR_RIE) == 0) {
+sound/pci/cs4281.c:			chip->midcr |= BA0_MIDCR_RIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:		if (chip->midcr & BA0_MIDCR_RIE) {
+sound/pci/cs4281.c:			chip->midcr &= ~BA0_MIDCR_RIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs4281.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs4281.c:		if ((chip->midcr & BA0_MIDCR_TIE) == 0) {
+sound/pci/cs4281.c:			chip->midcr |= BA0_MIDCR_TIE;
+sound/pci/cs4281.c:			while ((chip->midcr & BA0_MIDCR_TIE) &&
+sound/pci/cs4281.c:					chip->midcr &= ~BA0_MIDCR_TIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:		if (chip->midcr & BA0_MIDCR_TIE) {
+sound/pci/cs4281.c:			chip->midcr &= ~BA0_MIDCR_TIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs4281.c:	if ((err = snd_rawmidi_new(chip->card, "CS4281", device, 1, 1, &rmidi)) < 0)
+sound/pci/cs4281.c:	chip->rmidi = rmidi;
+sound/pci/cs4281.c:				cdma = &chip->dma[dma];
+sound/pci/cs4281.c:				spin_lock(&chip->reg_lock);
+sound/pci/cs4281.c:					chip->spurious_dhtc_irq++;
+sound/pci/cs4281.c:					spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:					chip->spurious_dtc_irq++;
+sound/pci/cs4281.c:					spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:				spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:	if ((status & BA0_HISR_MIDI) && chip->rmidi) {
+sound/pci/cs4281.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs4281.c:			if ((chip->midcr & BA0_MIDCR_RIE) == 0)
+sound/pci/cs4281.c:			snd_rawmidi_receive(chip->midi_input, &c, 1);
+sound/pci/cs4281.c:			if ((chip->midcr & BA0_MIDCR_TIE) == 0)
+sound/pci/cs4281.c:			if (snd_rawmidi_transmit(chip->midi_output, &c, 1) != 1) {
+sound/pci/cs4281.c:				chip->midcr &= ~BA0_MIDCR_TIE;
+sound/pci/cs4281.c:				snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:		port = chip->ba0 + BA0_B1AP; /* right port */
+sound/pci/cs4281.c:		port = chip->ba0 + BA0_B0AP; /* left port */
+sound/pci/cs4281.c:		chip->ba0_addr,
+sound/pci/cs4281.c:		chip->irq);
+sound/pci/cs4281.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/cs4281.c:	snd_ac97_suspend(chip->ac97_secondary);
+sound/pci/cs4281.c:			chip->suspend_regs[i] = snd_cs4281_peekBA0(chip, saved_regs[i]);
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, saved_regs[i], chip->suspend_regs[i]);
+sound/pci/cs4281.c:	snd_ac97_resume(chip->ac97);
+sound/pci/cs4281.c:	snd_ac97_resume(chip->ac97_secondary);
+sound/pci/cs46xx/cs46xx.c:	chip->accept_valid = mmap_valid[dev];
+sound/pci/cs46xx/cs46xx.c:	if (chip->nr_ac97_codecs ==2) {
+sound/pci/cs46xx/cs46xx.c:		chip->ba0_addr,
+sound/pci/cs46xx/cs46xx.c:		chip->ba1_addr,
+sound/pci/cs46xx/cs46xx.c:		chip->irq);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:		dev_warn(chip->card->dev, "ACCTL_VFRM not set 0x%x\n", tmp);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	dst = chip->region.idx[bank+1].remap_addr + offset;
+sound/pci/cs46xx/cs46xx_lib.c:	err = request_firmware(&fw, fw_path, &chip->pci->dev);
+sound/pci/cs46xx/cs46xx_lib.c:	dst = chip->region.idx[bank+1].remap_addr + offset;
+sound/pci/cs46xx/cs46xx_lib.c:	err = request_firmware(&fw, "cs46xx/ba1", &chip->pci->dev);
+sound/pci/cs46xx/cs46xx_lib.c:	if (fw->size != sizeof(*chip->ba1)) {
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ba1 = vmalloc(sizeof(*chip->ba1));
+sound/pci/cs46xx/cs46xx_lib.c:	if (!chip->ba1) {
+sound/pci/cs46xx/cs46xx_lib.c:	memcpy_le32(chip->ba1, fw->data, sizeof(*chip->ba1));
+sound/pci/cs46xx/cs46xx_lib.c:		size += chip->ba1->memory[i].size;
+sound/pci/cs46xx/cs46xx_lib.c:	struct ba1_struct *ba1 = chip->ba1;
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev, "SPCR_RUNFR never reset\n");
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	       chip->capt.hw_buf.area + rec->hw_data, bytes);
+sound/pci/cs46xx/cs46xx_lib.c:	return snd_pcm_indirect_capture_transfer(substream, &chip->capt.pcm_rec,
+sound/pci/cs46xx/cs46xx_lib.c:	size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr;
+sound/pci/cs46xx/cs46xx_lib.c:	return ptr >> chip->capt.shift;
+sound/pci/cs46xx/cs46xx_lib.c:	size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr;
+sound/pci/cs46xx/cs46xx_lib.c:	return snd_pcm_indirect_capture_pointer(substream, &chip->capt.pcm_rec, ptr);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_poke(chip, BA1_PCTL, chip->play_ctl | tmp);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_poke(chip, BA1_CCTL, chip->capt.ctl | tmp);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		 mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		if (runtime->dma_area != chip->capt.hw_buf.area)
+sound/pci/cs46xx/cs46xx_lib.c:		runtime->dma_area = chip->capt.hw_buf.area;
+sound/pci/cs46xx/cs46xx_lib.c:		runtime->dma_addr = chip->capt.hw_buf.addr;
+sound/pci/cs46xx/cs46xx_lib.c:		runtime->dma_bytes = chip->capt.hw_buf.bytes;
+sound/pci/cs46xx/cs46xx_lib.c:		if (runtime->dma_area == chip->capt.hw_buf.area) {
+sound/pci/cs46xx/cs46xx_lib.c:	if (runtime->dma_area != chip->capt.hw_buf.area)
+sound/pci/cs46xx/cs46xx_lib.c:	snd_cs46xx_poke(chip, BA1_CBA, chip->capt.hw_buf.addr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.shift = 2;
+sound/pci/cs46xx/cs46xx_lib.c:	memset(&chip->capt.pcm_rec, 0, sizeof(chip->capt.pcm_rec));
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.pcm_rec.hw_buffer_size = runtime->period_size * CS46XX_FRAGS << 2;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:					if (chip->capt.substream)
+sound/pci/cs46xx/cs46xx_lib.c:						snd_pcm_period_elapsed(chip->capt.substream);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((status1 & HISR_VC0) && chip->playback_pcm) {
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->playback_pcm->substream)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_pcm_period_elapsed(chip->playback_pcm->substream);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((status1 & HISR_VC1) && chip->pcm) {
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->capt.substream)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_pcm_period_elapsed(chip->capt.substream);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((status1 & HISR_MIDI) && chip->rmidi) {
+sound/pci/cs46xx/cs46xx_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:			if ((chip->midcr & MIDCR_RIE) == 0)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_rawmidi_receive(chip->midi_input, &c, 1);
+sound/pci/cs46xx/cs46xx_lib.c:			if ((chip->midcr & MIDCR_TIE) == 0)
+sound/pci/cs46xx/cs46xx_lib.c:			if (snd_rawmidi_transmit(chip->midi_output, &c, 1) != 1) {
+sound/pci/cs46xx/cs46xx_lib.c:				chip->midcr &= ~MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:				snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->playback_pcm = cpcm; /* HACK */
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->accept_valid)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "open raw iec958 channel\n");
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "close raw iec958 channel\n");
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:				PAGE_SIZE, &chip->capt.hw_buf) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.substream = substream;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->accept_valid)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->playback_pcm = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.substream = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	snd_dma_free_pages(&chip->capt.hw_buf);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx", device, MAX_PLAYBACK_CHANNELS, 1, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx - Rear", device, MAX_PLAYBACK_CHANNELS, 0, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm_rear = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx - Center LFE", device, MAX_PLAYBACK_CHANNELS, 0, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm_center_lfe = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx - IEC958", device, 1, 0, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm_iec958 = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ac97_bus = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	if (snd_BUG_ON(ac97 != chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] &&
+sound/pci/cs46xx/cs46xx_lib.c:		       ac97 != chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]))
+sound/pci/cs46xx/cs46xx_lib.c:	if (ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]) {
+sound/pci/cs46xx/cs46xx_lib.c:		chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		chip->eapd_switch = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[0] = chip->dsp_spos_instance->dac_volume_left;
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[1] = chip->dsp_spos_instance->dac_volume_right;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance->dac_volume_right != ucontrol->value.integer.value[0] ||
+sound/pci/cs46xx/cs46xx_lib.c:	    chip->dsp_spos_instance->dac_volume_left != ucontrol->value.integer.value[1]) {
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[0] = chip->dsp_spos_instance->spdif_input_volume_left;
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[1] = chip->dsp_spos_instance->spdif_input_volume_right;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance->spdif_input_volume_left  != ucontrol->value.integer.value[0] ||
+sound/pci/cs46xx/cs46xx_lib.c:	    chip->dsp_spos_instance->spdif_input_volume_right!= ucontrol->value.integer.value[1]) {
+sound/pci/cs46xx/cs46xx_lib.c:		ucontrol->value.integer.value[0] = (chip->dsp_spos_instance->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED);
+sound/pci/cs46xx/cs46xx_lib.c:		ucontrol->value.integer.value[0] = chip->dsp_spos_instance->spdif_status_in;
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		change = (chip->dsp_spos_instance->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED);
+sound/pci/cs46xx/cs46xx_lib.c:		res = (change != (chip->dsp_spos_instance->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED));
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		change = chip->dsp_spos_instance->spdif_status_in;
+sound/pci/cs46xx/cs46xx_lib.c:		res = (change != chip->dsp_spos_instance->spdif_status_in);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	val = snd_ac97_read(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX], AC97_CSR_ACMODE);
+sound/pci/cs46xx/cs46xx_lib.c:	return snd_ac97_update_bits(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX],
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier_ctrl == amp_voyetra)
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97[codec]);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "codec %d detection timeout\n", codec);
+sound/pci/cs46xx/cs46xx_lib.c:	struct snd_card *card = chip->card;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->nr_ac97_codecs = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "detecting primary codec\n");
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ac97_bus->private_free = snd_cs46xx_mixer_free_ac97_bus;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->nr_ac97_codecs = 1;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "detecting secondary codec\n");
+sound/pci/cs46xx/cs46xx_lib.c:		chip->nr_ac97_codecs = 2;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->eapd_switch = snd_ctl_find_id(chip->card, &id);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->nr_ac97_codecs == 1) {
+sound/pci/cs46xx/cs46xx_lib.c:		unsigned int id2 = chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]->id & 0xffff;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_ac97_write_cache(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX],
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->mixer_init) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "calling chip->mixer_init(chip);\n");
+sound/pci/cs46xx/cs46xx_lib.c:		chip->mixer_init(chip);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm |= CS46XX_MODE_INPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr |= MIDCR_RXE;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_input = substream;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_OUTPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr &= ~(MIDCR_RXE | MIDCR_RIE);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_input = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_OUTPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm &= ~CS46XX_MODE_INPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm |= CS46XX_MODE_OUTPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr |= MIDCR_TXE;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_output = substream;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_INPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr &= ~(MIDCR_TXE | MIDCR_TIE);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_output = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_INPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm &= ~CS46XX_MODE_OUTPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:		if ((chip->midcr & MIDCR_RIE) == 0) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr |= MIDCR_RIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->midcr & MIDCR_RIE) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr &= ~MIDCR_RIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:		if ((chip->midcr & MIDCR_TIE) == 0) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr |= MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:			while ((chip->midcr & MIDCR_TIE) &&
+sound/pci/cs46xx/cs46xx_lib.c:					chip->midcr &= ~MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->midcr & MIDCR_TIE) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr &= ~MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_rawmidi_new(chip->card, "CS46XX", device, 1, 1, &rmidi)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->rmidi = rmidi;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/cs46xx/cs46xx_lib.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->gameport) {
+sound/pci/cs46xx/cs46xx_lib.c:		gameport_unregister_port(chip->gameport);
+sound/pci/cs46xx/cs46xx_lib.c:		chip->gameport = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		struct snd_cs46xx_region *region = &chip->region.idx[idx];
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->active_ctrl)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier_ctrl)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl(chip, -chip->amplifier); /* force to off */
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->region.idx[0].resource)
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->irq >= 0)
+sound/pci/cs46xx/cs46xx_lib.c:		free_irq(chip->irq, chip);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->active_ctrl)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl(chip, -chip->amplifier);
+sound/pci/cs46xx/cs46xx_lib.c:		struct snd_cs46xx_region *region = &chip->region.idx[idx];
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance) {
+sound/pci/cs46xx/cs46xx_lib.c:		chip->dsp_spos_instance = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		free_module_desc(chip->modules[idx]);
+sound/pci/cs46xx/cs46xx_lib.c:	vfree(chip->ba1);
+sound/pci/cs46xx/cs46xx_lib.c:	kfree(chip->saved_regs);
+sound/pci/cs46xx/cs46xx_lib.c:	pci_disable_device(chip->pci);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev, "never read ISV3 & ISV4 from AC'97\n");
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		err = load_firmware(chip, &chip->modules[i], module_names[i]);
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev, "firmware load error [%s]\n",
+sound/pci/cs46xx/cs46xx_lib.c:		err = cs46xx_dsp_load_module(chip, chip->modules[i]);
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev, "image download error [%s]\n",
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev, "image download error\n");
+sound/pci/cs46xx/cs46xx_lib.c:	chip->play_ctl = tmp & 0xffff0000;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.ctl = tmp & 0x0000ffff;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "cs46xx_setup_eapd_slot()+\n");
+sound/pci/cs46xx/cs46xx_lib.c:	if(chip->nr_ac97_codecs != 2) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "FIFO is busy\n");
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	int old = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier) {
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->eapd_switch)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/cs46xx/cs46xx_lib.c:				       &chip->eapd_switch->id);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier && !old) {
+sound/pci/cs46xx/cs46xx_lib.c:	int old = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier && !old) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "Hercules amplifier ON\n");
+sound/pci/cs46xx/cs46xx_lib.c:	} else if (old && !chip->amplifier) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "Hercules amplifier OFF\n");
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "initializing Voyetra mixer\n");
+sound/pci/cs46xx/cs46xx_lib.c:	struct snd_card *card = chip->card;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "initializing Hercules mixer\n");
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->in_suspend)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier) {
+sound/pci/cs46xx/cs46xx_lib.c:	if (!chip->acpi_port)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	nval = control = inw(chip->acpi_port + 0x10);
+sound/pci/cs46xx/cs46xx_lib.c:	if (! chip->amplifier)
+sound/pci/cs46xx/cs46xx_lib.c:		outw(nval, chip->acpi_port + 0x10);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->acpi_port = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->acpi_port = pp << 8;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->in_suspend = 1;
+sound/pci/cs46xx/cs46xx_lib.c:	// chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL);
+sound/pci/cs46xx/cs46xx_lib.c:	// chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_suspend(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_suspend(chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:		chip->saved_regs[i] = snd_cs46xx_peekBA0(chip, saved_regs[i]);
+sound/pci/cs46xx/cs46xx_lib.c:	amp_saved = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier_ctrl(chip, -chip->amplifier);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -chip->amplifier);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier = amp_saved; /* restore the status */
+sound/pci/cs46xx/cs46xx_lib.c:	amp_saved = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1); /* force to on */
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, saved_regs[i], chip->saved_regs[i]);
+sound/pci/cs46xx/cs46xx_lib.c:			       chip->ac97_general_purpose);
+sound/pci/cs46xx/cs46xx_lib.c:			       chip->ac97_powerdown);
+sound/pci/cs46xx/cs46xx_lib.c:			       chip->ac97_powerdown);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_resume(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_resume(chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.ctl = tmp & 0x0000ffff;
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl(chip, 1); /* turn amp on */
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl(chip, -1); /* disable CLKRUN */
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier = amp_saved;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->in_suspend = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_init(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->card = card;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pci = pci;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->irq = -1;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ba0_addr = pci_resource_start(pci, 0);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ba1_addr = pci_resource_start(pci, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->ba0_addr == 0 || chip->ba0_addr == (unsigned long)~0 ||
+sound/pci/cs46xx/cs46xx_lib.c:	    chip->ba1_addr == 0 || chip->ba1_addr == (unsigned long)~0) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			   chip->ba0_addr, chip->ba1_addr);
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.ba0;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba0_addr;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.data0;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_DMEM0;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.data1;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_DMEM1;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.pmem;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_PMEM;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.reg;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_REG;
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev, "hack for %s enabled\n",
+sound/pci/cs46xx/cs46xx_lib.c:			chip->amplifier_ctrl = cp->amp;
+sound/pci/cs46xx/cs46xx_lib.c:			chip->active_ctrl = cp->active;
+sound/pci/cs46xx/cs46xx_lib.c:			chip->mixer_init = cp->mixer_init;
+sound/pci/cs46xx/cs46xx_lib.c:		dev_info(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl = amp_voyetra;
+sound/pci/cs46xx/cs46xx_lib.c:		dev_info(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl = clkrun_hack;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier_ctrl == NULL)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl = amp_none;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->active_ctrl == NULL)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl = amp_none;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1); /* enable CLKRUN */
+sound/pci/cs46xx/cs46xx_lib.c:		region = &chip->region.idx[idx];
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev, "unable to grab IRQ %d\n", pci->irq);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->irq = pci->irq;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->dsp_spos_instance = cs46xx_dsp_spos_create(chip);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance == NULL) {
+sound/pci/cs46xx/cs46xx_lib.c:	chip->saved_regs = kmalloc_array(ARRAY_SIZE(saved_regs),
+sound/pci/cs46xx/cs46xx_lib.c:					 sizeof(*chip->saved_regs),
+sound/pci/cs46xx/cs46xx_lib.c:	if (!chip->saved_regs) {
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1); /* disable CLKRUN */
+sound/pci/cs46xx/cs46xx_lib.h:	writel(val, chip->region.idx[bank+1].remap_addr + offset);
+sound/pci/cs46xx/cs46xx_lib.h:	return readl(chip->region.idx[bank+1].remap_addr + offset);
+sound/pci/cs46xx/cs46xx_lib.h:	writel(val, chip->region.name.ba0.remap_addr + offset);
+sound/pci/cs46xx/cs46xx_lib.h:	return readl(chip->region.name.ba0.remap_addr + offset);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:						dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:							dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:						dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev, "dsp_spos: symbol table is full\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "dsp_spos: clearing parameter area\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "dsp_spos: clearing sample area\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "dsp_spos: clearing code area\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	dev_err(chip->card->dev, "dsp_spos: symbol <%s> type %02x not found\n",
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	/*struct dsp_spos_instance * ins = chip->dsp_spos_instance; */
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *dst = chip->region.idx[2].remap_addr;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *spdst = chip->region.idx[1].remap_addr + 
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "addr %p, val %08x\n",
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *spdst = chip->region.idx[1].remap_addr + 
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "addr %p, val %08x\n",
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev, "dsp_spos: failed to map SCB\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev, "dsp_spos: failed to map TASK\n");
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	if (snd_BUG_ON(chip->nr_ac97_codecs != 1 && chip->nr_ac97_codecs != 2))
+sound/pci/cs46xx/dsp_spos.c:	if (chip->nr_ac97_codecs == 1) {
+sound/pci/cs46xx/dsp_spos.c:	if (chip->nr_ac97_codecs == 2) {
+sound/pci/cs46xx/dsp_spos.c:	dev_err(chip->card->dev, "dsp_spos: failed to setup SCB's in DSP\n");
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/dsp_spos.c:	chip->amplifier_ctrl(chip, 1);
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/dsp_spos.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/dsp_spos.c:	chip->amplifier_ctrl(chip, -1);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	if (chip->dsp_spos_instance->spdif_status_in) {
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	void __iomem *dst = chip->region.idx[2].remap_addr + sample_buffer_addr;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);    
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	dev_dbg(chip->card->dev, "dsp_spos: creating SCB <%s>\n", name);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	dev_dbg(chip->card->dev, "dsp_spos: setting %s rate to %u\n",
+sound/pci/cs46xx/dsp_spos_scb_lib.c:				dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_dbg(chip->card->dev, "IEC958 pass through\n");
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_err(chip->card->dev, "dsp_spos: no free PCM channel\n");
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	dev_dbg(chip->card->dev, "dsp_spos: creating PCM \"%s\" (%d)\n",
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		       chip->dsp_spos_instance->npcm_channels <= 0))
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:  	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs5530.c:	pci_release_regions(chip->pci);
+sound/pci/cs5530.c:	pci_disable_device(chip->pci);
+sound/pci/cs5530.c:	chip->card = card;
+sound/pci/cs5530.c:	chip->pci = pci;
+sound/pci/cs5530.c:	chip->pci_base = pci_resource_start(pci, 0);
+sound/pci/cs5530.c:						dma16, SB_HW_CS5530, &chip->sb);
+sound/pci/cs5530.c:	err = snd_sb16dsp_pcm(chip->sb, 0);
+sound/pci/cs5530.c:	err = snd_sbmixer_new(chip->sb);
+sound/pci/cs5530.c:	sprintf(card->longname, "%s at 0x%lx", card->shortname, chip->pci_base);
+sound/pci/echoaudio/darla20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/darla20_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/darla20_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/darla20_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/darla20_dsp.c:	chip->dsp_code_to_load = FW_DARLA20_DSP;
+sound/pci/echoaudio/darla20_dsp.c:	chip->spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/darla20_dsp.c:	chip->clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/darla20_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/darla20_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/darla20_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/darla20_dsp.c:	if (chip->clock_state == clock_state)
+sound/pci/echoaudio/darla20_dsp.c:	if (spdif_status == chip->spdif_status)
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->gd_clock_state = clock_state;
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->gd_spdif_status = spdif_status;
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->gd_resampler_state = 3;	/* magic number - should always be 3 */
+sound/pci/echoaudio/darla20_dsp.c:		chip->clock_state = clock_state;
+sound/pci/echoaudio/darla20_dsp.c:		chip->spdif_status = spdif_status;
+sound/pci/echoaudio/darla20_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/darla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/darla24_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/darla24_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/darla24_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/darla24_dsp.c:	chip->dsp_code_to_load = FW_DARLA24_DSP;
+sound/pci/echoaudio/darla24_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/darla24_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/darla24_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/darla24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/darla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/darla24_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/darla24_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/darla24_dsp.c:	if (chip->input_clock == ECHO_CLOCK_ESYNC)
+sound/pci/echoaudio/darla24_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP ? */
+sound/pci/echoaudio/darla24_dsp.c:	chip->comm_page->gd_clock_state = clock;
+sound/pci/echoaudio/darla24_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/darla24_dsp.c:	return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/echo3g.c:#define PX_DIGITAL_OUT	chip->px_digital_out
+sound/pci/echoaudio/echo3g.c:#define PX_ANALOG_IN	chip->px_analog_in
+sound/pci/echoaudio/echo3g.c:#define PX_DIGITAL_IN	chip->px_digital_in
+sound/pci/echoaudio/echo3g.c:#define PX_NUM		chip->px_num
+sound/pci/echoaudio/echo3g.c:#define BX_DIGITAL_OUT	chip->bx_digital_out
+sound/pci/echoaudio/echo3g.c:#define BX_ANALOG_IN	chip->bx_analog_in
+sound/pci/echoaudio/echo3g.c:#define BX_DIGITAL_IN	chip->bx_digital_in
+sound/pci/echoaudio/echo3g.c:#define BX_NUM		chip->bx_num
+sound/pci/echoaudio/echo3g_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echo3g_dsp.c:	chip->comm_page->e3g_frq_register =
+sound/pci/echoaudio/echo3g_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->has_midi = true;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->dsp_code_to_load = FW_ECHO3G_DSP;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->input_clock_types =	ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/echo3g_dsp.c:		chip->card_name = "Gina3G";
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_out = chip->bx_digital_out = 6;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_analog_in = chip->bx_analog_in = 14;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_in = chip->bx_digital_in = 16;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_num = chip->bx_num = 24;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->has_phantom_power = true;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->hasnt_input_nominal_level = true;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->input_clock_types =	ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/echo3g_dsp.c:		chip->card_name = "Layla3G";
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_out = chip->bx_digital_out = 8;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_analog_in = chip->bx_analog_in = 16;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_in = chip->bx_digital_in = 24;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_num = chip->bx_num = 32;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->digital_modes =	ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_RCA |
+sound/pci/echoaudio/echo3g_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->non_audio_spdif = false;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->phantom_power = false;
+sound/pci/echoaudio/echo3g_dsp.c:	u32 control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echo3g_dsp.c:	chip->phantom_power = on;
+sound/pci/echoaudio/echo3g_dsp.c:				 le32_to_cpu(chip->comm_page->e3g_frq_register),
+sound/pci/echoaudio/echoaudio.c:	if (chip->fw_cache[fw_index]) {
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		*fw_entry = chip->fw_cache[fw_index];
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:	err = request_firmware(fw_entry, name, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		chip->fw_cache[fw_index] = *fw_entry;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "firmware not released (kept in cache)\n");
+sound/pci/echoaudio/echoaudio.c:		if (chip->fw_cache[i]) {
+sound/pci/echoaudio/echoaudio.c:			release_firmware(chip->fw_cache[i]);
+sound/pci/echoaudio/echoaudio.c:			dev_dbg(chip->card->dev, "release_firmware(%d)\n", i);
+sound/pci/echoaudio/echoaudio.c:	if (!chip->can_set_rate) {
+sound/pci/echoaudio/echoaudio.c:		fixed.min = fixed.max = chip->sample_rate;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "max_channels=%d\n", max_channels);
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_mode == DIGITAL_MODE_ADAT) {
+sound/pci/echoaudio/echoaudio.c:				       &chip->pci->dev,
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "s-g list allocation failed\n");
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_analog_in_open  cs=%d  oc=%d  r=%d\n",
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, atomic_read(&chip->opencount),
+sound/pci/echoaudio/echoaudio.c:		chip->sample_rate);
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_analog_out_open  cs=%d  oc=%d  r=%d\n",
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, atomic_read(&chip->opencount),
+sound/pci/echoaudio/echoaudio.c:		chip->sample_rate);
+sound/pci/echoaudio/echoaudio.c:	mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	atomic_dec(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	oc = atomic_read(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_close  oc=%d  cs=%d  rs=%d\n", oc,
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, chip->rate_set);
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate = 1;
+sound/pci/echoaudio/echoaudio.c:		chip->rate_set = 0;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_close2 oc=%d  cs=%d  rs=%d\n", oc,
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, chip->rate_set);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev, "hwp_ie free(%d)\n", pipe->index);
+sound/pci/echoaudio/echoaudio.c:		chip->substream[pipe->index] = NULL;
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "allocate_pipes(%d) err=%d\n",
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "allocate_pipes()=%d\n", pipe_index);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "malloc_pages err=%d\n", err);
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	 * initialized before chip->substream
+sound/pci/echoaudio/echoaudio.c:	chip->last_period[pipe_index] = 0;
+sound/pci/echoaudio/echoaudio.c:	chip->substream[pipe_index] = substream;
+sound/pci/echoaudio/echoaudio.c:	chip->rate_set = 1;
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev, "pcm_hw_free(%d)\n", pipe->index);
+sound/pci/echoaudio/echoaudio.c:		chip->substream[pipe->index] = NULL;
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "Prepare rate=%d format=%d channels=%d\n",
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:			if (s == chip->substream[i]) {
+sound/pci/echoaudio/echoaudio.c:	spin_lock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:				pipe = chip->substream[i]->runtime->private_data;
+sound/pci/echoaudio/echoaudio.c:					chip->last_period[i] = 0;
+sound/pci/echoaudio/echoaudio.c:				      chip->pipe_cyclic_mask);
+sound/pci/echoaudio/echoaudio.c:				pipe = chip->substream[i]->runtime->private_data;
+sound/pci/echoaudio/echoaudio.c:				pipe = chip->substream[i]->runtime->private_data;
+sound/pci/echoaudio/echoaudio.c:	spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "PCM", 0, num_pipes_out(chip),
+sound/pci/echoaudio/echoaudio.c:	chip->analog_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "Digital PCM", 1, 0,
+sound/pci/echoaudio/echoaudio.c:	chip->digital_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "Analog PCM", 0,
+sound/pci/echoaudio/echoaudio.c:	chip->analog_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "Digital PCM", 1,
+sound/pci/echoaudio/echoaudio.c:	chip->digital_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:		ucontrol->value.integer.value[c] = chip->output_gain[c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->output_gain[c] != gain) {
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		ucontrol->value.integer.value[c] = chip->input_gain[c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->input_gain[c] != gain) {
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		ucontrol->value.integer.value[c] = chip->nominal_level[c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->nominal_level[c] != ucontrol->value.integer.value[c]) {
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:			chip->nominal_level[bx_analog_in(chip) + c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->nominal_level[bx_analog_in(chip) + c] !=
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.integer.value[0] = chip->monitor_gain[out][in];
+sound/pci/echoaudio/echoaudio.c:	if (chip->monitor_gain[out][in] != gain) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		chip->vmixer_gain[ucontrol->id.index / num_pipes_out(chip)]
+sound/pci/echoaudio/echoaudio.c:	if (chip->vmixer_gain[out][vch] != ucontrol->value.integer.value[0]) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	return snd_ctl_enum_info(uinfo, 1, chip->num_digital_modes, names);
+sound/pci/echoaudio/echoaudio.c:	mode = chip->digital_mode;
+sound/pci/echoaudio/echoaudio.c:	for (i = chip->num_digital_modes - 1; i >= 0; i--)
+sound/pci/echoaudio/echoaudio.c:		if (mode == chip->digital_mode_list[i]) {
+sound/pci/echoaudio/echoaudio.c:	if (emode >= chip->num_digital_modes)
+sound/pci/echoaudio/echoaudio.c:	dmode = chip->digital_mode_list[emode];
+sound/pci/echoaudio/echoaudio.c:	if (dmode != chip->digital_mode) {
+sound/pci/echoaudio/echoaudio.c:		mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		if (atomic_read(&chip->opencount)) {
+sound/pci/echoaudio/echoaudio.c:			if (changed > 0 && chip->clock_src_ctl) {
+sound/pci/echoaudio/echoaudio.c:				snd_ctl_notify(chip->card,
+sound/pci/echoaudio/echoaudio.c:					       &chip->clock_src_ctl->id);
+sound/pci/echoaudio/echoaudio.c:				dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.enumerated.item[0] = !!chip->professional_spdif;
+sound/pci/echoaudio/echoaudio.c:	if (mode != chip->professional_spdif) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	return snd_ctl_enum_info(uinfo, 1, chip->num_clock_sources, names);
+sound/pci/echoaudio/echoaudio.c:	clock = chip->input_clock;
+sound/pci/echoaudio/echoaudio.c:	for (i = 0; i < chip->num_clock_sources; i++)
+sound/pci/echoaudio/echoaudio.c:		if (clock == chip->clock_source_list[i])
+sound/pci/echoaudio/echoaudio.c:	if (eclock >= chip->input_clock_types)
+sound/pci/echoaudio/echoaudio.c:	dclock = chip->clock_source_list[eclock];
+sound/pci/echoaudio/echoaudio.c:	if (chip->input_clock != dclock) {
+sound/pci/echoaudio/echoaudio.c:		mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.integer.value[0] = chip->phantom_power;
+sound/pci/echoaudio/echoaudio.c:	if (chip->phantom_power != power) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.integer.value[0] = chip->digital_in_automute;
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_in_automute != automute) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	src = chip->num_clock_sources - 1;
+sound/pci/echoaudio/echoaudio.c:				if (bit == chip->clock_source_list[src]) {
+sound/pci/echoaudio/echoaudio.c:	spin_lock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		substream = chip->substream[ss];
+sound/pci/echoaudio/echoaudio.c:			if (period != chip->last_period[ss]) {
+sound/pci/echoaudio/echoaudio.c:				chip->last_period[ss] = period;
+sound/pci/echoaudio/echoaudio.c:				spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:				spin_lock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	if (st > 0 && chip->midi_in) {
+sound/pci/echoaudio/echoaudio.c:		snd_rawmidi_receive(chip->midi_in, chip->midi_buffer, st);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev, "rawmidi_iread=%d\n", st);
+sound/pci/echoaudio/echoaudio.c:	if (chip->comm_page)
+sound/pci/echoaudio/echoaudio.c:	if (chip->irq >= 0)
+sound/pci/echoaudio/echoaudio.c:		free_irq(chip->irq, chip);
+sound/pci/echoaudio/echoaudio.c:	if (chip->comm_page)
+sound/pci/echoaudio/echoaudio.c:		snd_dma_free_pages(&chip->commpage_dma_buf);
+sound/pci/echoaudio/echoaudio.c:	iounmap(chip->dsp_registers);
+sound/pci/echoaudio/echoaudio.c:	release_and_free_resource(chip->iores);
+sound/pci/echoaudio/echoaudio.c:	pci_disable_device(chip->pci);
+sound/pci/echoaudio/echoaudio.c:		spin_lock_init(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		chip->card = card;
+sound/pci/echoaudio/echoaudio.c:		chip->pci = pci;
+sound/pci/echoaudio/echoaudio.c:		chip->irq = -1;
+sound/pci/echoaudio/echoaudio.c:		atomic_set(&chip->opencount, 0);
+sound/pci/echoaudio/echoaudio.c:		mutex_init(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate = 1;
+sound/pci/echoaudio/echoaudio.c:	chip->dsp_registers_phys = pci_resource_start(pci, 0);
+sound/pci/echoaudio/echoaudio.c:	if ((chip->iores = request_mem_region(chip->dsp_registers_phys, sz,
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot get memory region\n");
+sound/pci/echoaudio/echoaudio.c:	chip->dsp_registers = (volatile u32 __iomem *)
+sound/pci/echoaudio/echoaudio.c:		ioremap_nocache(chip->dsp_registers_phys, sz);
+sound/pci/echoaudio/echoaudio.c:	if (!chip->dsp_registers) {
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "ioremap failed\n");
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot grab irq\n");
+sound/pci/echoaudio/echoaudio.c:	chip->irq = pci->irq;
+sound/pci/echoaudio/echoaudio.c:		chip->pci, chip->irq, chip->pci->subsystem_device);
+sound/pci/echoaudio/echoaudio.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/echoaudio/echoaudio.c:				&chip->commpage_dma_buf) < 0) {
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot allocate the comm page\n");
+sound/pci/echoaudio/echoaudio.c:	chip->comm_page_phys = chip->commpage_dma_buf.addr;
+sound/pci/echoaudio/echoaudio.c:	chip->comm_page = (struct comm_page *)chip->commpage_dma_buf.area;
+sound/pci/echoaudio/echoaudio.c:	err = init_hw(chip, chip->pci->device, chip->pci->subsystem_device);
+sound/pci/echoaudio/echoaudio.c:	strcpy(card->shortname, chip->card_name);
+sound/pci/echoaudio/echoaudio.c:		chip->dsp_registers_phys, chip->irq);
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "new pcm error %d\n", err);
+sound/pci/echoaudio/echoaudio.c:	if (chip->has_midi) {	/* Some Mia's do not have midi */
+sound/pci/echoaudio/echoaudio.c:			dev_err(chip->card->dev, "new midi error %d\n", err);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_vmixer, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	err = snd_ctl_add(chip->card,
+sound/pci/echoaudio/echoaudio.c:	err = snd_ctl_add(chip->card,
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_line_input_gain, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if (!chip->hasnt_input_nominal_level)
+sound/pci/echoaudio/echoaudio.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_intput_nominal_level, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_output_nominal_level, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_vumeters_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_vumeters, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_monitor_mixer, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_automute_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_channels_info, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	chip->num_digital_modes = 0;
+sound/pci/echoaudio/echoaudio.c:		if (chip->digital_modes & (1 << i))
+sound/pci/echoaudio/echoaudio.c:			chip->digital_mode_list[chip->num_digital_modes++] = i;
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_digital_mode_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	chip->num_clock_sources = 0;
+sound/pci/echoaudio/echoaudio.c:		if (chip->input_clock_types & (1 << i))
+sound/pci/echoaudio/echoaudio.c:			chip->clock_source_list[chip->num_clock_sources++] = i;
+sound/pci/echoaudio/echoaudio.c:	if (chip->num_clock_sources > 1) {
+sound/pci/echoaudio/echoaudio.c:		chip->clock_src_ctl = snd_ctl_new1(&snd_echo_clock_source_switch, chip);
+sound/pci/echoaudio/echoaudio.c:		if ((err = snd_ctl_add(chip->card, chip->clock_src_ctl)) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_spdif_mode_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if (chip->has_phantom_power)
+sound/pci/echoaudio/echoaudio.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_phantom_power_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if (chip->midi_out)
+sound/pci/echoaudio/echoaudio.c:		snd_echo_midi_output_trigger(chip->midi_out, 0);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio.c:	free_irq(chip->irq, chip);
+sound/pci/echoaudio/echoaudio.c:	chip->irq = -1;
+sound/pci/echoaudio/echoaudio.c:	commpage = chip->comm_page;
+sound/pci/echoaudio/echoaudio.c:	err = init_hw(chip, chip->pci->device, chip->pci->subsystem_device);
+sound/pci/echoaudio/echoaudio.c:	/* Temporarily set chip->pipe_alloc_mask=0 otherwise
+sound/pci/echoaudio/echoaudio.c:	pipe_alloc_mask = chip->pipe_alloc_mask;
+sound/pci/echoaudio/echoaudio.c:	chip->pipe_alloc_mask = 0;
+sound/pci/echoaudio/echoaudio.c:	chip->pipe_alloc_mask = pipe_alloc_mask;
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot grab irq\n");
+sound/pci/echoaudio/echoaudio.c:	chip->irq = pci->irq;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(dev, "resume irq=%d\n", chip->irq);
+sound/pci/echoaudio/echoaudio.c:	if (chip->midi_input_enabled)
+sound/pci/echoaudio/echoaudio.c:	if (chip->midi_out)
+sound/pci/echoaudio/echoaudio.c:		snd_echo_midi_output_trigger(chip->midi_out, 1);
+sound/pci/echoaudio/echoaudio.c:		snd_card_free(chip->card);
+sound/pci/echoaudio/echoaudio.h:	chip->comm_page->handshake = 0;
+sound/pci/echoaudio/echoaudio.h:	return readl(&chip->dsp_registers[index]);
+sound/pci/echoaudio/echoaudio.h:	writel(value, &chip->dsp_registers[index]);
+sound/pci/echoaudio/echoaudio.h:/* Pipe and bus indexes. PX_* and BX_* are defined as chip->px_* and chip->bx_*
+sound/pci/echoaudio/echoaudio_3g.c:	chip->comm_page->ext_box_status = cpu_to_le32(E3G_ASIC_NOT_LOADED);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->asic_loaded = false;
+sound/pci/echoaudio/echoaudio_3g.c:		chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio_3g.c:	box_status = le32_to_cpu(chip->comm_page->ext_box_status);
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev, "box_status=%x\n", box_status);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/echoaudio_3g.c:	return le32_to_cpu(chip->comm_page->e3g_frq_register);
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	if (ctl_reg != chip->comm_page->control_register ||
+sound/pci/echoaudio/echoaudio_3g.c:	    frq_reg != chip->comm_page->e3g_frq_register || force) {
+sound/pci/echoaudio/echoaudio_3g.c:		chip->comm_page->e3g_frq_register = frq_reg;
+sound/pci/echoaudio/echoaudio_3g.c:		chip->comm_page->control_register = ctl_reg;
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev, "WriteControlReg: not written, no change\n");
+sound/pci/echoaudio/echoaudio_3g.c:	if (snd_BUG_ON(chip->pipe_alloc_mask))
+sound/pci/echoaudio/echoaudio_3g.c:	if (snd_BUG_ON(!(chip->digital_modes & (1 << mode))))
+sound/pci/echoaudio/echoaudio_3g.c:	previous_mode = chip->digital_mode;
+sound/pci/echoaudio/echoaudio_3g.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:						 chip->monitor_gain[o][i]);
+sound/pci/echoaudio/echoaudio_3g.c:			set_input_gain(chip, i, chip->input_gain[i]);
+sound/pci/echoaudio/echoaudio_3g.c:			set_output_gain(chip, o, chip->output_gain[o]);
+sound/pci/echoaudio/echoaudio_3g.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->professional_spdif)
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->professional_spdif)
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->non_audio_spdif)
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = set_spdif_bits(chip, control_reg, chip->sample_rate);
+sound/pci/echoaudio/echoaudio_3g.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/echoaudio_3g.c:	switch(chip->digital_mode) {
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/echoaudio_3g.c:	chip->asic_code = FW_3G_ASIC;
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/echoaudio_3g.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/echoaudio_3g.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/echoaudio_3g.c:		set_input_clock(chip, chip->input_clock);
+sound/pci/echoaudio/echoaudio_3g.c:		       chip->digital_mode == DIGITAL_MODE_ADAT))
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/echoaudio_3g.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/echoaudio_3g.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/echoaudio_3g.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/echoaudio_3g.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio_3g.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	chip->input_clock = clock;
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/echoaudio_3g.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_3g.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev, "set_digital_mode(%d)\n", chip->digital_mode);
+sound/pci/echoaudio/echoaudio_dsp.c:		if (chip->comm_page->handshake) {
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "wait_handshake(): Timeout waiting for DSP\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "timeout on send_vector\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;		/* Set true until DSP re-loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev, "write_dsp: Set bad_board to true\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;		/* Set true until DSP re-loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "read_dsp: Set bad_board to true\n");
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_warn(chip->card->dev, "Firmware not found !\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "failed on write_dsp\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->device_id != DEVICE_ID_56361)
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_warn(chip->card->dev, "Firmware not found !\n");
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev, "Resident loader failed to set HF5\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev, "Resident loader successfully installed\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->dsp_code == code) {
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_warn(chip->card->dev, "DSP is already loaded!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;		/* Set true until DSP loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->dsp_code = NULL;		/* Current DSP code not loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->asic_loaded = false;	/* Loading the DSP code will reset the ASIC */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev, "load_dsp: Set bad_board to true\n");
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			if (write_dsp(chip, chip->comm_page_phys) < 0) {
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			chip->dsp_code = code;		/* Show which DSP code loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:			chip->bad_board = false;	/* DSP OK */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	if (snd_BUG_ON(!chip->comm_page))
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->dsp_code) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio_dsp.c:	err = get_firmware(&fw, chip, chip->dsp_code_to_load);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->nominal_level[index] = consumer;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->nominal_level_mask |= cpu_to_le32(1 << index);
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->nominal_level_mask &= ~cpu_to_le32(1 << index);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->output_gain[channel] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->line_out_level[channel] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->monitor_gain[output][input] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->monitors[monitor_index(chip, output, input)] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	if (on && !chip->meters_enabled) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->meters_enabled = 1;
+sound/pci/echoaudio/echoaudio_dsp.c:	} else if (!on && chip->meters_enabled) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->meters_enabled = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:		memset((s8 *)chip->comm_page->vu_meter, ECHOGAIN_MUTED,
+sound/pci/echoaudio/echoaudio_dsp.c:		memset((s8 *)chip->comm_page->peak_meter, ECHOGAIN_MUTED,
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->vu_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->peak_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->vu_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->peak_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->vu_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->peak_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->gd_clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->gd_spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->handshake = cpu_to_le32(0xffffffff);
+sound/pci/echoaudio/echoaudio_dsp.c:		err = set_output_gain(chip, i, chip->output_gain[i]);
+sound/pci/echoaudio/echoaudio_dsp.c:						chip->vmixer_gain[o][i]);
+sound/pci/echoaudio/echoaudio_dsp.c:						chip->monitor_gain[o][i]);
+sound/pci/echoaudio/echoaudio_dsp.c:		err = set_input_gain(chip, i, chip->input_gain[i]);
+sound/pci/echoaudio/echoaudio_dsp.c:	err = set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->meters_enabled) {
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_digital_mode(chip, chip->digital_mode) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_professional_spdif(chip, chip->professional_spdif) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_phantom_power(chip, chip->phantom_power) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_input_clock(chip, chip->input_clock) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_output_clock(chip, chip->output_clock) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->audio_format[pipe_index] = cpu_to_le16(dsp_format);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_start |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->comm_page->cmd_start) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->active_mask |= channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_start = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "start_transport: No pipes to start!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_stop |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_reset = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->comm_page->cmd_stop) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->active_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_stop = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_reset = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_warn(chip->card->dev, "pause_transport: No pipes to stop!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_stop |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_reset |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->comm_page->cmd_reset) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->active_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_stop = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_reset = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_warn(chip->card->dev, "stop_transport: No pipes to stop!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	return (chip->pipe_alloc_mask & (1 << pipe_index));
+sound/pci/echoaudio/echoaudio_dsp.c:	stop_transport(chip, chip->active_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->dsp_code) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->card_name = ECHOCARD_NAME;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;	/* Set true until DSP loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->dsp_code = NULL;	/* Current DSP code not loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->asic_loaded = false;
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->comm_page, 0, sizeof(struct comm_page));
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->comm_size =
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->handshake = cpu_to_le32(0xffffffff);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->midi_out_free_count =
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(44100);
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->comm_page->monitors, ECHOGAIN_MUTED, MONITOR_ARRAY_SIZE);
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->comm_page->vmixer, ECHOGAIN_MUTED, VMIXER_ARRAY_SIZE);
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->output_gain, ECHOGAIN_MUTED, sizeof(chip->output_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->input_gain, ECHOGAIN_MUTED, sizeof(chip->input_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->monitor_gain, ECHOGAIN_MUTED, sizeof(chip->monitor_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->vmixer_gain, ECHOGAIN_MUTED, sizeof(chip->vmixer_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->output_clock = ECHO_CLOCK_WORD;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->sample_rate = 44100;
+sound/pci/echoaudio/echoaudio_dsp.c:		if (chip->comm_page->midi_input[0])	/* The count is at index 0 */
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->midi_input[0] = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->bad_board)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->pipe_alloc_mask & channel_mask) {
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->position[pipe_index] = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_alloc_mask |= channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_cyclic_mask |= channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	pipe->dma_counter = (__le32 *)&chip->comm_page->position[pipe_index];
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_alloc_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_cyclic_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->sglist_addr[pipe->index].addr =
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev, "SGlist: too many fragments\n");
+sound/pci/echoaudio/echoaudio_gml.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_gml.c:		chip->asic_loaded = false;
+sound/pci/echoaudio/echoaudio_gml.c:	chip->asic_loaded = (asic_status == ASIC_ALREADY_LOADED);
+sound/pci/echoaudio/echoaudio_gml.c:	return chip->asic_loaded ? 0 : -EIO;
+sound/pci/echoaudio/echoaudio_gml.c:	if (chip->digital_in_automute)
+sound/pci/echoaudio/echoaudio_gml.c:	dev_dbg(chip->card->dev, "write_control_reg: 0x%x\n", value);
+sound/pci/echoaudio/echoaudio_gml.c:	if (reg_value != chip->comm_page->control_register || force) {
+sound/pci/echoaudio/echoaudio_gml.c:		chip->comm_page->control_register = reg_value;
+sound/pci/echoaudio/echoaudio_gml.c:	dev_dbg(chip->card->dev, "set_input_auto_mute %d\n", automute);
+sound/pci/echoaudio/echoaudio_gml.c:	chip->digital_in_automute = automute;
+sound/pci/echoaudio/echoaudio_gml.c:	return set_input_clock(chip, chip->input_clock);
+sound/pci/echoaudio/echoaudio_gml.c:	if (chip->bad_board)
+sound/pci/echoaudio/echoaudio_gml.c:	if (snd_BUG_ON(chip->pipe_alloc_mask))
+sound/pci/echoaudio/echoaudio_gml.c:	if (snd_BUG_ON(!(chip->digital_modes & (1 << mode))))
+sound/pci/echoaudio/echoaudio_gml.c:	previous_mode = chip->digital_mode;
+sound/pci/echoaudio/echoaudio_gml.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_gml.c:						 chip->monitor_gain[o][i]);
+sound/pci/echoaudio/echoaudio_gml.c:			set_input_gain(chip, i, chip->input_gain[i]);
+sound/pci/echoaudio/echoaudio_gml.c:			set_output_gain(chip, o, chip->output_gain[o]);
+sound/pci/echoaudio/echoaudio_gml.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_gml.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_gml.c:		switch (chip->sample_rate) {
+sound/pci/echoaudio/echoaudio_gml.c:		switch (chip->sample_rate) {
+sound/pci/echoaudio/echoaudio_gml.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/echoaudio_gml.c:	dev_dbg(chip->card->dev, "set_professional_spdif to %s\n",
+sound/pci/echoaudio/gina20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina20_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/gina20_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/gina20_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/gina20_dsp.c:	chip->dsp_code_to_load = FW_GINA20_DSP;
+sound/pci/echoaudio/gina20_dsp.c:	chip->spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:	chip->clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/gina20_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/gina20_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/gina20_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/gina20_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/gina20_dsp.c:	if (chip->clock_state == clock_state)
+sound/pci/echoaudio/gina20_dsp.c:	if (spdif_status == chip->spdif_status)
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->gd_clock_state = clock_state;
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->gd_spdif_status = spdif_status;
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->gd_resampler_state = 3;	/* magic number - should always be 3 */
+sound/pci/echoaudio/gina20_dsp.c:		chip->clock_state = clock_state;
+sound/pci/echoaudio/gina20_dsp.c:		chip->spdif_status = spdif_status;
+sound/pci/echoaudio/gina20_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/gina20_dsp.c:		chip->clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:		chip->spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:		set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/gina20_dsp.c:		chip->input_clock = clock;
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->gd_clock_state = GD_CLOCK_SPDIFIN;
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->gd_spdif_status = GD_SPDIF_STATUS_NOCHANGE;
+sound/pci/echoaudio/gina20_dsp.c:		chip->clock_state = GD_CLOCK_SPDIFIN;
+sound/pci/echoaudio/gina20_dsp.c:		chip->input_clock = clock;
+sound/pci/echoaudio/gina20_dsp.c:	chip->input_gain[input] = gain;
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->line_in_level[input] = gain;
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/gina20_dsp.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/gina24_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/gina24_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/gina24_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->device_id == DEVICE_ID_56361) {
+sound/pci/echoaudio/gina24_dsp.c:		chip->dsp_code_to_load = FW_GINA24_361_DSP;
+sound/pci/echoaudio/gina24_dsp.c:		chip->digital_modes =
+sound/pci/echoaudio/gina24_dsp.c:		chip->dsp_code_to_load = FW_GINA24_301_DSP;
+sound/pci/echoaudio/gina24_dsp.c:		chip->digital_modes =
+sound/pci/echoaudio/gina24_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/gina24_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/gina24_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/gina24_dsp.c:	chip->digital_in_automute = true;
+sound/pci/echoaudio/gina24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/gina24_dsp.c:	chip->asic_code = asic;
+sound/pci/echoaudio/gina24_dsp.c:		       chip->digital_mode == DIGITAL_MODE_ADAT))
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/gina24_dsp.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/gina24_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/gina24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/gina24_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/gina24_dsp.c:	dev_dbg(chip->card->dev, "set_sample_rate: %d clock %d\n", rate, clock);
+sound/pci/echoaudio/gina24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/gina24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/gina24_dsp.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/gina24_dsp.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/gina24_dsp.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/gina24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->device_id == DEVICE_ID_56301)
+sound/pci/echoaudio/gina24_dsp.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/gina24_dsp.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/gina24_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:		"set_digital_mode to %d\n", chip->digital_mode);
+sound/pci/echoaudio/indigo_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigo_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigo_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigo_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigo_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_DSP;
+sound/pci/echoaudio/indigo_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigo_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigo_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigo_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigo_dsp.c:	if (control_reg != le32_to_cpu(chip->comm_page->control_register)) {
+sound/pci/echoaudio/indigo_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/indigo_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/indigo_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/indigo_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigo_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigo_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigo_express_dsp.c:	old_control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/indigo_express_dsp.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigo_express_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/indigo_express_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/indigo_express_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigo_express_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigo_express_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigodj_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigodj_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_DJ_DSP;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigodj_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigodj_dsp.c:	if (control_reg != le32_to_cpu(chip->comm_page->control_register)) {
+sound/pci/echoaudio/indigodj_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/indigodj_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/indigodj_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigodj_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigodjx_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_DJX_DSP;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigoio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigoio_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_IO_DSP;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/indigoio_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigoio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigoiox_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_IOX_DSP;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/layla20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/layla20_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/layla20_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/layla20_dsp.c:	chip->has_midi = true;
+sound/pci/echoaudio/layla20_dsp.c:	chip->dsp_code_to_load = FW_LAYLA20_DSP;
+sound/pci/echoaudio/layla20_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/layla20_dsp.c:	chip->output_clock_types =
+sound/pci/echoaudio/layla20_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/layla20_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/layla20_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/layla20_dsp.c:	chip->asic_loaded = false;
+sound/pci/echoaudio/layla20_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:				chip->asic_loaded = true;
+sound/pci/echoaudio/layla20_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/layla20_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/layla20_dsp.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/layla20_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/layla20_dsp.c:	dev_dbg(chip->card->dev, "set_sample_rate(%d)\n", rate);
+sound/pci/echoaudio/layla20_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/layla20_dsp.c:		rate = chip->sample_rate;
+sound/pci/echoaudio/layla20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:	chip->input_clock = clock_source;
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->input_clock = cpu_to_le16(clock);
+sound/pci/echoaudio/layla20_dsp.c:		dev_err(chip->card->dev, "set_output_clock wrong clock\n");
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->output_clock = cpu_to_le16(clock);
+sound/pci/echoaudio/layla20_dsp.c:	chip->output_clock = clock;
+sound/pci/echoaudio/layla20_dsp.c:	chip->input_gain[input] = gain;
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->line_in_level[input] = gain;
+sound/pci/echoaudio/layla20_dsp.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/layla20_dsp.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/layla20_dsp.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/layla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/layla24_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/layla24_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/layla24_dsp.c:	chip->has_midi = true;
+sound/pci/echoaudio/layla24_dsp.c:	chip->dsp_code_to_load = FW_LAYLA24_DSP;
+sound/pci/echoaudio/layla24_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_modes =
+sound/pci/echoaudio/layla24_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/layla24_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_in_automute = true;
+sound/pci/echoaudio/layla24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/layla24_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/layla24_dsp.c:	chip->asic_code = FW_LAYLA24_2S_ASIC;
+sound/pci/echoaudio/layla24_dsp.c:		       chip->digital_mode == DIGITAL_MODE_ADAT))
+sound/pci/echoaudio/layla24_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/layla24_dsp.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/layla24_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/layla24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/layla24_dsp.c:		chip->comm_page->sample_rate =
+sound/pci/echoaudio/layla24_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP ? */
+sound/pci/echoaudio/layla24_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/layla24_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/layla24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/layla24_dsp.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/layla24_dsp.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/layla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/layla24_dsp.c:	if (asic != chip->asic_code) {
+sound/pci/echoaudio/layla24_dsp.c:		monitors = kmemdup(chip->comm_page->monitors,
+sound/pci/echoaudio/layla24_dsp.c:		memset(chip->comm_page->monitors, ECHOGAIN_MUTED,
+sound/pci/echoaudio/layla24_dsp.c:			memcpy(chip->comm_page->monitors, monitors,
+sound/pci/echoaudio/layla24_dsp.c:		chip->asic_code = asic;
+sound/pci/echoaudio/layla24_dsp.c:		memcpy(chip->comm_page->monitors, monitors, MONITOR_ARRAY_SIZE);
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/layla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/layla24_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/layla24_dsp.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/layla24_dsp.c:	dev_dbg(chip->card->dev, "set_digital_mode to %d\n", mode);
+sound/pci/echoaudio/mia_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mia_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/mia_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/mia_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/mia_dsp.c:	chip->dsp_code_to_load = FW_MIA_DSP;
+sound/pci/echoaudio/mia_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/mia_dsp.c:		chip->has_midi = true;
+sound/pci/echoaudio/mia_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/mia_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/mia_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/mia_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mia_dsp.c:	if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/mia_dsp.c:	if (control_reg != le32_to_cpu(chip->comm_page->control_register)) {
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/mia_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/mia_dsp.c:	dev_dbg(chip->card->dev, "set_input_clock(%d)\n", clock);
+sound/pci/echoaudio/mia_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/mia_dsp.c:	return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/mia_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/mia_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/mia_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/mia_dsp.c:	dev_dbg(chip->card->dev, "set_professional_spdif %d\n", prof);
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/mia_dsp.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/midi.c:	dev_dbg(chip->card->dev, "enable_midi_input(%d)\n", enable);
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_NORMAL;
+sound/pci/echoaudio/midi.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/midi.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/midi.c:	chip->comm_page->midi_output[0] = bytes;
+sound/pci/echoaudio/midi.c:	memcpy(&chip->comm_page->midi_output[1], data, bytes);
+sound/pci/echoaudio/midi.c:	chip->comm_page->midi_out_free_count = 0;
+sound/pci/echoaudio/midi.c:	dev_dbg(chip->card->dev, "write_midi: %d\n", bytes);
+sound/pci/echoaudio/midi.c:	switch (chip->mtc_state) {
+sound/pci/echoaudio/midi.c:			chip->mtc_state = MIDI_IN_STATE_TS_HIGH;
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_TS_LOW;
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_F1_DATA;
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_NORMAL;
+sound/pci/echoaudio/midi.c:	count = le16_to_cpu(chip->comm_page->midi_input[0]);
+sound/pci/echoaudio/midi.c:		midi_byte = le16_to_cpu(chip->comm_page->midi_input[i]);
+sound/pci/echoaudio/midi.c:		chip->midi_buffer[received++] = (u8)midi_byte;
+sound/pci/echoaudio/midi.c:	chip->midi_in = substream;
+sound/pci/echoaudio/midi.c:	if (up != chip->midi_input_enabled) {
+sound/pci/echoaudio/midi.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:		chip->midi_input_enabled = up;
+sound/pci/echoaudio/midi.c:	chip->midi_in = NULL;
+sound/pci/echoaudio/midi.c:	chip->tinuse = 0;
+sound/pci/echoaudio/midi.c:	chip->midi_full = 0;
+sound/pci/echoaudio/midi.c:	chip->midi_out = substream;
+sound/pci/echoaudio/midi.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/pci/echoaudio/midi.c:	chip->midi_full = 0;
+sound/pci/echoaudio/midi.c:	if (!snd_rawmidi_transmit_empty(chip->midi_out)) {
+sound/pci/echoaudio/midi.c:		bytes = snd_rawmidi_transmit_peek(chip->midi_out, buf,
+sound/pci/echoaudio/midi.c:		dev_dbg(chip->card->dev, "Try to send %d bytes...\n", bytes);
+sound/pci/echoaudio/midi.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/midi.c:			chip->midi_full = 1;
+sound/pci/echoaudio/midi.c:			dev_dbg(chip->card->dev, "%d bytes sent\n", sent);
+sound/pci/echoaudio/midi.c:			snd_rawmidi_transmit_ack(chip->midi_out, sent);
+sound/pci/echoaudio/midi.c:			dev_dbg(chip->card->dev, "Full\n");
+sound/pci/echoaudio/midi.c:			chip->midi_full = 1;
+sound/pci/echoaudio/midi.c:	if (!snd_rawmidi_transmit_empty(chip->midi_out) && chip->tinuse) {
+sound/pci/echoaudio/midi.c:		mod_timer(&chip->timer, jiffies + (time * HZ + 999) / 1000);
+sound/pci/echoaudio/midi.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/midi.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/pci/echoaudio/midi.c:	dev_dbg(chip->card->dev, "snd_echo_midi_output_trigger(%d)\n", up);
+sound/pci/echoaudio/midi.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:		if (!chip->tinuse) {
+sound/pci/echoaudio/midi.c:			timer_setup(&chip->timer, snd_echo_midi_output_write,
+sound/pci/echoaudio/midi.c:			chip->tinuse = 1;
+sound/pci/echoaudio/midi.c:		if (chip->tinuse) {
+sound/pci/echoaudio/midi.c:			chip->tinuse = 0;
+sound/pci/echoaudio/midi.c:			spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:			del_timer_sync(&chip->timer);
+sound/pci/echoaudio/midi.c:			dev_dbg(chip->card->dev, "Timer removed\n");
+sound/pci/echoaudio/midi.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:	if (up && !chip->midi_full)
+sound/pci/echoaudio/midi.c:		snd_echo_midi_output_write(&chip->timer);
+sound/pci/echoaudio/midi.c:	chip->midi_out = NULL;
+sound/pci/echoaudio/midi.c:				   &chip->rmidi)) < 0)
+sound/pci/echoaudio/midi.c:	strcpy(chip->rmidi->name, card->shortname);
+sound/pci/echoaudio/midi.c:	chip->rmidi->private_data = chip;
+sound/pci/echoaudio/midi.c:	snd_rawmidi_set_ops(chip->rmidi, SNDRV_RAWMIDI_STREAM_INPUT,
+sound/pci/echoaudio/midi.c:	snd_rawmidi_set_ops(chip->rmidi, SNDRV_RAWMIDI_STREAM_OUTPUT,
+sound/pci/echoaudio/midi.c:	chip->rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT |
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/mona_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/mona_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/mona_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_modes =
+sound/pci/echoaudio/mona_dsp.c:	if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:		chip->dsp_code_to_load = FW_MONA_361_DSP;
+sound/pci/echoaudio/mona_dsp.c:		chip->dsp_code_to_load = FW_MONA_301_DSP;
+sound/pci/echoaudio/mona_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/mona_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_in_automute = true;
+sound/pci/echoaudio/mona_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/mona_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/mona_dsp.c:	if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:	chip->asic_code = asic;
+sound/pci/echoaudio/mona_dsp.c:	if (chip->device_id == DEVICE_ID_56361) {
+sound/pci/echoaudio/mona_dsp.c:	if (asic != chip->asic_code) {
+sound/pci/echoaudio/mona_dsp.c:		chip->asic_code = asic;
+sound/pci/echoaudio/mona_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/mona_dsp.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/mona_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/mona_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:		if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:	if (asic != chip->asic_code) {
+sound/pci/echoaudio/mona_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		chip->asic_code = asic;
+sound/pci/echoaudio/mona_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/mona_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/mona_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	if (atomic_read(&chip->opencount))
+sound/pci/echoaudio/mona_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/mona_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/mona_dsp.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/mona_dsp.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/mona_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		dev_dbg(chip->card->dev, "Set Mona clock to ADAT\n");
+sound/pci/echoaudio/mona_dsp.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/mona_dsp.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/mona_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/mona_dsp.c:		if (chip->asic_code == FW_MONA_361_1_ASIC96 ||
+sound/pci/echoaudio/mona_dsp.c:		    chip->asic_code == FW_MONA_301_1_ASIC96) {
+sound/pci/echoaudio/mona_dsp.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/mona_dsp.c:	dev_dbg(chip->card->dev, "set_digital_mode to %d\n", mode);
+sound/pci/emu10k1/emu10k1x.c:// definition of the chip-specific record
+sound/pci/emu10k1/emu10k1x.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/emu10k1/emu10k1x.c:	return snd_ac97_mixer(pbus, &ac97, &chip->ac97);
+sound/pci/emu10k1/emu10k1x.c:	outl(0, chip->port + INTE);
+sound/pci/emu10k1/emu10k1x.c:	outl(HCFG_LOCKSOUNDCACHE, chip->port + HCFG);
+sound/pci/emu10k1/emu10k1x.c:	if (chip->irq >= 0)
+sound/pci/emu10k1/emu10k1x.c:		free_irq(chip->irq, chip);
+sound/pci/emu10k1/emu10k1x.c:	release_and_free_resource(chip->res_port);
+sound/pci/emu10k1/emu10k1x.c:	if (chip->dma_buffer.area) {
+sound/pci/emu10k1/emu10k1x.c:		snd_dma_free_pages(&chip->dma_buffer);
+sound/pci/emu10k1/emu10k1x.c:	pci_disable_device(chip->pci);
+sound/pci/emu10k1/emu10k1x.c:	struct emu10k1x_voice *pvoice = chip->voices;
+sound/pci/emu10k1/emu10k1x.c:	status = inl(chip->port + IPR);
+sound/pci/emu10k1/emu10k1x.c:		struct emu10k1x_voice *cap_voice = &chip->capture_voice;
+sound/pci/emu10k1/emu10k1x.c:		if (chip->midi.interrupt)
+sound/pci/emu10k1/emu10k1x.c:			chip->midi.interrupt(chip, status);
+sound/pci/emu10k1/emu10k1x.c:	outl(status, chip->port + IPR);
+sound/pci/emu10k1/emu10k1x.c:	/* dev_dbg(chip->card->dev, "interrupt %08x\n", status); */
+sound/pci/emu10k1/emu10k1x.c:	chip->card = card;
+sound/pci/emu10k1/emu10k1x.c:	chip->pci = pci;
+sound/pci/emu10k1/emu10k1x.c:	chip->irq = -1;
+sound/pci/emu10k1/emu10k1x.c:	spin_lock_init(&chip->emu_lock);
+sound/pci/emu10k1/emu10k1x.c:	spin_lock_init(&chip->voice_lock);
+sound/pci/emu10k1/emu10k1x.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/emu10k1/emu10k1x.c:	if ((chip->res_port = request_region(chip->port, 8,
+sound/pci/emu10k1/emu10k1x.c:			chip->port);
+sound/pci/emu10k1/emu10k1x.c:	chip->irq = pci->irq;
+sound/pci/emu10k1/emu10k1x.c:				4 * 1024, &chip->dma_buffer) < 0) {
+sound/pci/emu10k1/emu10k1x.c:	chip->revision = pci->revision;
+sound/pci/emu10k1/emu10k1x.c:	pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial);
+sound/pci/emu10k1/emu10k1x.c:	pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model);
+sound/pci/emu10k1/emu10k1x.c:	dev_info(card->dev, "Model %04x Rev %08x Serial %08x\n", chip->model,
+sound/pci/emu10k1/emu10k1x.c:		   chip->revision, chip->serial);
+sound/pci/emu10k1/emu10k1x.c:	outl(0, chip->port + INTE);	
+sound/pci/emu10k1/emu10k1x.c:		chip->voices[ch].emu = chip;
+sound/pci/emu10k1/emu10k1x.c:		chip->voices[ch].number = ch;
+sound/pci/emu10k1/emu10k1x.c:			       chip->spdif_bits[0] = 
+sound/pci/emu10k1/emu10k1x.c:			       chip->spdif_bits[1] = 
+sound/pci/emu10k1/emu10k1x.c:			       chip->spdif_bits[2] = 
+sound/pci/emu10k1/emu10k1x.c:	outl(HCFG_LOCKSOUNDCACHE|HCFG_AUDIOENABLE, chip->port+HCFG);
+sound/pci/emu10k1/emu10k1x.c:		card->shortname, chip->port, chip->irq);
+sound/pci/emu10k1/p16v.c:	if (chip->p16v_buffer.area) {
+sound/pci/emu10k1/p16v.c:		snd_dma_free_pages(&chip->p16v_buffer);
+sound/pci/emu10k1/p16v.c:		dev_dbg(chip->card->dev, "period lables free: %p\n",
+sound/pci/emu10k1/p16v.c:			   &chip->p16v_buffer);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Mixer reg %02x set to %02x\n", reg, val);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Mixer reg %02x now is %02x\n", reg, data);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	dev_err(chip->card->dev,
+sound/pci/es1938.c:	dev_err(chip->card->dev, "get_byte timeout: status 0x02%x\n", v);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Reg %02x set to %02x\n", reg, val);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Reg %02x now is %02x\n", reg, val);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1938.c:		dev_dbg(chip->card->dev, "Reg %02x was %02x, set to %02x\n",
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1938.c:	dev_err(chip->card->dev, "ESS Solo-1 reset failed\n");
+sound/pci/es1938.c:	outl(chip->dma2_start, SLIO_REG(chip, AUDIO2DMAADDR));
+sound/pci/es1938.c:	outw(chip->dma2_size, SLIO_REG(chip, AUDIO2DMACOUNT));
+sound/pci/es1938.c:	outl(chip->dma1_start, SLDM_REG(chip, DMAADDR));
+sound/pci/es1938.c:	outw(chip->dma1_size - 1, SLDM_REG(chip, DMACOUNT));
+sound/pci/es1938.c:	outl(chip->dma1_start, SLDM_REG(chip, DMAADDR));
+sound/pci/es1938.c:	chip->last_capture_dmaaddr = chip->dma1_start;
+sound/pci/es1938.c:	outw(chip->dma1_size - 1, SLDM_REG(chip, DMACOUNT));
+sound/pci/es1938.c:		chip->active |= ADC1;
+sound/pci/es1938.c:		chip->active &= ~ADC1;
+sound/pci/es1938.c:		chip->active |= DAC2;
+sound/pci/es1938.c:		chip->active &= ~DAC2;
+sound/pci/es1938.c:		chip->active |= DAC1;
+sound/pci/es1938.c:		chip->active &= ~DAC1;
+sound/pci/es1938.c:	chip->dma1_size = size;
+sound/pci/es1938.c:	chip->dma1_start = runtime->dma_addr;
+sound/pci/es1938.c:	chip->dma1_shift = 2 - mono - is8;
+sound/pci/es1938.c:	chip->dma2_size = size;
+sound/pci/es1938.c:	chip->dma2_start = runtime->dma_addr;
+sound/pci/es1938.c:	chip->dma2_shift = 2 - mono - is8;
+sound/pci/es1938.c:	chip->dma1_size = size;
+sound/pci/es1938.c:	chip->dma1_start = runtime->dma_addr;
+sound/pci/es1938.c:	chip->dma1_shift = 2 - mono - is8;
+sound/pci/es1938.c:	ptr = chip->dma1_size - 1 - new;
+sound/pci/es1938.c:	diff = chip->dma1_start + chip->dma1_size - ptr - count;
+sound/pci/es1938.c:	if (diff > 3 || ptr < chip->dma1_start
+sound/pci/es1938.c:	      || ptr >= chip->dma1_start+chip->dma1_size)
+sound/pci/es1938.c:	  ptr = chip->last_capture_dmaaddr;            /* bad, use last saved */
+sound/pci/es1938.c:	  chip->last_capture_dmaaddr = ptr;            /* good, remember it */
+sound/pci/es1938.c:	ptr -= chip->dma1_start;
+sound/pci/es1938.c:	return ptr >> chip->dma1_shift;
+sound/pci/es1938.c:	ptr = chip->dma2_size - inw(SLIO_REG(chip, AUDIO2DMACOUNT));
+sound/pci/es1938.c:	ptr = inl(SLIO_REG(chip, AUDIO2DMAADDR)) - chip->dma2_start;
+sound/pci/es1938.c:	return ptr >> chip->dma2_shift;
+sound/pci/es1938.c:	ptr = chip->dma1_size - 1 - new;
+sound/pci/es1938.c:	ptr = inl(SLDM_REG(chip, DMAADDR)) - chip->dma1_start;
+sound/pci/es1938.c:	return ptr >> chip->dma1_shift;
+sound/pci/es1938.c:	if (snd_BUG_ON(pos + count > chip->dma1_size))
+sound/pci/es1938.c:	if (pos + count < chip->dma1_size) {
+sound/pci/es1938.c:	if (snd_BUG_ON(pos + count > chip->dma1_size))
+sound/pci/es1938.c:	if (pos + count < chip->dma1_size) {
+sound/pci/es1938.c:	if (chip->playback2_substream)
+sound/pci/es1938.c:	chip->capture_substream = substream;
+sound/pci/es1938.c:		chip->playback1_substream = substream;
+sound/pci/es1938.c:		if (chip->capture_substream)
+sound/pci/es1938.c:		chip->playback2_substream = substream;
+sound/pci/es1938.c:	chip->capture_substream = NULL;
+sound/pci/es1938.c:		chip->playback1_substream = NULL;
+sound/pci/es1938.c:		chip->playback2_substream = NULL;
+sound/pci/es1938.c:	if ((err = snd_pcm_new(chip->card, "es-1938-1946", device, 2, 1, &pcm)) < 0)
+sound/pci/es1938.c:					      &chip->pci->dev,
+sound/pci/es1938.c:	chip->pcm = pcm;
+sound/pci/es1938.c:	chip->master_volume = NULL;
+sound/pci/es1938.c:	chip->master_switch = NULL;
+sound/pci/es1938.c:	chip->hw_volume = NULL;
+sound/pci/es1938.c:	chip->hw_switch = NULL;
+sound/pci/es1938.c:	pci_set_master(chip->pci);
+sound/pci/es1938.c:	pci_write_config_word(chip->pci, SL_PCI_LEGACYCONTROL, 0x805f);
+sound/pci/es1938.c:	pci_write_config_word(chip->pci, SL_PCI_DDMACONTROL, chip->ddma_port | 1);
+sound/pci/es1938.c:	pci_write_config_dword(chip->pci, SL_PCI_CONFIG, 0);
+sound/pci/es1938.c:	for (s = saved_regs, d = chip->saved_regs; *s; s++, d++)
+sound/pci/es1938.c:	if (chip->irq >= 0) {
+sound/pci/es1938.c:		free_irq(chip->irq, chip);
+sound/pci/es1938.c:		chip->irq = -1;
+sound/pci/es1938.c:	chip->irq = pci->irq;
+sound/pci/es1938.c:	for (s = saved_regs, d = chip->saved_regs; *s; s++, d++) {
+sound/pci/es1938.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/es1938.c:		dev_err(chip->card->dev,
+sound/pci/es1938.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/es1938.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/es1938.c:	gp->io = chip->game_port;
+sound/pci/es1938.c:	if (chip->gameport) {
+sound/pci/es1938.c:		gameport_unregister_port(chip->gameport);
+sound/pci/es1938.c:		chip->gameport = NULL;
+sound/pci/es1938.c:	if (chip->rmidi)
+sound/pci/es1938.c:	if (chip->irq >= 0)
+sound/pci/es1938.c:		free_irq(chip->irq, chip);
+sound/pci/es1938.c:	pci_release_regions(chip->pci);
+sound/pci/es1938.c:	pci_disable_device(chip->pci);
+sound/pci/es1938.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/es1938.c:	spin_lock_init(&chip->mixer_lock);
+sound/pci/es1938.c:	chip->card = card;
+sound/pci/es1938.c:	chip->pci = pci;
+sound/pci/es1938.c:	chip->irq = -1;
+sound/pci/es1938.c:	chip->io_port = pci_resource_start(pci, 0);
+sound/pci/es1938.c:	chip->sb_port = pci_resource_start(pci, 1);
+sound/pci/es1938.c:	chip->vc_port = pci_resource_start(pci, 2);
+sound/pci/es1938.c:	chip->mpu_port = pci_resource_start(pci, 3);
+sound/pci/es1938.c:	chip->game_port = pci_resource_start(pci, 4);
+sound/pci/es1938.c:	chip->irq = pci->irq;
+sound/pci/es1938.c:		   chip->io_port, chip->sb_port, chip->vc_port, chip->mpu_port, chip->game_port);
+sound/pci/es1938.c:	chip->ddma_port = chip->vc_port + 0x00;		/* fix from Thomas Sailer */
+sound/pci/es1938.c:	dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		if (chip->active & ADC1)
+sound/pci/es1938.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/es1938.c:		else if (chip->active & DAC1)
+sound/pci/es1938.c:			snd_pcm_period_elapsed(chip->playback2_substream);
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		if (chip->active & DAC2)
+sound/pci/es1938.c:			snd_pcm_period_elapsed(chip->playback1_substream);
+sound/pci/es1938.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->hw_switch->id);
+sound/pci/es1938.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->hw_volume->id);
+sound/pci/es1938.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/es1938.c:				       &chip->master_switch->id);
+sound/pci/es1938.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/es1938.c:				       &chip->master_volume->id);
+sound/pci/es1938.c:		if (chip->rmidi) {
+sound/pci/es1938.c:			snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/es1938.c:	card = chip->card;
+sound/pci/es1938.c:				chip->master_volume = kctl;
+sound/pci/es1938.c:				chip->master_switch = kctl;
+sound/pci/es1938.c:				chip->hw_volume = kctl;
+sound/pci/es1938.c:				chip->hw_switch = kctl;
+sound/pci/es1938.c:		chip->revision,
+sound/pci/es1938.c:		chip->irq);
+sound/pci/es1938.c:				chip->mpu_port,
+sound/pci/es1938.c:				-1, &chip->rmidi) < 0) {
+sound/pci/es1968.c:	outw(reg, chip->io_port + ESM_INDEX);
+sound/pci/es1968.c:	outw(data, chip->io_port + ESM_DATA);
+sound/pci/es1968.c:	chip->maestro_map[reg] = data;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:		outw(reg, chip->io_port + ESM_INDEX);
+sound/pci/es1968.c:		chip->maestro_map[reg] = inw(chip->io_port + ESM_DATA);
+sound/pci/es1968.c:	return chip->maestro_map[reg];
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:		if (!(inb(chip->io_port + ESM_AC97_INDEX) & 1))
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "ac97 timeout\n");
+sound/pci/es1968.c:		if (!(inb(chip->io_port + ESM_AC97_INDEX) & 1))
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "ac97 timeout\n");
+sound/pci/es1968.c:	outw(val, chip->io_port + ESM_AC97_DATA);
+sound/pci/es1968.c:	outb(reg, chip->io_port + ESM_AC97_INDEX);
+sound/pci/es1968.c:	outb(reg | 0x80, chip->io_port + ESM_AC97_INDEX);
+sound/pci/es1968.c:		data = inw(chip->io_port + ESM_AC97_DATA);
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "APU register select failed. (Timeout)\n");
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "APU register set probably failed (Timeout)!\n");
+sound/pci/es1968.c:	chip->apu_map[channel][reg] = data;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outl(reg, chip->io_port + ASSP_INDEX);
+sound/pci/es1968.c:	outl(value, chip->io_port + ASSP_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outl(reg, chip->io_port + ASSP_INDEX);
+sound/pci/es1968.c:	value = inl(chip->io_port + ASSP_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(reg, chip->io_port + WC_INDEX);
+sound/pci/es1968.c:	outw(value, chip->io_port + WC_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(reg, chip->io_port + WC_INDEX);
+sound/pci/es1968.c:	value = inw(chip->io_port + WC_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:		if (chip->bob_freq > (ESS_SYSCLK >> (prescale + 9)))
+sound/pci/es1968.c:		if (chip->bob_freq >
+sound/pci/es1968.c:	chip->bobclient++;
+sound/pci/es1968.c:	if (chip->bobclient == 1) {
+sound/pci/es1968.c:		chip->bob_freq = freq;
+sound/pci/es1968.c:	} else if (chip->bob_freq < freq) {
+sound/pci/es1968.c:		chip->bob_freq = freq;
+sound/pci/es1968.c:	chip->bobclient--;
+sound/pci/es1968.c:	if (chip->bobclient <= 0)
+sound/pci/es1968.c:	else if (chip->bob_freq > ESM_BOB_FREQ) {
+sound/pci/es1968.c:		list_for_each_entry(es, &chip->substream_list, list) {
+sound/pci/es1968.c:		if (max_freq != chip->bob_freq) {
+sound/pci/es1968.c:			chip->bob_freq = max_freq;
+sound/pci/es1968.c:	u32 rate = (freq << 16) / chip->clock;
+sound/pci/es1968.c:	spin_lock(&chip->reg_lock);
+sound/pci/es1968.c:	spin_unlock(&chip->reg_lock);
+sound/pci/es1968.c:	spin_lock(&chip->reg_lock);
+sound/pci/es1968.c:	spin_unlock(&chip->reg_lock);
+sound/pci/es1968.c:		pa -= chip->dma.addr;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(1, chip->io_port + 0x04);
+sound/pci/es1968.c:	outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	pa -= chip->dma.addr;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(1, chip->io_port + 0x04);
+sound/pci/es1968.c:	outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock(&chip->substream_lock);
+sound/pci/es1968.c:	spin_unlock(&chip->substream_lock);
+sound/pci/es1968.c:	mutex_lock(&chip->memory_mutex);
+sound/pci/es1968.c:	list_for_each_entry(buf, &chip->buf_list, list) {
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	mutex_lock(&chip->memory_mutex);
+sound/pci/es1968.c:	list_for_each_entry(buf, &chip->buf_list, list) {
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:			mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	mutex_lock(&chip->memory_mutex);
+sound/pci/es1968.c:	if (buf->list.prev != &chip->buf_list) {
+sound/pci/es1968.c:	if (buf->list.next != &chip->buf_list) {
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	if (! chip->dma.area)
+sound/pci/es1968.c:	snd_dma_free_pages(&chip->dma);
+sound/pci/es1968.c:	while ((p = chip->buf_list.next) != &chip->buf_list) {
+sound/pci/es1968.c:					   &chip->pci->dev,
+sound/pci/es1968.c:					   chip->total_bufsize, &chip->dma);
+sound/pci/es1968.c:	if (err < 0 || ! chip->dma.area) {
+sound/pci/es1968.c:		dev_err(chip->card->dev,
+sound/pci/es1968.c:			   chip->total_bufsize);
+sound/pci/es1968.c:	if ((chip->dma.addr + chip->dma.bytes - 1) & ~((1 << 28) - 1)) {
+sound/pci/es1968.c:		snd_dma_free_pages(&chip->dma);
+sound/pci/es1968.c:		dev_err(chip->card->dev, "DMA buffer beyond 256MB.\n");
+sound/pci/es1968.c:	INIT_LIST_HEAD(&chip->buf_list);
+sound/pci/es1968.c:	memset(chip->dma.area, 0, ESM_MEM_ALIGN);
+sound/pci/es1968.c:	chunk->buf = chip->dma;
+sound/pci/es1968.c:	list_add(&chunk->list, &chip->buf_list);
+sound/pci/es1968.c:		dev_dbg(chip->card->dev,
+sound/pci/es1968.c:		if (chip->apu[apu] == ESM_APU_FREE &&
+sound/pci/es1968.c:		    chip->apu[apu + 1] == ESM_APU_FREE) {
+sound/pci/es1968.c:			chip->apu[apu] = chip->apu[apu + 1] = type;
+sound/pci/es1968.c:	chip->apu[apu] = chip->apu[apu + 1] = ESM_APU_FREE;
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	list_add(&es->list, &chip->substream_list);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	list_add(&es->list, &chip->substream_list);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	if (chip->clock == 0)
+sound/pci/es1968.c:		chip->clock = 48000; /* default clock value */
+sound/pci/es1968.c:		dev_err(chip->card->dev, "Hmm, cannot find empty APU pair!?\n");
+sound/pci/es1968.c:		dev_warn(chip->card->dev,
+sound/pci/es1968.c:			 chip->clock);
+sound/pci/es1968.c:	pa = (unsigned int)((memory->buf.addr - chip->dma.addr) >> 1);
+sound/pci/es1968.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	outw(1, chip->io_port + 0x04); /* clear WP interrupts */
+sound/pci/es1968.c:	outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ); /* enable WP ints */
+sound/pci/es1968.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	snd_es1968_apu_set_freq(chip, apu, ((unsigned int)48000 << 16) / chip->clock); /* 48000 Hz */
+sound/pci/es1968.c:	chip->in_measurement = 1;
+sound/pci/es1968.c:	chip->measure_apu = apu;
+sound/pci/es1968.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	chip->in_measurement = 0;
+sound/pci/es1968.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	offset += chip->measure_count * (CLOCK_MEASURE_BUFSIZE/2);
+sound/pci/es1968.c:		dev_err(chip->card->dev, "?? calculation error..\n");
+sound/pci/es1968.c:				chip->clock = (chip->clock * offset) / 48000;
+sound/pci/es1968.c:		dev_info(chip->card->dev, "clocking to %d\n", chip->clock);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FC, chip->dma.addr >> 12);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FD, chip->dma.addr >> 12);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FE, chip->dma.addr >> 12);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FF, chip->dma.addr >> 12);
+sound/pci/es1968.c:	if ((err = snd_pcm_new(chip->card, "ESS Maestro", device,
+sound/pci/es1968.c:			       chip->playback_streams,
+sound/pci/es1968.c:			       chip->capture_streams, &pcm)) < 0)
+sound/pci/es1968.c:	chip->pcm = pcm;
+sound/pci/es1968.c:		spin_unlock(&chip->substream_lock);
+sound/pci/es1968.c:		spin_lock(&chip->substream_lock);
+sound/pci/es1968.c:	x = inb(chip->io_port + 0x1c) & 0xee;
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1c);
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1d);
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1e);
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1f);
+sound/pci/es1968.c:	if (chip->in_suspend)
+sound/pci/es1968.c:	if (! chip->master_switch || ! chip->master_volume)
+sound/pci/es1968.c:	val = snd_ac97_read(chip->ac97, AC97_MASTER);
+sound/pci/es1968.c:	if (snd_ac97_update(chip->ac97, AC97_MASTER, val))
+sound/pci/es1968.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/es1968.c:			       &chip->master_volume->id);
+sound/pci/es1968.c:	if (!chip->input_dev)
+sound/pci/es1968.c:		input_report_key(chip->input_dev, val, 1);
+sound/pci/es1968.c:		input_sync(chip->input_dev);
+sound/pci/es1968.c:		input_report_key(chip->input_dev, val, 0);
+sound/pci/es1968.c:		input_sync(chip->input_dev);
+sound/pci/es1968.c:	if (!(event = inb(chip->io_port + 0x1A)))
+sound/pci/es1968.c:	outw(inw(chip->io_port + 4) & 1, chip->io_port + 4);
+sound/pci/es1968.c:		schedule_work(&chip->hwvol_work);
+sound/pci/es1968.c:	outb(0xFF, chip->io_port + 0x1A);
+sound/pci/es1968.c:	if ((event & ESM_MPU401_IRQ) && chip->rmidi) {
+sound/pci/es1968.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/es1968.c:		spin_lock(&chip->substream_lock);
+sound/pci/es1968.c:		list_for_each_entry(es, &chip->substream_list, list) {
+sound/pci/es1968.c:		spin_unlock(&chip->substream_lock);
+sound/pci/es1968.c:		if (chip->in_measurement) {
+sound/pci/es1968.c:			unsigned int curp = __apu_get_register(chip, chip->measure_apu, 5);
+sound/pci/es1968.c:			if (curp < chip->measure_lastpos)
+sound/pci/es1968.c:				chip->measure_count++;
+sound/pci/es1968.c:			chip->measure_lastpos = curp;
+sound/pci/es1968.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/es1968.c:	if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97)) < 0)
+sound/pci/es1968.c:	chip->master_switch = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/es1968.c:	chip->master_volume = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/es1968.c:	unsigned long ioaddr = chip->io_port;
+sound/pci/es1968.c:	pci_read_config_word(chip->pci, 0x58, &w);	/* something magical with gpio and bus arb. */
+sound/pci/es1968.c:	pci_read_config_dword(chip->pci, PCI_SUBSYSTEM_VENDOR_ID, &vend);
+sound/pci/es1968.c:	dev_info(chip->card->dev, "trying software reset\n");
+sound/pci/es1968.c:	     chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	outw(0x0000, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	struct pci_dev *pci = chip->pci;
+sound/pci/es1968.c:	unsigned long iobase  = chip->io_port;
+sound/pci/es1968.c:	if (chip->rmidi)
+sound/pci/es1968.c:	outb(w, chip->io_port + 0x1A);
+sound/pci/es1968.c:	outw(w, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	if (! chip->do_pm)
+sound/pci/es1968.c:	chip->in_suspend = 1;
+sound/pci/es1968.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/es1968.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/es1968.c:	if (! chip->do_pm)
+sound/pci/es1968.c:	if (chip->dma.addr) {
+sound/pci/es1968.c:		wave_set_register(chip, 0x01FC, chip->dma.addr >> 12);
+sound/pci/es1968.c:	snd_ac97_resume(chip->ac97);
+sound/pci/es1968.c:	list_for_each_entry(es, &chip->substream_list, list) {
+sound/pci/es1968.c:	if (chip->bobclient)
+sound/pci/es1968.c:	chip->in_suspend = 0;
+sound/pci/es1968.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/es1968.c:		dev_err(chip->card->dev,
+sound/pci/es1968.c:	pci_read_config_word(chip->pci, ESM_LEGACY_AUDIO_CONTROL, &val);
+sound/pci/es1968.c:	pci_write_config_word(chip->pci, ESM_LEGACY_AUDIO_CONTROL, val | 0x04);
+sound/pci/es1968.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/es1968.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/es1968.c:	if (chip->gameport) {
+sound/pci/es1968.c:		struct resource *r = gameport_get_port_data(chip->gameport);
+sound/pci/es1968.c:		gameport_unregister_port(chip->gameport);
+sound/pci/es1968.c:		chip->gameport = NULL;
+sound/pci/es1968.c:	snprintf(chip->phys, sizeof(chip->phys), "pci-%s/input0",
+sound/pci/es1968.c:		 pci_name(chip->pci));
+sound/pci/es1968.c:	input_dev->name = chip->card->driver;
+sound/pci/es1968.c:	input_dev->phys = chip->phys;
+sound/pci/es1968.c:	input_dev->id.vendor  = chip->pci->vendor;
+sound/pci/es1968.c:	input_dev->id.product = chip->pci->device;
+sound/pci/es1968.c:	input_dev->dev.parent = &chip->pci->dev;
+sound/pci/es1968.c:	chip->input_dev = input_dev;
+sound/pci/es1968.c:	outw(val, chip->io_port + GPIO_DATA);
+sound/pci/es1968.c:	u16 val = inw(chip->io_port + GPIO_DATA);
+sound/pci/es1968.c:	unsigned long io = chip->io_port + GPIO_DATA;
+sound/pci/es1968.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/es1968.c:	if (chip->input_dev)
+sound/pci/es1968.c:		input_unregister_device(chip->input_dev);
+sound/pci/es1968.c:	if (chip->io_port) {
+sound/pci/es1968.c:		if (chip->irq >= 0)
+sound/pci/es1968.c:			synchronize_irq(chip->irq);
+sound/pci/es1968.c:		outw(1, chip->io_port + 0x04); /* clear WP interrupts */
+sound/pci/es1968.c:		outw(0, chip->io_port + ESM_PORT_HOST_IRQ); /* disable IRQ */
+sound/pci/es1968.c:	snd_tea575x_exit(&chip->tea);
+sound/pci/es1968.c:	v4l2_device_unregister(&chip->v4l2_dev);
+sound/pci/es1968.c:	if (chip->irq >= 0)
+sound/pci/es1968.c:		free_irq(chip->irq, chip);
+sound/pci/es1968.c:	pci_release_regions(chip->pci);
+sound/pci/es1968.c:	pci_disable_device(chip->pci);
+sound/pci/es1968.c:	chip->type = chip_type;
+sound/pci/es1968.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/es1968.c:	spin_lock_init(&chip->substream_lock);
+sound/pci/es1968.c:	INIT_LIST_HEAD(&chip->buf_list);
+sound/pci/es1968.c:	INIT_LIST_HEAD(&chip->substream_list);
+sound/pci/es1968.c:	mutex_init(&chip->memory_mutex);
+sound/pci/es1968.c:	INIT_WORK(&chip->hwvol_work, es1968_update_hw_volume);
+sound/pci/es1968.c:	chip->card = card;
+sound/pci/es1968.c:	chip->pci = pci;
+sound/pci/es1968.c:	chip->irq = -1;
+sound/pci/es1968.c:	chip->total_bufsize = total_bufsize;	/* in bytes */
+sound/pci/es1968.c:	chip->playback_streams = play_streams;
+sound/pci/es1968.c:	chip->capture_streams = capt_streams;
+sound/pci/es1968.c:	chip->io_port = pci_resource_start(pci, 0);
+sound/pci/es1968.c:	chip->irq = pci->irq;
+sound/pci/es1968.c:		chip->maestro_map[i] = 0;
+sound/pci/es1968.c:		chip->apu[i] = ESM_APU_FREE;
+sound/pci/es1968.c:		pci_read_config_word(chip->pci, PCI_SUBSYSTEM_VENDOR_ID, &vend);
+sound/pci/es1968.c:			if (chip->type == pm_whitelist[i].type &&
+sound/pci/es1968.c:	chip->do_pm = do_pm;
+sound/pci/es1968.c:	if (chip->pci->subsystem_vendor != 0x125d)
+sound/pci/es1968.c:	err = v4l2_device_register(&pci->dev, &chip->v4l2_dev);
+sound/pci/es1968.c:	chip->tea.v4l2_dev = &chip->v4l2_dev;
+sound/pci/es1968.c:	chip->tea.private_data = chip;
+sound/pci/es1968.c:	chip->tea.radio_nr = radio_nr;
+sound/pci/es1968.c:	chip->tea.ops = &snd_es1968_tea_ops;
+sound/pci/es1968.c:	sprintf(chip->tea.bus_info, "PCI:%s", pci_name(pci));
+sound/pci/es1968.c:		chip->tea575x_tuner = i;
+sound/pci/es1968.c:		if (!snd_tea575x_init(&chip->tea, THIS_MODULE)) {
+sound/pci/es1968.c:			strlcpy(chip->tea.card, get_tea575x_gpio(chip)->name,
+sound/pci/es1968.c:				sizeof(chip->tea.card));
+sound/pci/es1968.c:	switch (chip->type) {
+sound/pci/es1968.c:		pci_read_config_word(chip->pci, PCI_SUBSYSTEM_VENDOR_ID, &vend);
+sound/pci/es1968.c:			if (chip->type == mpu_blacklist[i].type &&
+sound/pci/es1968.c:					       chip->io_port + ESM_MPU401_PORT,
+sound/pci/es1968.c:					       -1, &chip->rmidi)) < 0) {
+sound/pci/es1968.c:	chip->clock = clock[dev];
+sound/pci/es1968.c:	if (! chip->clock)
+sound/pci/es1968.c:		card->shortname, chip->io_port, chip->irq);
+sound/pci/fm801.c:#define fm801_writew(chip,reg,value)	outw((value), chip->port + FM801_##reg)
+sound/pci/fm801.c:#define fm801_readw(chip,reg)		inw(chip->port + FM801_##reg)
+sound/pci/fm801.c:#define fm801_writel(chip,reg,value)	outl((value), chip->port + FM801_##reg)
+sound/pci/fm801.c:	outw(value, chip->port + offset);
+sound/pci/fm801.c:	return inw(chip->port + offset);
+sound/pci/fm801.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/fm801.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface is busy (1)\n");
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface #%d is busy (2)\n",
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface is busy (1)\n");
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface #%d is busy (2)\n",
+sound/pci/fm801.c:		dev_err(chip->card->dev,
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->ply_ctrl &= ~(FM801_BUF1_LAST |
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_START |
+sound/pci/fm801.c:		chip->ply_ctrl &= ~(FM801_START | FM801_PAUSE);
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_PAUSE;
+sound/pci/fm801.c:		chip->ply_ctrl &= ~FM801_PAUSE;
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	fm801_writew(chip, PLY_CTRL, chip->ply_ctrl);
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->cap_ctrl &= ~(FM801_BUF1_LAST |
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_START |
+sound/pci/fm801.c:		chip->cap_ctrl &= ~(FM801_START | FM801_PAUSE);
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_PAUSE;
+sound/pci/fm801.c:		chip->cap_ctrl &= ~FM801_PAUSE;
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	fm801_writew(chip, CAP_CTRL, chip->cap_ctrl);
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	chip->ply_size = snd_pcm_lib_buffer_bytes(substream);
+sound/pci/fm801.c:	chip->ply_count = snd_pcm_lib_period_bytes(substream);
+sound/pci/fm801.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->ply_ctrl &= ~(FM801_START | FM801_16BIT |
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_16BIT;
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_STEREO;
+sound/pci/fm801.c:			chip->ply_ctrl |= FM801_CHANNELS_4;
+sound/pci/fm801.c:			chip->ply_ctrl |= FM801_CHANNELS_6;
+sound/pci/fm801.c:	chip->ply_ctrl |= snd_fm801_rate_bits(runtime->rate) << FM801_RATE_SHIFT;
+sound/pci/fm801.c:	chip->ply_buf = 0;
+sound/pci/fm801.c:	fm801_writew(chip, PLY_CTRL, chip->ply_ctrl);
+sound/pci/fm801.c:	fm801_writew(chip, PLY_COUNT, chip->ply_count - 1);
+sound/pci/fm801.c:	chip->ply_buffer = runtime->dma_addr;
+sound/pci/fm801.c:	chip->ply_pos = 0;
+sound/pci/fm801.c:	fm801_writel(chip, PLY_BUF1, chip->ply_buffer);
+sound/pci/fm801.c:		     chip->ply_buffer + (chip->ply_count % chip->ply_size));
+sound/pci/fm801.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->cap_size = snd_pcm_lib_buffer_bytes(substream);
+sound/pci/fm801.c:	chip->cap_count = snd_pcm_lib_period_bytes(substream);
+sound/pci/fm801.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->cap_ctrl &= ~(FM801_START | FM801_16BIT |
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_16BIT;
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_STEREO;
+sound/pci/fm801.c:	chip->cap_ctrl |= snd_fm801_rate_bits(runtime->rate) << FM801_RATE_SHIFT;
+sound/pci/fm801.c:	chip->cap_buf = 0;
+sound/pci/fm801.c:	fm801_writew(chip, CAP_CTRL, chip->cap_ctrl);
+sound/pci/fm801.c:	fm801_writew(chip, CAP_COUNT, chip->cap_count - 1);
+sound/pci/fm801.c:	chip->cap_buffer = runtime->dma_addr;
+sound/pci/fm801.c:	chip->cap_pos = 0;
+sound/pci/fm801.c:	fm801_writel(chip, CAP_BUF1, chip->cap_buffer);
+sound/pci/fm801.c:		     chip->cap_buffer + (chip->cap_count % chip->cap_size));
+sound/pci/fm801.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	if (!(chip->ply_ctrl & FM801_START))
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:	ptr = chip->ply_pos + (chip->ply_count - 1) - fm801_readw(chip, PLY_COUNT);
+sound/pci/fm801.c:		ptr += chip->ply_count;
+sound/pci/fm801.c:		ptr %= chip->ply_size;
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	if (!(chip->cap_ctrl & FM801_START))
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:	ptr = chip->cap_pos + (chip->cap_count - 1) - fm801_readw(chip, CAP_COUNT);
+sound/pci/fm801.c:		ptr += chip->cap_count;
+sound/pci/fm801.c:		ptr %= chip->cap_size;
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	if (chip->pcm && (status & FM801_IRQ_PLAYBACK) && chip->playback_substream) {
+sound/pci/fm801.c:		spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->ply_buf++;
+sound/pci/fm801.c:		chip->ply_pos += chip->ply_count;
+sound/pci/fm801.c:		chip->ply_pos %= chip->ply_size;
+sound/pci/fm801.c:		tmp = chip->ply_pos + chip->ply_count;
+sound/pci/fm801.c:		tmp %= chip->ply_size;
+sound/pci/fm801.c:		if (chip->ply_buf & 1)
+sound/pci/fm801.c:			fm801_writel(chip, PLY_BUF1, chip->ply_buffer + tmp);
+sound/pci/fm801.c:			fm801_writel(chip, PLY_BUF2, chip->ply_buffer + tmp);
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/fm801.c:	if (chip->pcm && (status & FM801_IRQ_CAPTURE) && chip->capture_substream) {
+sound/pci/fm801.c:		spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->cap_buf++;
+sound/pci/fm801.c:		chip->cap_pos += chip->cap_count;
+sound/pci/fm801.c:		chip->cap_pos %= chip->cap_size;
+sound/pci/fm801.c:		tmp = chip->cap_pos + chip->cap_count;
+sound/pci/fm801.c:		tmp %= chip->cap_size;
+sound/pci/fm801.c:		if (chip->cap_buf & 1)
+sound/pci/fm801.c:			fm801_writel(chip, CAP_BUF1, chip->cap_buffer + tmp);
+sound/pci/fm801.c:			fm801_writel(chip, CAP_BUF2, chip->cap_buffer + tmp);
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/fm801.c:	if (chip->rmidi && (status & FM801_IRQ_MPU))
+sound/pci/fm801.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/fm801.c:	chip->playback_substream = substream;
+sound/pci/fm801.c:	if (chip->multichannel) {
+sound/pci/fm801.c:	chip->capture_substream = substream;
+sound/pci/fm801.c:	chip->playback_substream = NULL;
+sound/pci/fm801.c:	chip->capture_substream = NULL;
+sound/pci/fm801.c:	struct pci_dev *pdev = to_pci_dev(chip->dev);
+sound/pci/fm801.c:	if ((err = snd_pcm_new(chip->card, "FM801", device, 1, 1, &pcm)) < 0)
+sound/pci/fm801.c:	chip->pcm = pcm;
+sound/pci/fm801.c:					      chip->multichannel ? 128*1024 : 64*1024, 128*1024);
+sound/pci/fm801.c:				     chip->multichannel ? 6 : 2, 0,
+sound/pci/fm801.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->ac97_bus = NULL;
+sound/pci/fm801.c:		chip->ac97 = NULL;
+sound/pci/fm801.c:		chip->ac97_sec = NULL;
+sound/pci/fm801.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/fm801.c:	chip->ac97_bus->private_free = snd_fm801_mixer_free_ac97_bus;
+sound/pci/fm801.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/fm801.c:	if (chip->secondary) {
+sound/pci/fm801.c:		ac97.addr = chip->secondary_addr;
+sound/pci/fm801.c:		if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_sec)) < 0)
+sound/pci/fm801.c:		err = snd_ctl_add(chip->card,
+sound/pci/fm801.c:	if (chip->multichannel) {
+sound/pci/fm801.c:			err = snd_ctl_add(chip->card,
+sound/pci/fm801.c:	if (chip->multichannel) {
+sound/pci/fm801.c:		if (chip->secondary_addr) {
+sound/pci/fm801.c:			wait_for_codec(chip, chip->secondary_addr,
+sound/pci/fm801.c:						chip->secondary = 1;
+sound/pci/fm801.c:						chip->secondary_addr = i;
+sound/pci/fm801.c:	if (chip->irq < 0)
+sound/pci/fm801.c:	if (chip->irq < 0)
+sound/pci/fm801.c:	devm_free_irq(chip->dev, chip->irq, chip);
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
+sound/pci/fm801.c:		snd_tea575x_exit(&chip->tea);
+sound/pci/fm801.c:		v4l2_device_unregister(&chip->v4l2_dev);
+sound/pci/fm801.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/fm801.c:	chip->card = card;
+sound/pci/fm801.c:	chip->dev = &pci->dev;
+sound/pci/fm801.c:	chip->irq = -1;
+sound/pci/fm801.c:	chip->tea575x_tuner = tea575x_tuner;
+sound/pci/fm801.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/fm801.c:		chip->multichannel = 1;
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_ONLY)) {
+sound/pci/fm801.c:			dev_info(chip->card->dev,
+sound/pci/fm801.c:			chip->tea575x_tuner = 3 | TUNER_ONLY;
+sound/pci/fm801.c:	if ((chip->tea575x_tuner & TUNER_ONLY) == 0) {
+sound/pci/fm801.c:		chip->irq = pci->irq;
+sound/pci/fm801.c:	err = v4l2_device_register(&pci->dev, &chip->v4l2_dev);
+sound/pci/fm801.c:	chip->tea.v4l2_dev = &chip->v4l2_dev;
+sound/pci/fm801.c:	chip->tea.radio_nr = radio_nr;
+sound/pci/fm801.c:	chip->tea.private_data = chip;
+sound/pci/fm801.c:	chip->tea.ops = &snd_fm801_tea_ops;
+sound/pci/fm801.c:	sprintf(chip->tea.bus_info, "PCI:%s", pci_name(pci));
+sound/pci/fm801.c:	if ((chip->tea575x_tuner & TUNER_TYPE_MASK) > 0 &&
+sound/pci/fm801.c:	    (chip->tea575x_tuner & TUNER_TYPE_MASK) < 4) {
+sound/pci/fm801.c:		if (snd_tea575x_init(&chip->tea, THIS_MODULE)) {
+sound/pci/fm801.c:	} else if ((chip->tea575x_tuner & TUNER_TYPE_MASK) == 0) {
+sound/pci/fm801.c:		unsigned int tuner_only = chip->tea575x_tuner & TUNER_ONLY;
+sound/pci/fm801.c:			chip->tea575x_tuner = tea575x_tuner;
+sound/pci/fm801.c:			if (!snd_tea575x_init(&chip->tea, THIS_MODULE)) {
+sound/pci/fm801.c:			chip->tea575x_tuner = TUNER_DISABLED;
+sound/pci/fm801.c:		chip->tea575x_tuner |= tuner_only;
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
+sound/pci/fm801.c:		strlcpy(chip->tea.card, get_tea575x_gpio(chip)->name,
+sound/pci/fm801.c:			sizeof(chip->tea.card));
+sound/pci/fm801.c:	strcat(card->shortname, chip->multichannel ? "AU" : "AS");
+sound/pci/fm801.c:		card->shortname, chip->port, chip->irq);
+sound/pci/fm801.c:	if (chip->tea575x_tuner & TUNER_ONLY)
+sound/pci/fm801.c:				       chip->port + FM801_MPU401_DATA,
+sound/pci/fm801.c:				       -1, &chip->rmidi)) < 0) {
+sound/pci/fm801.c:	if ((err = snd_opl3_create(card, chip->port + FM801_OPL3_BANK0,
+sound/pci/fm801.c:				   chip->port + FM801_OPL3_BANK1,
+sound/pci/fm801.c:		chip->saved_regs[i] = fm801_ioread16(chip, saved_regs[i]);
+sound/pci/fm801.c:	if (chip->tea575x_tuner & TUNER_ONLY) {
+sound/pci/fm801.c:		snd_ac97_suspend(chip->ac97);
+sound/pci/fm801.c:		snd_ac97_suspend(chip->ac97_sec);
+sound/pci/fm801.c:	if (chip->tea575x_tuner & TUNER_ONLY) {
+sound/pci/fm801.c:		snd_ac97_resume(chip->ac97);
+sound/pci/fm801.c:		snd_ac97_resume(chip->ac97_sec);
+sound/pci/fm801.c:		fm801_iowrite16(chip, saved_regs[i], chip->saved_regs[i]);
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_DISABLED))
+sound/pci/fm801.c:		snd_tea575x_set_freq(&chip->tea);
+sound/pci/hda/hda_controller.c:	mutex_lock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_controller.c:	if ((chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND) &&
+sound/pci/hda/hda_controller.c:	    stream_tag > chip->capture_streams)
+sound/pci/hda/hda_controller.c:		stream_tag -= chip->capture_streams;
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_OLD_SSYNC)
+sound/pci/hda/hda_controller.c:	if (chip->get_position[stream])
+sound/pci/hda/hda_controller.c:		pos = chip->get_position[stream](chip, azx_dev);
+sound/pci/hda/hda_controller.c:		if (chip->get_delay[stream])
+sound/pci/hda/hda_controller.c:			delay += chip->get_delay[stream](chip, azx_dev, pos);
+sound/pci/hda/hda_controller.c:			dev_err(chip->card->dev, "GTSCC capture Timedout!\n");
+sound/pci/hda/hda_controller.c:		dev_err_ratelimited(chip->card->dev,
+sound/pci/hda/hda_controller.c:	mutex_lock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	if (chip->gts_present)
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND)
+sound/pci/hda/hda_controller.c:	if (chip->align_buffer_size)
+sound/pci/hda/hda_controller.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	if (chip->ops->pcm_mmap_prepare)
+sound/pci/hda/hda_controller.c:		chip->ops->pcm_mmap_prepare(substream, area);
+sound/pci/hda/hda_controller.c:	list_for_each_entry(apcm, &chip->pcm_list, list) {
+sound/pci/hda/hda_controller.c:			dev_err(chip->card->dev, "PCM %d already exists\n",
+sound/pci/hda/hda_controller.c:	err = snd_pcm_new(chip->card, cpcm->name, pcm_dev,
+sound/pci/hda/hda_controller.c:		snd_device_free(chip->card, pcm);
+sound/pci/hda/hda_controller.c:	list_add_tail(&apcm->list, &chip->pcm_list);
+sound/pci/hda/hda_controller.c:	if (chip->uc_buffer)
+sound/pci/hda/hda_controller.c:					      chip->card->dev,
+sound/pci/hda/hda_controller.c:	struct hda_bus *hbus = &chip->bus;
+sound/pci/hda/hda_controller.c:				dev_dbg_ratelimited(chip->card->dev,
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev,
+sound/pci/hda/hda_controller.c:		dev_warn(chip->card->dev,
+sound/pci/hda/hda_controller.c:	if (chip->msi) {
+sound/pci/hda/hda_controller.c:		dev_warn(chip->card->dev,
+sound/pci/hda/hda_controller.c:		if (chip->ops->disable_msi_reset_irq &&
+sound/pci/hda/hda_controller.c:		    chip->ops->disable_msi_reset_irq(chip) < 0)
+sound/pci/hda/hda_controller.c:	if (chip->probing) {
+sound/pci/hda/hda_controller.c:	if (!chip->fallback_to_single_cmd)
+sound/pci/hda/hda_controller.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_controller.c:	dev_err(chip->card->dev,
+sound/pci/hda/hda_controller.c:	chip->single_cmd = 1;
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev, "get_response timeout: IRS=0x%x\n",
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev,
+sound/pci/hda/hda_controller.c: * current setting of chip->single_cmd.
+sound/pci/hda/hda_controller.c:	if (chip->disabled)
+sound/pci/hda/hda_controller.c:	if (chip->single_cmd)
+sound/pci/hda/hda_controller.c:	if (chip->disabled)
+sound/pci/hda/hda_controller.c:	if (chip->single_cmd)
+sound/pci/hda/hda_controller.c:		if (s->index == chip->playback_index_offset)
+sound/pci/hda/hda_controller.c:		chip->saved_azx_dev = *azx_dev;
+sound/pci/hda/hda_controller.c:			*azx_dev = chip->saved_azx_dev;
+sound/pci/hda/hda_controller.c:		*azx_dev = chip->saved_azx_dev;
+sound/pci/hda/hda_controller.c:		if (chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND)
+sound/pci/hda/hda_controller.c:	if (!chip->ops->position_check ||
+sound/pci/hda/hda_controller.c:	    chip->ops->position_check(chip, azx_dev)) {
+sound/pci/hda/hda_controller.c:		if (!pm_runtime_active(chip->card->dev))
+sound/pci/hda/hda_controller.c:	if (chip->disabled)
+sound/pci/hda/hda_controller.c:				if (chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND)
+sound/pci/hda/hda_controller.c:	chip->probing = 1;
+sound/pci/hda/hda_controller.c:	chip->probing = 0;
+sound/pci/hda/hda_controller.c:	dev_dbg(chip->card->dev, "codec #%d probed OK\n", addr);
+sound/pci/hda/hda_controller.c:	struct hda_bus *bus = &chip->bus;
+sound/pci/hda/hda_controller.c:	err = snd_hdac_bus_init(&bus->core, chip->card->dev, &bus_core_ops);
+sound/pci/hda/hda_controller.c:	bus->card = chip->card;
+sound/pci/hda/hda_controller.c:	bus->pci = chip->pci;
+sound/pci/hda/hda_controller.c:	if (chip->get_position[0] != azx_get_pos_lpib ||
+sound/pci/hda/hda_controller.c:	    chip->get_position[1] != azx_get_pos_lpib)
+sound/pci/hda/hda_controller.c:	bus->core.bdl_pos_adj = chip->bdl_pos_adj;
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_CORBRP_SELF_CLEAR)
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_4K_BDLE_BOUNDARY)
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_SYNC_WRITE) {
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev, "Enable sync_write for stable communication\n");
+sound/pci/hda/hda_controller.c:		if ((bus->codec_mask & (1 << c)) & chip->codec_probe_mask) {
+sound/pci/hda/hda_controller.c:				dev_warn(chip->card->dev,
+sound/pci/hda/hda_controller.c:		if ((bus->codec_mask & (1 << c)) & chip->codec_probe_mask) {
+sound/pci/hda/hda_controller.c:			err = snd_hda_codec_new(&chip->bus, chip->card, c, &codec);
+sound/pci/hda/hda_controller.c:			codec->jackpoll_interval = chip->jackpoll_interval;
+sound/pci/hda/hda_controller.c:			codec->beep_mode = chip->beep_mode;
+sound/pci/hda/hda_controller.c:		dev_err(chip->card->dev, "no codecs initialized\n");
+sound/pci/hda/hda_controller.c:	list_for_each_codec_safe(codec, next, &chip->bus) {
+sound/pci/hda/hda_controller.c:	if (index >= chip->capture_index_offset &&
+sound/pci/hda/hda_controller.c:	    index < chip->capture_index_offset + chip->capture_streams)
+sound/pci/hda/hda_controller.c:	for (i = 0; i < chip->num_streams; i++) {
+sound/pci/hda/hda_controller.c:		if (chip->driver_caps & AZX_DCAPS_SEPARATE_STREAM_TAG)
+sound/pci/hda/hda_controller.h:	return !IS_ENABLED(CONFIG_X86) || chip->snoop;
+sound/pci/hda/hda_intel.c:	if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Clearing TCSEL\n");
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci, AZX_PCIREG_TCSEL, 0x07, 0);
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Setting ATI snoop: %d\n",
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Setting Nvidia snoop: %d\n",
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
+sound/pci/hda/hda_intel.c:			pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC, snoop);
+sound/pci/hda/hda_intel.c:			pci_read_config_word(chip->pci,
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "SCH snoop: %s\n",
+sound/pci/hda/hda_intel.c:	dev_warn(chip->card->dev, "set audio clock frequency to 6MHz");
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL) {
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL) {
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:		chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY;
+sound/pci/hda/hda_intel.c:		chip->get_delay[stream] = NULL;
+sound/pci/hda/hda_intel.c:	if (chip->get_position[stream])
+sound/pci/hda/hda_intel.c:		pos = chip->get_position[stream](chip, azx_dev);
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:			chip->get_position[stream] = azx_get_pos_lpib;
+sound/pci/hda/hda_intel.c:			if (chip->get_position[0] == azx_get_pos_lpib &&
+sound/pci/hda/hda_intel.c:			    chip->get_position[1] == azx_get_pos_lpib)
+sound/pci/hda/hda_intel.c:			chip->get_delay[stream] = NULL;
+sound/pci/hda/hda_intel.c:			chip->get_position[stream] = azx_get_pos_posbuf;
+sound/pci/hda/hda_intel.c:			if (chip->driver_caps & AZX_DCAPS_COUNT_LPIB_DELAY)
+sound/pci/hda/hda_intel.c:				chip->get_delay[stream] = azx_get_delay_from_lpib;
+sound/pci/hda/hda_intel.c:		return chip->bdl_pos_adj ? 0 : -1;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:			 chip->card->number);
+sound/pci/hda/hda_intel.c:	if (request_irq(chip->pci->irq, azx_interrupt,
+sound/pci/hda/hda_intel.c:			chip->msi ? 0 : IRQF_SHARED,
+sound/pci/hda/hda_intel.c:			chip->card->irq_descr, chip)) {
+sound/pci/hda/hda_intel.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_intel.c:			chip->pci->irq);
+sound/pci/hda/hda_intel.c:			snd_card_disconnect(chip->card);
+sound/pci/hda/hda_intel.c:	bus->irq = chip->pci->irq;
+sound/pci/hda/hda_intel.c:	pci_intx(chip->pci, !chip->msi);
+sound/pci/hda/hda_intel.c:		if (!hda->probe_continued || chip->disabled)
+sound/pci/hda/hda_intel.c:		snd_hda_set_power_save(&chip->bus, power_save * 1000);
+sound/pci/hda/hda_intel.c:	if (chip->disabled || hda->init_failed || !chip->running)
+sound/pci/hda/hda_intel.c:		list_for_each_codec(codec, &chip->bus)
+sound/pci/hda/hda_intel.c:	if (chip->msi)
+sound/pci/hda/hda_intel.c:		pci_disable_msi(chip->pci);
+sound/pci/hda/hda_intel.c:	if (chip->msi)
+sound/pci/hda/hda_intel.c:		if (pci_enable_msi(chip->pci) < 0)
+sound/pci/hda/hda_intel.c:			chip->msi = 0;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL)
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL)
+sound/pci/hda/hda_intel.c:	if (chip->disabled || hda->init_failed)
+sound/pci/hda/hda_intel.c:	    azx_bus(chip)->codec_powered || !chip->running)
+sound/pci/hda/hda_intel.c:	if (chip->disabled == disabled)
+sound/pci/hda/hda_intel.c:		chip->disabled = disabled;
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:				dev_err(chip->card->dev, "initialization error\n");
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "%s via vga_switcheroo\n",
+sound/pci/hda/hda_intel.c:			list_for_each_codec(codec, &chip->bus) {
+sound/pci/hda/hda_intel.c:			chip->disabled = true;
+sound/pci/hda/hda_intel.c:			if (snd_hda_lock_devices(&chip->bus))
+sound/pci/hda/hda_intel.c:				dev_warn(chip->card->dev,
+sound/pci/hda/hda_intel.c:			snd_hda_unlock_devices(&chip->bus);
+sound/pci/hda/hda_intel.c:			chip->disabled = false;
+sound/pci/hda/hda_intel.c:			list_for_each_codec(codec, &chip->bus) {
+sound/pci/hda/hda_intel.c:	if (chip->disabled || !hda->probe_continued)
+sound/pci/hda/hda_intel.c:	if (snd_hda_lock_devices(&chip->bus))
+sound/pci/hda/hda_intel.c:	snd_hda_unlock_devices(&chip->bus);
+sound/pci/hda/hda_intel.c:		list_for_each_codec(codec, &chip->bus)
+sound/pci/hda/hda_intel.c:		if (chip->running)
+sound/pci/hda/hda_intel.c:		chip->bus.keep_power = 0;
+sound/pci/hda/hda_intel.c:	struct pci_dev *p = get_bound_vga(chip->pci);
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:		chip->bus.keep_power = parent ? !pci_pr3_present(parent) : 1;
+sound/pci/hda/hda_intel.c:		chip->driver_caps |= AZX_DCAPS_PM_RUNTIME;
+sound/pci/hda/hda_intel.c:	p = get_bound_vga(chip->pci);
+sound/pci/hda/hda_intel.c:	err = vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, p);
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	if (azx_has_pm_runtime(chip) && chip->running)
+sound/pci/hda/hda_intel.c:	chip->running = 0;
+sound/pci/hda/hda_intel.c:		if (chip->disabled && hda->probe_continued)
+sound/pci/hda/hda_intel.c:			snd_hda_unlock_devices(&chip->bus);
+sound/pci/hda/hda_intel.c:			vga_switcheroo_unregister_client(chip->pci);
+sound/pci/hda/hda_intel.c:	if (chip->msi)
+sound/pci/hda/hda_intel.c:		pci_disable_msi(chip->pci);
+sound/pci/hda/hda_intel.c:	if (chip->region_requested)
+sound/pci/hda/hda_intel.c:		pci_release_regions(chip->pci);
+sound/pci/hda/hda_intel.c:	pci_disable_device(chip->pci);
+sound/pci/hda/hda_intel.c:	release_firmware(chip->fw);
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT)
+sound/pci/hda/hda_intel.c:	chip->bus.shutdown = 1;
+sound/pci/hda/hda_intel.c:	q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_VIA) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using VIACOMBO position fix\n");
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using FIFO position fix\n");
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_POSFIX_LPIB) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using LPIB position fix\n");
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using SKL position fix\n");
+sound/pci/hda/hda_intel.c:	chip->get_position[0] = chip->get_position[1] = callbacks[fix];
+sound/pci/hda/hda_intel.c:		chip->get_position[1] = NULL;
+sound/pci/hda/hda_intel.c:	    (chip->driver_caps & AZX_DCAPS_COUNT_LPIB_DELAY)) {
+sound/pci/hda/hda_intel.c:		chip->get_delay[0] = chip->get_delay[1] =
+sound/pci/hda/hda_intel.c:		chip->get_delay[0] = chip->get_delay[1] =
+sound/pci/hda/hda_intel.c:	chip->codec_probe_mask = probe_mask[dev];
+sound/pci/hda/hda_intel.c:	if (chip->codec_probe_mask == -1) {
+sound/pci/hda/hda_intel.c:		q = snd_pci_quirk_lookup(chip->pci, probe_mask_list);
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:			chip->codec_probe_mask = q->value;
+sound/pci/hda/hda_intel.c:	if (chip->codec_probe_mask != -1 &&
+sound/pci/hda/hda_intel.c:	    (chip->codec_probe_mask & AZX_FORCE_CODEC_MASK)) {
+sound/pci/hda/hda_intel.c:		azx_bus(chip)->codec_mask = chip->codec_probe_mask & 0xff;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "codec_mask forced to 0x%x\n",
+sound/pci/hda/hda_intel.c:		chip->msi = !!enable_msi;
+sound/pci/hda/hda_intel.c:	chip->msi = 1;	/* enable MSI as default */
+sound/pci/hda/hda_intel.c:	q = snd_pci_quirk_lookup(chip->pci, msi_black_list);
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:		chip->msi = q->value;
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_NO_MSI) {
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "Disabling MSI\n");
+sound/pci/hda/hda_intel.c:		chip->msi = 0;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "Force to %s mode by module option\n",
+sound/pci/hda/hda_intel.c:		chip->snoop = snoop;
+sound/pci/hda/hda_intel.c:		chip->uc_buffer = !snoop;
+sound/pci/hda/hda_intel.c:	    chip->driver_type == AZX_DRIVER_VIA) {
+sound/pci/hda/hda_intel.c:		pci_read_config_byte(chip->pci, 0x42, &val);
+sound/pci/hda/hda_intel.c:		if (!(val & 0x80) && (chip->pci->revision == 0x30 ||
+sound/pci/hda/hda_intel.c:				      chip->pci->revision == 0x20))
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_SNOOP_OFF)
+sound/pci/hda/hda_intel.c:	chip->snoop = snoop;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "Force to non-snoop mode\n");
+sound/pci/hda/hda_intel.c:		if (chip->driver_type != AZX_DRIVER_CMEDIA)
+sound/pci/hda/hda_intel.c:			chip->uc_buffer = true;
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_INTEL) {
+sound/pci/hda/hda_intel.c:		switch (chip->pci->device) {
+sound/pci/hda/hda_intel.c:	switch (chip->driver_type) {
+sound/pci/hda/hda_intel.c:	mutex_init(&chip->open_mutex);
+sound/pci/hda/hda_intel.c:	chip->card = card;
+sound/pci/hda/hda_intel.c:	chip->pci = pci;
+sound/pci/hda/hda_intel.c:	chip->ops = &pci_hda_ops;
+sound/pci/hda/hda_intel.c:	chip->driver_caps = driver_caps;
+sound/pci/hda/hda_intel.c:	chip->driver_type = driver_caps & 0xff;
+sound/pci/hda/hda_intel.c:	chip->dev_index = dev;
+sound/pci/hda/hda_intel.c:		chip->jackpoll_interval = msecs_to_jiffies(jackpoll_ms[dev]);
+sound/pci/hda/hda_intel.c:	INIT_LIST_HEAD(&chip->pcm_list);
+sound/pci/hda/hda_intel.c:		chip->fallback_to_single_cmd = 1;
+sound/pci/hda/hda_intel.c:		chip->single_cmd = single_cmd;
+sound/pci/hda/hda_intel.c:		chip->bdl_pos_adj = default_bdl_pos_adj(chip);
+sound/pci/hda/hda_intel.c:		chip->bdl_pos_adj = bdl_pos_adj[dev];
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_NVIDIA) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n");
+sound/pci/hda/hda_intel.c:		chip->bus.needs_damn_long_delay = 1;
+sound/pci/hda/hda_intel.c:	int dev = chip->dev_index;
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	struct snd_card *card = chip->card;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_ULI) {
+sound/pci/hda/hda_intel.c:	chip->region_requested = 1;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL)
+sound/pci/hda/hda_intel.c:	chip->gts_present = false;
+sound/pci/hda/hda_intel.c:		chip->gts_present = true;
+sound/pci/hda/hda_intel.c:	if (chip->msi) {
+sound/pci/hda/hda_intel.c:		if (chip->driver_caps & AZX_DCAPS_NO_MSI64) {
+sound/pci/hda/hda_intel.c:			chip->msi = 0;
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_AMD)
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_ATI) {
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_NVIDIA)
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_NO_64BIT) {
+sound/pci/hda/hda_intel.c:		chip->align_buffer_size = !!align_buffer_size;
+sound/pci/hda/hda_intel.c:		if (chip->driver_caps & AZX_DCAPS_NO_ALIGN_BUFSIZE)
+sound/pci/hda/hda_intel.c:			chip->align_buffer_size = 0;
+sound/pci/hda/hda_intel.c:			chip->align_buffer_size = 1;
+sound/pci/hda/hda_intel.c:	chip->capture_streams = (gcap >> 8) & 0x0f;
+sound/pci/hda/hda_intel.c:	chip->playback_streams = (gcap >> 12) & 0x0f;
+sound/pci/hda/hda_intel.c:	if (!chip->playback_streams && !chip->capture_streams) {
+sound/pci/hda/hda_intel.c:		switch (chip->driver_type) {
+sound/pci/hda/hda_intel.c:			chip->playback_streams = ULI_NUM_PLAYBACK;
+sound/pci/hda/hda_intel.c:			chip->capture_streams = ULI_NUM_CAPTURE;
+sound/pci/hda/hda_intel.c:			chip->playback_streams = ATIHDMI_NUM_PLAYBACK;
+sound/pci/hda/hda_intel.c:			chip->capture_streams = ATIHDMI_NUM_CAPTURE;
+sound/pci/hda/hda_intel.c:			chip->playback_streams = ICH6_NUM_PLAYBACK;
+sound/pci/hda/hda_intel.c:			chip->capture_streams = ICH6_NUM_CAPTURE;
+sound/pci/hda/hda_intel.c:	chip->capture_index_offset = 0;
+sound/pci/hda/hda_intel.c:	chip->playback_index_offset = chip->capture_streams;
+sound/pci/hda/hda_intel.c:	chip->num_streams = chip->playback_streams + chip->capture_streams;
+sound/pci/hda/hda_intel.c:	if (chip->num_streams > 15 &&
+sound/pci/hda/hda_intel.c:	    (chip->driver_caps & AZX_DCAPS_SEPARATE_STREAM_TAG) == 0) {
+sound/pci/hda/hda_intel.c:		dev_warn(chip->card->dev, "number of I/O streams is %d, "
+sound/pci/hda/hda_intel.c:			 "forcing separate stream tags", chip->num_streams);
+sound/pci/hda/hda_intel.c:		chip->driver_caps |= AZX_DCAPS_SEPARATE_STREAM_TAG;
+sound/pci/hda/hda_intel.c:	strlcpy(card->shortname, driver_short_names[chip->driver_type],
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	chip->fw = fw;
+sound/pci/hda/hda_intel.c:	if (!chip->disabled) {
+sound/pci/hda/hda_intel.c:	pci_disable_msi(chip->pci);
+sound/pci/hda/hda_intel.c:	chip->msi = 0;
+sound/pci/hda/hda_intel.c:	if (chip->uc_buffer)
+sound/pci/hda/hda_intel.c:		chip->disabled = true;
+sound/pci/hda/hda_intel.c:	schedule_probe = !chip->disabled;
+sound/pci/hda/hda_intel.c:	if (chip->disabled)
+sound/pci/hda/hda_intel.c:		q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
+sound/pci/hda/hda_intel.c:	snd_hda_set_power_save(&chip->bus, val * 1000);
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	int dev = chip->dev_index;
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT) {
+sound/pci/hda/hda_intel.c:				dev_err(chip->card->dev,
+sound/pci/hda/hda_intel.c:				chip->driver_caps &= ~AZX_DCAPS_I915_COMPONENT;
+sound/pci/hda/hda_intel.c:	chip->beep_mode = beep_mode[dev];
+sound/pci/hda/hda_intel.c:	err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]);
+sound/pci/hda/hda_intel.c:	if (chip->fw) {
+sound/pci/hda/hda_intel.c:		err = snd_hda_load_patch(&chip->bus, chip->fw->size,
+sound/pci/hda/hda_intel.c:					 chip->fw->data);
+sound/pci/hda/hda_intel.c:		release_firmware(chip->fw); /* no longer needed */
+sound/pci/hda/hda_intel.c:		chip->fw = NULL;
+sound/pci/hda/hda_intel.c:	err = snd_card_register(chip->card);
+sound/pci/hda/hda_intel.c:	chip->running = 1;
+sound/pci/hda/hda_intel.c:	if (chip && chip->running)
+sound/pci/hda/hda_tegra.c:	if (chip && chip->running) {
+sound/pci/hda/hda_tegra.c:	if (chip && chip->running) {
+sound/pci/hda/hda_tegra.c:	chip->bus.shutdown = 1;
+sound/pci/hda/hda_tegra.c:	struct snd_card *card = chip->card;
+sound/pci/hda/hda_tegra.c:	err = devm_request_irq(chip->card->dev, irq_id, azx_interrupt,
+sound/pci/hda/hda_tegra.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_tegra.c:	chip->capture_streams = (gcap >> 8) & 0x0f;
+sound/pci/hda/hda_tegra.c:	chip->playback_streams = (gcap >> 12) & 0x0f;
+sound/pci/hda/hda_tegra.c:	if (!chip->playback_streams && !chip->capture_streams) {
+sound/pci/hda/hda_tegra.c:		chip->playback_streams = NUM_PLAYBACK_SD;
+sound/pci/hda/hda_tegra.c:		chip->capture_streams = NUM_CAPTURE_SD;
+sound/pci/hda/hda_tegra.c:	chip->capture_index_offset = 0;
+sound/pci/hda/hda_tegra.c:	chip->playback_index_offset = chip->capture_streams;
+sound/pci/hda/hda_tegra.c:	chip->num_streams = chip->playback_streams + chip->capture_streams;
+sound/pci/hda/hda_tegra.c:	mutex_init(&chip->open_mutex);
+sound/pci/hda/hda_tegra.c:	chip->card = card;
+sound/pci/hda/hda_tegra.c:	chip->ops = &hda_tegra_ops;
+sound/pci/hda/hda_tegra.c:	chip->driver_caps = driver_caps;
+sound/pci/hda/hda_tegra.c:	chip->driver_type = driver_caps & 0xff;
+sound/pci/hda/hda_tegra.c:	chip->dev_index = 0;
+sound/pci/hda/hda_tegra.c:	INIT_LIST_HEAD(&chip->pcm_list);
+sound/pci/hda/hda_tegra.c:	chip->codec_probe_mask = -1;
+sound/pci/hda/hda_tegra.c:	chip->single_cmd = false;
+sound/pci/hda/hda_tegra.c:	chip->snoop = true;
+sound/pci/hda/hda_tegra.c:	chip->bus.needs_damn_long_delay = 1;
+sound/pci/hda/hda_tegra.c:	err = snd_card_register(chip->card);
+sound/pci/hda/hda_tegra.c:	chip->running = 1;
+sound/pci/hda/hda_tegra.c:	snd_hda_set_power_save(&chip->bus, power_save * 1000);
+sound/pci/hda/hda_tegra.c:	if (chip && chip->running)
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		changed |= wm8776_write_bits(chip->ice, wm, vol->regs[ch],
+sound/pci/ice1712/maya44.c:			wm8776_write_bits(chip->ice, wm, WM8776_REG_ADC_MUX,
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	changed = wm8776_write_bits(chip->ice, wm,
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	val = (snd_ice1712_gpio_read(chip->ice) >> shift) & 1;
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	changed = maya_set_gpio_bits(chip->ice, mask, val);
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	wm8776_write_bits(chip->ice, &chip->wm[idx], WM8776_REG_ADC_MUX,
+sound/pci/ice1712/maya44.c:	if (snd_ice1712_gpio_read(chip->ice) & (1 << GPIO_MIC_RELAY))
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	changed = maya_set_gpio_bits(chip->ice, 1 << GPIO_MIC_RELAY,
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		snd_ice1724_get_route_val(chip->ice, maya_pb_route_shift(idx));
+sound/pci/ice1712/maya44.c:	return snd_ice1724_put_route_val(chip->ice,
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		wm8776_write_bits(ice, &chip->wm[i],
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	mutex_init(&chip->mutex);
+sound/pci/ice1712/maya44.c:	chip->ice = ice;
+sound/pci/ice1712/maya44.c:		wm8776_init(ice, &chip->wm[i], wm8776_addr[i]);
+sound/pci/intel8x0.c:	return ioread8(chip->bmaddr + offset);
+sound/pci/intel8x0.c:	return ioread16(chip->bmaddr + offset);
+sound/pci/intel8x0.c:	return ioread32(chip->bmaddr + offset);
+sound/pci/intel8x0.c:	iowrite8(val, chip->bmaddr + offset);
+sound/pci/intel8x0.c:	iowrite16(val, chip->bmaddr + offset);
+sound/pci/intel8x0.c:	iowrite32(val, chip->bmaddr + offset);
+sound/pci/intel8x0.c:	return ioread16(chip->addr + offset);
+sound/pci/intel8x0.c:	iowrite16(val, chip->addr + offset);
+sound/pci/intel8x0.c:	if (chip->in_sdin_init) {
+sound/pci/intel8x0.c:		codec = chip->codec_isr_bits;
+sound/pci/intel8x0.c:		codec = chip->codec_bit[chip->ac97_sdin[codec]];
+sound/pci/intel8x0.c:	if (chip->buggy_semaphore)
+sound/pci/intel8x0.c:	dev_err(chip->card->dev,
+sound/pci/intel8x0.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0.c:				  ~(chip->codec_ready_bits | ICH_GSCI));
+sound/pci/intel8x0.c:			if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:				dev_err(chip->card->dev,
+sound/pci/intel8x0.c:				  ~(chip->codec_ready_bits | ICH_GSCI));
+sound/pci/intel8x0.c:	if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:		dev_warn(chip->card->dev, "AC97 codec ready timeout.\n");
+sound/pci/intel8x0.c:	if (chip->buggy_semaphore)
+sound/pci/intel8x0.c:	if (! time && ! chip->in_ac97_init)
+sound/pci/intel8x0.c:		dev_warn(chip->card->dev, "ali_codec_semaphore timeout\n");
+sound/pci/intel8x0.c:			dev_dbg(chip->card->dev, "bdbar[%i] = 0x%x [0x%x]\n",
+sound/pci/intel8x0.c:	dev_dbg(chip->card->dev,
+sound/pci/intel8x0.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/intel8x0.c:	if (! chip->in_measurement)
+sound/pci/intel8x0.c:	dev_dbg(chip->card->dev,
+sound/pci/intel8x0.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/intel8x0.c:	status = igetdword(chip, chip->int_sta_reg);
+sound/pci/intel8x0.c:	if ((status & chip->int_sta_mask) == 0) {
+sound/pci/intel8x0.c:			iputdword(chip, chip->int_sta_reg, status);
+sound/pci/intel8x0.c:			if (! chip->buggy_irq)
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:	iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask);
+sound/pci/intel8x0.c:		if (ichdev->ichd == ICHD_PCMOUT && chip->spdif_idx < 0)
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	switch (chip->device_type) {
+sound/pci/intel8x0.c:		if (chip->device_type == DEVICE_NFORCE) {
+sound/pci/intel8x0.c:				spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:				spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:		} else if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:		if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	spin_lock(&chip->reg_lock);
+sound/pci/intel8x0.c:		if (chip->inside_vm)
+sound/pci/intel8x0.c:	spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_SIS) {
+sound/pci/intel8x0.c:	err = snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCMOUT]);
+sound/pci/intel8x0.c:	if (chip->multi8) {
+sound/pci/intel8x0.c:	} else if (chip->multi6) {
+sound/pci/intel8x0.c:	} else if (chip->multi4) {
+sound/pci/intel8x0.c:	if (chip->dra) {
+sound/pci/intel8x0.c:	if (chip->smp20bit) {
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMOUT].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCMIN]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMIN].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_MIC]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_MIC].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_MIC2]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_MIC2].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCM2IN]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCM2IN].substream = NULL;
+sound/pci/intel8x0.c:	int idx = chip->device_type == DEVICE_NFORCE ? NVD_SPBAR : ICHD_SPBAR;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[idx]);
+sound/pci/intel8x0.c:	int idx = chip->device_type == DEVICE_NFORCE ? NVD_SPBAR : ICHD_SPBAR;
+sound/pci/intel8x0.c:	chip->ichd[idx].substream = NULL;
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_AC97SPDIFOUT]);
+sound/pci/intel8x0.c:	chip->ichd[ALID_AC97SPDIFOUT].substream = NULL;
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_SPDIFIN]);
+sound/pci/intel8x0.c:	chip->ichd[ALID_SPDIFIN].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_SPDIFOUT]);
+sound/pci/intel8x0.c:	chip->ichd[ALID_SPDIFOUT].substream = NULL;
+sound/pci/intel8x0.c:	err = snd_pcm_new(chip->card, name, device,
+sound/pci/intel8x0.c:		sprintf(pcm->name, "%s - %s", chip->card->shortname, rec->suffix);
+sound/pci/intel8x0.c:		strcpy(pcm->name, chip->card->shortname);
+sound/pci/intel8x0.c:	chip->pcm[device] = pcm;
+sound/pci/intel8x0.c:					      &chip->pci->dev,
+sound/pci/intel8x0.c:		if (chip->multi8)
+sound/pci/intel8x0.c:		else if (chip->multi6)
+sound/pci/intel8x0.c:		else if (chip->multi4)
+sound/pci/intel8x0.c:		chip->ac97[0]->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/intel8x0.c:	switch (chip->device_type) {
+sound/pci/intel8x0.c:			if (! chip->ichd[rec->ac97_idx].pcm)
+sound/pci/intel8x0.c:	chip->pcm_devs = device;
+sound/pci/intel8x0.c:	chip->ac97_bus = NULL;
+sound/pci/intel8x0.c:	chip->ac97[ac97->num] = NULL;
+sound/pci/intel8x0.c:	chip->spdif_idx = -1; /* use PCMOUT (or disabled) */
+sound/pci/intel8x0.c:		switch (chip->device_type) {
+sound/pci/intel8x0.c:			chip->spdif_idx = NVD_SPBAR;
+sound/pci/intel8x0.c:			chip->spdif_idx = ALID_AC97SPDIFOUT;
+sound/pci/intel8x0.c:			chip->spdif_idx = ICHD_SPBAR;
+sound/pci/intel8x0.c:	chip->in_ac97_init = 1;
+sound/pci/intel8x0.c:	if (chip->xbox)
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI) {
+sound/pci/intel8x0.c:		chip->in_sdin_init = 1;
+sound/pci/intel8x0.c:		for (i = 0; i < chip->max_codecs; i++) {
+sound/pci/intel8x0.c:			if (! (glob_sta & chip->codec_bit[i]))
+sound/pci/intel8x0.c:			if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:				chip->ac97_sdin[codecs] =
+sound/pci/intel8x0.c:				if (snd_BUG_ON(chip->ac97_sdin[codecs] >= 3))
+sound/pci/intel8x0.c:					chip->ac97_sdin[codecs] = 0;
+sound/pci/intel8x0.c:				chip->ac97_sdin[codecs] = i;
+sound/pci/intel8x0.c:		chip->in_sdin_init = 0;
+sound/pci/intel8x0.c:	if ((err = snd_ac97_bus(chip->card, 0, ops, chip, &pbus)) < 0)
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_ALI)
+sound/pci/intel8x0.c:	chip->ac97_bus = pbus;
+sound/pci/intel8x0.c:	chip->ncodecs = codecs;
+sound/pci/intel8x0.c:	ac97.pci = chip->pci;
+sound/pci/intel8x0.c:		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
+sound/pci/intel8x0.c:				dev_err(chip->card->dev,
+sound/pci/intel8x0.c:	snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks, quirk_override);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	if (chip->spdif_idx < 0)
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMOUT].pcm = &pbus->pcms[0];
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMIN].pcm = &pbus->pcms[1];
+sound/pci/intel8x0.c:	chip->ichd[ICHD_MIC].pcm = &pbus->pcms[2];
+sound/pci/intel8x0.c:	if (chip->spdif_idx >= 0)
+sound/pci/intel8x0.c:		chip->ichd[chip->spdif_idx].pcm = &pbus->pcms[3];
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:		chip->ichd[ICHD_PCM2IN].pcm = &pbus->pcms[4];
+sound/pci/intel8x0.c:		chip->ichd[ICHD_MIC2].pcm = &pbus->pcms[5];
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:		struct ac97_pcm *pcm = chip->ichd[ICHD_PCM2IN].pcm;
+sound/pci/intel8x0.c:			tmp |= chip->ac97_sdin[0] << ICH_DI1L_SHIFT;
+sound/pci/intel8x0.c:					tmp |= chip->ac97_sdin[pcm->r[0].codec[1]->num] << ICH_DI2L_SHIFT;
+sound/pci/intel8x0.c:		chip->multi4 = 1;
+sound/pci/intel8x0.c:			chip->multi6 = 1;
+sound/pci/intel8x0.c:			if (chip->ac97[0]->flags & AC97_HAS_8CH)
+sound/pci/intel8x0.c:				chip->multi8 = 1;
+sound/pci/intel8x0.c:		chip->dra = 1;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:			chip->smp20bit = 1;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE && !spdif_aclink) {
+sound/pci/intel8x0.c:		chip->ichd[chip->spdif_idx].pcm->rates = SNDRV_PCM_RATE_48000;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4 && !spdif_aclink) {
+sound/pci/intel8x0.c:		snd_ac97_update_bits(chip->ac97[0], AC97_EXTENDED_STATUS, 0x03 << 4, 0x03 << 4);
+sound/pci/intel8x0.c:	chip->in_ac97_init = 0;
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI)
+sound/pci/intel8x0.c:	if (snd_pci_quirk_lookup(chip->pci, ich_chip_reset_mode))
+sound/pci/intel8x0.c:	(!snd_pci_quirk_lookup(chip->pci, ich_chip_reset_mode))
+sound/pci/intel8x0.c:	dev_err(chip->card->dev, "AC'97 warm reset still in progress? [0x%x]\n",
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE)
+sound/pci/intel8x0.c:				chip->codec_isr_bits;
+sound/pci/intel8x0.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0.c:		while (status != chip->codec_isr_bits &&
+sound/pci/intel8x0.c:				chip->codec_isr_bits;
+sound/pci/intel8x0.c:		for (i = 0; i < chip->ncodecs; i++)
+sound/pci/intel8x0.c:			if (chip->ac97[i])
+sound/pci/intel8x0.c:				status |= chip->codec_bit[chip->ac97_sdin[i]];
+sound/pci/intel8x0.c:				chip->codec_isr_bits;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_SIS) {
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE && !spdif_aclink) {
+sound/pci/intel8x0.c:		pci_read_config_dword(chip->pci, 0x4c, &val);
+sound/pci/intel8x0.c:		pci_write_config_dword(chip->pci, 0x4c, val);
+sound/pci/intel8x0.c:	dev_err(chip->card->dev, "AC'97 reset failed.\n");
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI) {
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:        		if ((igetbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset) & ICH_RESETREGS) == 0)
+sound/pci/intel8x0.c:			dev_err(chip->card->dev, "reset of registers failed?\n");
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputdword(chip, ICH_REG_OFF_BDBAR + chip->ichd[i].reg_offset,
+sound/pci/intel8x0.c:			  chip->ichd[i].bdbar_addr);
+sound/pci/intel8x0.c:	if (chip->irq < 0)
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE && !spdif_aclink) {
+sound/pci/intel8x0.c:		pci_read_config_dword(chip->pci, 0x4c, &val);
+sound/pci/intel8x0.c:		pci_write_config_dword(chip->pci, 0x4c, val);
+sound/pci/intel8x0.c:	if (chip->irq >= 0)
+sound/pci/intel8x0.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0.c:	if (chip->bdbars.area)
+sound/pci/intel8x0.c:		snd_dma_free_pages(&chip->bdbars);
+sound/pci/intel8x0.c:	if (chip->addr)
+sound/pci/intel8x0.c:		pci_iounmap(chip->pci, chip->addr);
+sound/pci/intel8x0.c:	if (chip->bmaddr)
+sound/pci/intel8x0.c:		pci_iounmap(chip->pci, chip->bmaddr);
+sound/pci/intel8x0.c:	pci_release_regions(chip->pci);
+sound/pci/intel8x0.c:	pci_disable_device(chip->pci);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->ncodecs; i++)
+sound/pci/intel8x0.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:		chip->sdm_saved = igetbyte(chip, ICHREG(SDM));
+sound/pci/intel8x0.c:	if (chip->irq >= 0) {
+sound/pci/intel8x0.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0.c:		chip->irq = -1;
+sound/pci/intel8x0.c:	chip->irq = pci->irq;
+sound/pci/intel8x0.c:	synchronize_irq(chip->irq);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4 && !spdif_aclink) {
+sound/pci/intel8x0.c:		iputbyte(chip, ICHREG(SDM), chip->sdm_saved);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->ncodecs; i++)
+sound/pci/intel8x0.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		struct ichdev *ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:	if (chip->ac97_bus->clock != 48000)
+sound/pci/intel8x0.c:	subs = chip->pcm[0]->streams[0].substream;
+sound/pci/intel8x0.c:		dev_warn(chip->card->dev,
+sound/pci/intel8x0.c:	ichdev = &chip->ichd[ICHD_PCMOUT];
+sound/pci/intel8x0.c:	if (snd_ac97_set_rate(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 48000) < 0) {
+sound/pci/intel8x0.c:		dev_err(chip->card->dev, "cannot set ac97 rate: clock = %d\n",
+sound/pci/intel8x0.c:			chip->ac97_bus->clock);
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	chip->in_measurement = 1;
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI)
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	chip->in_measurement = 0;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_ALI) {
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:		dev_err(chip->card->dev,
+sound/pci/intel8x0.c:	dev_info(chip->card->dev,
+sound/pci/intel8x0.c:		dev_err(chip->card->dev, "?? calculation error..\n");
+sound/pci/intel8x0.c:		dev_info(chip->card->dev, "measured clock %ld rejected\n", pos);
+sound/pci/intel8x0.c:		chip->ac97_bus->clock = 41000;
+sound/pci/intel8x0.c:		chip->ac97_bus->clock = 44100;
+sound/pci/intel8x0.c:		chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos;
+sound/pci/intel8x0.c:	dev_info(chip->card->dev, "clocking to %d\n", chip->ac97_bus->clock);
+sound/pci/intel8x0.c:	snd_ac97_update_power(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 0);
+sound/pci/intel8x0.c:	struct pci_dev *pci = chip->pci;
+sound/pci/intel8x0.c:	dev_info(chip->card->dev, "white list rate for %04x:%04x is %i\n",
+sound/pci/intel8x0.c:	chip->ac97_bus->clock = wl->value;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_ALI)
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	if (tmp & chip->codec_isr_bits) {
+sound/pci/intel8x0.c:		for (i = 0; i < chip->max_codecs; i++)
+sound/pci/intel8x0.c:			if (tmp & chip->codec_bit[i])
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4 ||
+sound/pci/intel8x0.c:	    chip->device_type == DEVICE_SIS)
+sound/pci/intel8x0.c:			chip->ac97_sdin[0],
+sound/pci/intel8x0.c:			chip->ac97_sdin[1],
+sound/pci/intel8x0.c:			chip->ac97_sdin[2]);
+sound/pci/intel8x0.c:	snd_card_ro_proc_new(chip->card, "intel8x0", chip,
+sound/pci/intel8x0.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/intel8x0.c:	chip->device_type = device_type;
+sound/pci/intel8x0.c:	chip->card = card;
+sound/pci/intel8x0.c:	chip->pci = pci;
+sound/pci/intel8x0.c:	chip->irq = -1;
+sound/pci/intel8x0.c:	chip->buggy_irq = buggy_irq;
+sound/pci/intel8x0.c:	chip->buggy_semaphore = buggy_semaphore;
+sound/pci/intel8x0.c:		chip->xbox = 1;
+sound/pci/intel8x0.c:	chip->inside_vm = snd_intel8x0_inside_vm(pci);
+sound/pci/intel8x0.c:		chip->fix_nocache = 1; /* enable workaround */
+sound/pci/intel8x0.c:		chip->bmaddr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0.c:		chip->addr = pci_iomap(pci, 2, 0);
+sound/pci/intel8x0.c:		chip->addr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0.c:	if (!chip->addr) {
+sound/pci/intel8x0.c:		chip->bmaddr = pci_iomap(pci, 3, 0);
+sound/pci/intel8x0.c:		chip->bmaddr = pci_iomap(pci, 1, 0);
+sound/pci/intel8x0.c:	if (!chip->bmaddr) {
+sound/pci/intel8x0.c:	chip->bdbars_count = bdbars[device_type];
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:				chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2,
+sound/pci/intel8x0.c:				&chip->bdbars) < 0) {
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:		ichdev->bdbar = ((__le32 *)chip->bdbars.area) +
+sound/pci/intel8x0.c:		ichdev->bdbar_addr = chip->bdbars.addr +
+sound/pci/intel8x0.c:	chip->int_sta_reg = device_type == DEVICE_ALI ?
+sound/pci/intel8x0.c:	chip->int_sta_mask = int_sta_masks;
+sound/pci/intel8x0.c:	switch(chip->device_type) {
+sound/pci/intel8x0.c:		chip->max_codecs = 3;
+sound/pci/intel8x0.c:		chip->codec_bit = ich_codec_bits;
+sound/pci/intel8x0.c:		chip->codec_ready_bits = ICH_PRI | ICH_SRI | ICH_TRI;
+sound/pci/intel8x0.c:		chip->max_codecs = 3;
+sound/pci/intel8x0.c:		chip->codec_bit = sis_codec_bits;
+sound/pci/intel8x0.c:		chip->codec_ready_bits = ICH_PRI | ICH_SRI | ICH_SIS_TRI;
+sound/pci/intel8x0.c:		chip->max_codecs = 2;
+sound/pci/intel8x0.c:		chip->codec_bit = ich_codec_bits;
+sound/pci/intel8x0.c:		chip->codec_ready_bits = ICH_PRI | ICH_SRI;
+sound/pci/intel8x0.c:	for (i = 0; i < chip->max_codecs; i++)
+sound/pci/intel8x0.c:		chip->codec_isr_bits |= chip->codec_bit[i];
+sound/pci/intel8x0.c:	chip->irq = pci->irq;
+sound/pci/intel8x0.c:		 snd_ac97_get_short_name(chip->ac97[0]), chip->irq);
+sound/pci/intel8x0m.c:	return ioread8(chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	return ioread16(chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	return ioread32(chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	iowrite8(val, chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	iowrite16(val, chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	iowrite32(val, chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	return ioread16(chip->addr + offset);
+sound/pci/intel8x0m.c:	iowrite16(val, chip->addr + offset);
+sound/pci/intel8x0m.c:	dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0m.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0m.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:			if (! chip->in_ac97_init)
+sound/pci/intel8x0m.c:				dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:						     ichdev->fragsize1 >> chip->pcm_pos_shift);
+sound/pci/intel8x0m.c:						     ichdev->fragsize1 >> chip->pcm_pos_shift);
+sound/pci/intel8x0m.c:						     ichdev->fragsize >> chip->pcm_pos_shift);
+sound/pci/intel8x0m.c:			dev_dbg(chip->card->dev, "bdbar[%i] = 0x%x [0x%x]\n",
+sound/pci/intel8x0m.c:	dev_dbg(chip->card->dev,
+sound/pci/intel8x0m.c:		dev_dbg(chip->card->dev,
+sound/pci/intel8x0m.c:		spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:		spin_lock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	spin_lock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	status = igetdword(chip, chip->int_sta_reg);
+sound/pci/intel8x0m.c:		spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	if ((status & chip->int_sta_mask) == 0) {
+sound/pci/intel8x0m.c:			iputdword(chip, chip->int_sta_reg, status);
+sound/pci/intel8x0m.c:		spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0m.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0m.c:	iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask);
+sound/pci/intel8x0m.c:	spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << chip->pcm_pos_shift;
+sound/pci/intel8x0m.c:	return snd_intel8x0m_pcm_open(substream, &chip->ichd[ICHD_MDMOUT]);
+sound/pci/intel8x0m.c:	chip->ichd[ICHD_MDMOUT].substream = NULL;
+sound/pci/intel8x0m.c:	return snd_intel8x0m_pcm_open(substream, &chip->ichd[ICHD_MDMIN]);
+sound/pci/intel8x0m.c:	chip->ichd[ICHD_MDMIN].substream = NULL;
+sound/pci/intel8x0m.c:	err = snd_pcm_new(chip->card, name, device,
+sound/pci/intel8x0m.c:		sprintf(pcm->name, "%s - %s", chip->card->shortname, rec->suffix);
+sound/pci/intel8x0m.c:		strcpy(pcm->name, chip->card->shortname);
+sound/pci/intel8x0m.c:	chip->pcm[device] = pcm;
+sound/pci/intel8x0m.c:					      &chip->pci->dev,
+sound/pci/intel8x0m.c:	switch (chip->device_type) {
+sound/pci/intel8x0m.c:			if (! chip->ichd[rec->ac97_idx].ac97)
+sound/pci/intel8x0m.c:	chip->pcm_devs = device;
+sound/pci/intel8x0m.c:	chip->ac97_bus = NULL;
+sound/pci/intel8x0m.c:	chip->ac97 = NULL;
+sound/pci/intel8x0m.c:	chip->in_ac97_init = 1;
+sound/pci/intel8x0m.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/intel8x0m.c:	chip->ac97_bus = pbus;
+sound/pci/intel8x0m.c:	ac97.pci = chip->pci;
+sound/pci/intel8x0m.c:		dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:	chip->ac97 = x97;
+sound/pci/intel8x0m.c:	if(ac97_is_modem(x97) && !chip->ichd[ICHD_MDMIN].ac97) {
+sound/pci/intel8x0m.c:		chip->ichd[ICHD_MDMIN].ac97 = x97;
+sound/pci/intel8x0m.c:		chip->ichd[ICHD_MDMOUT].ac97 = x97;
+sound/pci/intel8x0m.c:	chip->in_ac97_init = 0;
+sound/pci/intel8x0m.c:	if (chip->device_type != DEVICE_ALI)
+sound/pci/intel8x0m.c:	dev_err(chip->card->dev, "AC'97 warm reset still in progress? [0x%x]\n",
+sound/pci/intel8x0m.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:		if (chip->ac97)
+sound/pci/intel8x0m.c:			status |= get_ich_codec_bit(chip, chip->ac97->num);
+sound/pci/intel8x0m.c:	if (chip->device_type == DEVICE_SIS) {
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputdword(chip, ICH_REG_OFF_BDBAR + chip->ichd[i].reg_offset, chip->ichd[i].bdbar_addr);
+sound/pci/intel8x0m.c:	if (chip->irq < 0)
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0m.c:	if (chip->irq >= 0)
+sound/pci/intel8x0m.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0m.c:	if (chip->bdbars.area)
+sound/pci/intel8x0m.c:		snd_dma_free_pages(&chip->bdbars);
+sound/pci/intel8x0m.c:	if (chip->addr)
+sound/pci/intel8x0m.c:		pci_iounmap(chip->pci, chip->addr);
+sound/pci/intel8x0m.c:	if (chip->bmaddr)
+sound/pci/intel8x0m.c:		pci_iounmap(chip->pci, chip->bmaddr);
+sound/pci/intel8x0m.c:	pci_release_regions(chip->pci);
+sound/pci/intel8x0m.c:	pci_disable_device(chip->pci);
+sound/pci/intel8x0m.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/intel8x0m.c:	if (chip->irq >= 0) {
+sound/pci/intel8x0m.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0m.c:		chip->irq = -1;
+sound/pci/intel8x0m.c:	chip->irq = pci->irq;
+sound/pci/intel8x0m.c:	snd_ac97_resume(chip->ac97);
+sound/pci/intel8x0m.c:	if (chip->device_type == DEVICE_ALI)
+sound/pci/intel8x0m.c:	snd_card_ro_proc_new(chip->card, "intel8x0m", chip,
+sound/pci/intel8x0m.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/intel8x0m.c:	chip->device_type = device_type;
+sound/pci/intel8x0m.c:	chip->card = card;
+sound/pci/intel8x0m.c:	chip->pci = pci;
+sound/pci/intel8x0m.c:	chip->irq = -1;
+sound/pci/intel8x0m.c:		chip->bmaddr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0m.c:		chip->addr = pci_iomap(pci, 2, 0);
+sound/pci/intel8x0m.c:		chip->addr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0m.c:	if (!chip->addr) {
+sound/pci/intel8x0m.c:		chip->bmaddr = pci_iomap(pci, 3, 0);
+sound/pci/intel8x0m.c:		chip->bmaddr = pci_iomap(pci, 1, 0);
+sound/pci/intel8x0m.c:	if (!chip->bmaddr) {
+sound/pci/intel8x0m.c:	chip->bdbars_count = 2;
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0m.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0m.c:	chip->pcm_pos_shift = (device_type == DEVICE_SIS) ? 0 : 1;
+sound/pci/intel8x0m.c:				chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2,
+sound/pci/intel8x0m.c:				&chip->bdbars) < 0) {
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0m.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0m.c:		ichdev->bdbar = ((__le32 *)chip->bdbars.area) + (i * ICH_MAX_FRAGS * 2);
+sound/pci/intel8x0m.c:		ichdev->bdbar_addr = chip->bdbars.addr + (i * sizeof(u32) * ICH_MAX_FRAGS * 2);
+sound/pci/intel8x0m.c:	chip->int_sta_reg = ICH_REG_GLOB_STA;
+sound/pci/intel8x0m.c:	chip->int_sta_mask = int_sta_masks;
+sound/pci/intel8x0m.c:	chip->irq = pci->irq;
+sound/pci/intel8x0m.c:		card->shortname, chip->irq);
+sound/pci/lola/lola.c:	chip->last_cmd_nid = nid;
+sound/pci/lola/lola.c:	chip->last_verb = verb;
+sound/pci/lola/lola.c:	chip->last_data = data;
+sound/pci/lola/lola.c:	chip->last_extdata = extdata;
+sound/pci/lola/lola.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/lola/lola.c:	if (chip->rirb.cmds < LOLA_CORB_ENTRIES - 1) {
+sound/pci/lola/lola.c:		unsigned int wp = chip->corb.wp + 1;
+sound/pci/lola/lola.c:		chip->corb.wp = wp;
+sound/pci/lola/lola.c:		chip->corb.buf[wp * 2] = cpu_to_le32(data);
+sound/pci/lola/lola.c:		chip->corb.buf[wp * 2 + 1] = cpu_to_le32(extdata);
+sound/pci/lola/lola.c:		chip->rirb.cmds++;
+sound/pci/lola/lola.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/lola/lola.c:	if (wp == chip->rirb.wp)
+sound/pci/lola/lola.c:	chip->rirb.wp = wp;
+sound/pci/lola/lola.c:	while (chip->rirb.rp != wp) {
+sound/pci/lola/lola.c:		chip->rirb.rp++;
+sound/pci/lola/lola.c:		chip->rirb.rp %= LOLA_CORB_ENTRIES;
+sound/pci/lola/lola.c:		rp = chip->rirb.rp << 1; /* an RIRB entry is 8-bytes */
+sound/pci/lola/lola.c:		res_ex = le32_to_cpu(chip->rirb.buf[rp + 1]);
+sound/pci/lola/lola.c:		res = le32_to_cpu(chip->rirb.buf[rp]);
+sound/pci/lola/lola.c:		else if (chip->rirb.cmds) {
+sound/pci/lola/lola.c:			chip->res = res;
+sound/pci/lola/lola.c:			chip->res_ex = res_ex;
+sound/pci/lola/lola.c:			chip->rirb.cmds--;
+sound/pci/lola/lola.c:		if (chip->polling_mode) {
+sound/pci/lola/lola.c:			spin_lock_irq(&chip->reg_lock);
+sound/pci/lola/lola.c:			spin_unlock_irq(&chip->reg_lock);
+sound/pci/lola/lola.c:		if (!chip->rirb.cmds) {
+sound/pci/lola/lola.c:			*val = chip->res;
+sound/pci/lola/lola.c:				*extval = chip->res_ex;
+sound/pci/lola/lola.c:				      chip->res, chip->res_ex);
+sound/pci/lola/lola.c:			if (chip->res_ex & LOLA_RIRB_EX_ERROR) {
+sound/pci/lola/lola.c:				dev_warn(chip->card->dev, "RIRB ERROR: "
+sound/pci/lola/lola.c:				       chip->last_cmd_nid,
+sound/pci/lola/lola.c:				       chip->last_verb, chip->last_data,
+sound/pci/lola/lola.c:				       chip->last_extdata);
+sound/pci/lola/lola.c:	dev_warn(chip->card->dev, "RIRB response error\n");
+sound/pci/lola/lola.c:	if (!chip->polling_mode) {
+sound/pci/lola/lola.c:		dev_warn(chip->card->dev, "switching to polling mode\n");
+sound/pci/lola/lola.c:		chip->polling_mode = 1;
+sound/pci/lola/lola.c:	spin_lock(&chip->reg_lock);
+sound/pci/lola/lola.c:		for (i = 0; in_sts && i < chip->pcm[CAPT].num_streams; i++) {
+sound/pci/lola/lola.c:		for (i = 0; out_sts && i < chip->pcm[PLAY].num_streams; i++) {
+sound/pci/lola/lola.c:	spin_unlock(&chip->reg_lock);
+sound/pci/lola/lola.c:	lola_pcm_update(chip, &chip->pcm[CAPT], notify_ins);
+sound/pci/lola/lola.c:	lola_pcm_update(chip, &chip->pcm[PLAY], notify_outs);
+sound/pci/lola/lola.c:	chip->cold_reset = 1;
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "cannot reset controller\n");
+sound/pci/lola/lola.c:	val = (1 << chip->pcm[PLAY].num_streams) - 1;
+sound/pci/lola/lola.c:	val = (1 << chip->pcm[CAPT].num_streams) - 1;
+sound/pci/lola/lola.c:				  &chip->pci->dev,
+sound/pci/lola/lola.c:				  PAGE_SIZE, &chip->rb);
+sound/pci/lola/lola.c:	chip->corb.addr = chip->rb.addr;
+sound/pci/lola/lola.c:	chip->corb.buf = (__le32 *)chip->rb.area;
+sound/pci/lola/lola.c:	chip->rirb.addr = chip->rb.addr + 2048;
+sound/pci/lola/lola.c:	chip->rirb.buf = (__le32 *)(chip->rb.area + 2048);
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, CORBLBASE, (u32)chip->corb.addr);
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, CORBUBASE, upper_32_bits(chip->corb.addr));
+sound/pci/lola/lola.c:	chip->corb.wp = 0;
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, RIRBLBASE, (u32)chip->rirb.addr);
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, RIRBUBASE, upper_32_bits(chip->rirb.addr));
+sound/pci/lola/lola.c:	chip->rirb.rp = chip->rirb.cmds = 0;
+sound/pci/lola/lola.c:	lola_set_granularity(chip, chip->granularity, true);
+sound/pci/lola/lola.c:	lola_set_clock_index(chip, chip->clock.cur_index);
+sound/pci/lola/lola.c:	lola_set_src_config(chip, chip->input_src_mask, false);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Can't read VENDOR_ID\n");
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Unknown codec vendor 0x%x\n", val);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Can't read FUNCTION_TYPE\n");
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Unknown function type %d\n", val);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Can't read SPECCAPS\n");
+sound/pci/lola/lola.c:	chip->lola_caps = val;
+sound/pci/lola/lola.c:	chip->pin[CAPT].num_pins = LOLA_AFG_INPUT_PIN_COUNT(chip->lola_caps);
+sound/pci/lola/lola.c:	chip->pin[PLAY].num_pins = LOLA_AFG_OUTPUT_PIN_COUNT(chip->lola_caps);
+sound/pci/lola/lola.c:	dev_dbg(chip->card->dev, "speccaps=0x%x, pins in=%d, out=%d\n",
+sound/pci/lola/lola.c:		    chip->lola_caps,
+sound/pci/lola/lola.c:		    chip->pin[CAPT].num_pins, chip->pin[PLAY].num_pins);
+sound/pci/lola/lola.c:	if (chip->pin[CAPT].num_pins > MAX_AUDIO_INOUT_COUNT ||
+sound/pci/lola/lola.c:	    chip->pin[PLAY].num_pins > MAX_AUDIO_INOUT_COUNT) {
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Invalid Lola-spec caps 0x%x\n", val);
+sound/pci/lola/lola.c:	if (LOLA_AFG_CLOCK_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola.c:	if (LOLA_AFG_MIXER_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola.c:	if (!chip->cold_reset) {
+sound/pci/lola/lola.c:		chip->cold_reset = 1;
+sound/pci/lola/lola.c:		if (chip->granularity != LOLA_GRANULARITY_MIN)
+sound/pci/lola/lola.c:			lola_set_granularity(chip, chip->granularity, true);
+sound/pci/lola/lola.c:	if (chip->initialized)
+sound/pci/lola/lola.c:	if (chip->irq >= 0)
+sound/pci/lola/lola.c:		free_irq(chip->irq, (void *)chip);
+sound/pci/lola/lola.c:	iounmap(chip->bar[0].remap_addr);
+sound/pci/lola/lola.c:	iounmap(chip->bar[1].remap_addr);
+sound/pci/lola/lola.c:	if (chip->rb.area)
+sound/pci/lola/lola.c:		snd_dma_free_pages(&chip->rb);
+sound/pci/lola/lola.c:	pci_release_regions(chip->pci);
+sound/pci/lola/lola.c:	pci_disable_device(chip->pci);
+sound/pci/lola/lola.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/lola/lola.c:	mutex_init(&chip->open_mutex);
+sound/pci/lola/lola.c:	chip->card = card;
+sound/pci/lola/lola.c:	chip->pci = pci;
+sound/pci/lola/lola.c:	chip->irq = -1;
+sound/pci/lola/lola.c:	chip->granularity = granularity[dev];
+sound/pci/lola/lola.c:	switch (chip->granularity) {
+sound/pci/lola/lola.c:		chip->sample_rate_max = 48000;
+sound/pci/lola/lola.c:		chip->sample_rate_max = 96000;
+sound/pci/lola/lola.c:		chip->sample_rate_max = 192000;
+sound/pci/lola/lola.c:		dev_warn(chip->card->dev,
+sound/pci/lola/lola.c:			   chip->granularity, LOLA_GRANULARITY_MAX);
+sound/pci/lola/lola.c:		chip->granularity = LOLA_GRANULARITY_MAX;
+sound/pci/lola/lola.c:		chip->sample_rate_max = 192000;
+sound/pci/lola/lola.c:	chip->sample_rate_min = sample_rate_min[dev];
+sound/pci/lola/lola.c:	if (chip->sample_rate_min > chip->sample_rate_max) {
+sound/pci/lola/lola.c:		dev_warn(chip->card->dev,
+sound/pci/lola/lola.c:			   chip->sample_rate_min);
+sound/pci/lola/lola.c:		chip->sample_rate_min = 16000;
+sound/pci/lola/lola.c:	chip->bar[0].addr = pci_resource_start(pci, 0);
+sound/pci/lola/lola.c:	chip->bar[0].remap_addr = pci_ioremap_bar(pci, 0);
+sound/pci/lola/lola.c:	chip->bar[1].addr = pci_resource_start(pci, 2);
+sound/pci/lola/lola.c:	chip->bar[1].remap_addr = pci_ioremap_bar(pci, 2);
+sound/pci/lola/lola.c:	if (!chip->bar[0].remap_addr || !chip->bar[1].remap_addr) {
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "ioremap error\n");
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "unable to grab IRQ %d\n", pci->irq);
+sound/pci/lola/lola.c:	chip->irq = pci->irq;
+sound/pci/lola/lola.c:	synchronize_irq(chip->irq);
+sound/pci/lola/lola.c:	chip->pcm[CAPT].num_streams = (dever >> 0) & 0x3ff;
+sound/pci/lola/lola.c:	chip->pcm[PLAY].num_streams = (dever >> 10) & 0x3ff;
+sound/pci/lola/lola.c:	chip->version = (dever >> 24) & 0xff;
+sound/pci/lola/lola.c:	dev_dbg(chip->card->dev, "streams in=%d, out=%d, version=0x%x\n",
+sound/pci/lola/lola.c:		    chip->pcm[CAPT].num_streams, chip->pcm[PLAY].num_streams,
+sound/pci/lola/lola.c:		    chip->version);
+sound/pci/lola/lola.c:	if (chip->pcm[CAPT].num_streams > MAX_STREAM_IN_COUNT ||
+sound/pci/lola/lola.c:	    chip->pcm[PLAY].num_streams > MAX_STREAM_OUT_COUNT ||
+sound/pci/lola/lola.c:	    (!chip->pcm[CAPT].num_streams &&
+sound/pci/lola/lola.c:	     !chip->pcm[PLAY].num_streams)) {
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "invalid DEVER = %x\n", dever);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Error creating device [card]!\n");
+sound/pci/lola/lola.c:		 card->shortname, chip->bar[0].addr, chip->irq);
+sound/pci/lola/lola.c:	chip->initialized = 1;
+sound/pci/lola/lola_clock.c:	if (!chip->granularity)
+sound/pci/lola/lola_clock.c:		if (val == chip->granularity)
+sound/pci/lola/lola_clock.c:		if (chip->audio_in_alloc_mask || chip->audio_out_alloc_mask)
+sound/pci/lola/lola_clock.c:						    chip->clock.cur_freq))
+sound/pci/lola/lola_clock.c:	chip->granularity = val;
+sound/pci/lola/lola_clock.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_clock.c:		dev_dbg(chip->card->dev, "No valid clock widget\n");
+sound/pci/lola/lola_clock.c:	chip->clock.nid = nid;
+sound/pci/lola/lola_clock.c:	chip->clock.items = val & 0xff;
+sound/pci/lola/lola_clock.c:	dev_dbg(chip->card->dev, "clock_list nid=%x, entries=%d\n", nid,
+sound/pci/lola/lola_clock.c:		    chip->clock.items);
+sound/pci/lola/lola_clock.c:	if (chip->clock.items > MAX_SAMPLE_CLOCK_COUNT) {
+sound/pci/lola/lola_clock.c:		dev_err(chip->card->dev, "CLOCK_LIST too big: %d\n",
+sound/pci/lola/lola_clock.c:		       chip->clock.items);
+sound/pci/lola/lola_clock.c:	nitems = chip->clock.items;
+sound/pci/lola/lola_clock.c:			dev_err(chip->card->dev, "Can't read CLOCK_LIST\n");
+sound/pci/lola/lola_clock.c:				if (freq < chip->sample_rate_min)
+sound/pci/lola/lola_clock.c:					chip->clock.cur_index = idx_list;
+sound/pci/lola/lola_clock.c:					chip->clock.cur_freq = 48000;
+sound/pci/lola/lola_clock.c:					chip->clock.cur_valid = true;
+sound/pci/lola/lola_clock.c:				if (freq < chip->sample_rate_min)
+sound/pci/lola/lola_clock.c:				sc = &chip->clock.sample_clock[idx_list];
+sound/pci/lola/lola_clock.c:				chip->clock.idx_lookup[idx_list] = idx;
+sound/pci/lola/lola_clock.c:				chip->clock.items--;
+sound/pci/lola/lola_clock.c:	err = lola_codec_read(chip, chip->clock.nid,
+sound/pci/lola/lola_clock.c:		dev_warn(chip->card->dev, "error in enable_clock_events %d\n",
+sound/pci/lola/lola_clock.c:	err = lola_codec_read(chip, chip->clock.nid,
+sound/pci/lola/lola_clock.c:			      chip->clock.idx_lookup[idx],
+sound/pci/lola/lola_clock.c:		dev_warn(chip->card->dev, "error in set_clock %d\n", res);
+sound/pci/lola/lola_clock.c:	if (chip->clock.sample_clock[chip->clock.cur_index].type !=
+sound/pci/lola/lola_clock.c:		chip->clock.cur_freq = lola_sample_rate_convert(val & 0x7f);
+sound/pci/lola/lola_clock.c:		chip->clock.cur_valid = (val & 0x100) != 0;
+sound/pci/lola/lola_clock.c:	if (idx == chip->clock.cur_index) {
+sound/pci/lola/lola_clock.c:		freq = chip->clock.cur_freq;
+sound/pci/lola/lola_clock.c:		valid = chip->clock.cur_valid;
+sound/pci/lola/lola_clock.c:	} else if (chip->clock.sample_clock[idx].type ==
+sound/pci/lola/lola_clock.c:		freq = chip->clock.sample_clock[idx].freq;
+sound/pci/lola/lola_clock.c:	if (!check_gran_clock_compatibility(chip, chip->granularity, freq))
+sound/pci/lola/lola_clock.c:	if (idx != chip->clock.cur_index) {
+sound/pci/lola/lola_clock.c:		chip->clock.cur_index = idx;
+sound/pci/lola/lola_clock.c:		chip->clock.cur_freq = freq;
+sound/pci/lola/lola_clock.c:		chip->clock.cur_valid = true;
+sound/pci/lola/lola_clock.c:	if (chip->clock.cur_freq == rate && chip->clock.cur_valid)
+sound/pci/lola/lola_clock.c:	for (i = 0; i < chip->clock.items; i++) {
+sound/pci/lola/lola_clock.c:		if (chip->clock.sample_clock[i].type == LOLA_CLOCK_TYPE_INTERNAL &&
+sound/pci/lola/lola_clock.c:		    chip->clock.sample_clock[i].freq == rate)
+sound/pci/lola/lola_clock.c:	if (i >= chip->clock.items)
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Invalid wcaps 0x%x for 0x%x\n", val, nid);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't read AMP-caps for 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't get MAX_LEVEL 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[dir].num_pins; i++, nid++) {
+sound/pci/lola/lola_mixer.c:		err = lola_init_pin(chip, &chip->pin[dir].pins[i], dir, nid);
+sound/pci/lola/lola_mixer.c:		if (chip->pin[dir].pins[i].is_analog)
+sound/pci/lola/lola_mixer.c:			chip->pin[dir].num_analog_pins++;
+sound/pci/lola/lola_mixer.c:	vfree(chip->mixer.array_saved);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:		dev_dbg(chip->card->dev, "No valid mixer widget\n");
+sound/pci/lola/lola_mixer.c:	chip->mixer.nid = nid;
+sound/pci/lola/lola_mixer.c:	chip->mixer.caps = val;
+sound/pci/lola/lola_mixer.c:	chip->mixer.array = (struct lola_mixer_array __iomem *)
+sound/pci/lola/lola_mixer.c:		(chip->bar[BAR1].remap_addr + LOLA_BAR1_SOURCE_GAIN_ENABLE);
+sound/pci/lola/lola_mixer.c:	chip->mixer.array_saved = vmalloc(sizeof(struct lola_mixer_array));
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_stream_outs = chip->pcm[PLAY].num_streams;
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_phys_ins = chip->pin[CAPT].num_pins;
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_stream_ins = chip->pcm[CAPT].num_streams;
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_phys_outs = chip->pin[PLAY].num_pins;
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_stream_out_ofs = chip->mixer.src_phys_ins +
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_phys_out_ofs = chip->mixer.dest_stream_ins +
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.src_stream_out_ofs > MAX_AUDIO_INOUT_COUNT ||
+sound/pci/lola/lola_mixer.c:	    chip->mixer.dest_phys_out_ofs > MAX_STREAM_IN_COUNT) {
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Invalid mixer widget size\n");
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_mask = ((1U << chip->mixer.src_phys_ins) - 1) |
+sound/pci/lola/lola_mixer.c:		(((1U << chip->mixer.src_stream_outs) - 1)
+sound/pci/lola/lola_mixer.c:		 << chip->mixer.src_stream_out_ofs);
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_mask = ((1U << chip->mixer.dest_stream_ins) - 1) |
+sound/pci/lola/lola_mixer.c:		(((1U << chip->mixer.dest_phys_outs) - 1)
+sound/pci/lola/lola_mixer.c:		 << chip->mixer.dest_phys_out_ofs);
+sound/pci/lola/lola_mixer.c:	dev_dbg(chip->card->dev, "Mixer src_mask=%x, dest_mask=%x\n",
+sound/pci/lola/lola_mixer.c:		    chip->mixer.src_mask, chip->mixer.dest_mask);
+sound/pci/lola/lola_mixer.c:	if (!(chip->mixer.src_mask & (1 << id)))
+sound/pci/lola/lola_mixer.c:	oldval = val = readl(&chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:	    (gain == readw(&chip->mixer.array->src_gain[id])))
+sound/pci/lola/lola_mixer.c:	dev_dbg(chip->card->dev,
+sound/pci/lola/lola_mixer.c:	writew(gain, &chip->mixer.array->src_gain[id]);
+sound/pci/lola/lola_mixer.c:	writel(val, &chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:	return lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	if ((chip->mixer.src_mask & mask) != mask)
+sound/pci/lola/lola_mixer.c:			writew(*gains, &chip->mixer.array->src_gain[i]);
+sound/pci/lola/lola_mixer.c:	writel(mask, &chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.caps & LOLA_PEAK_METER_CAN_AGC_MASK) {
+sound/pci/lola/lola_mixer.c:		return lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	if (!(chip->mixer.src_mask & (1 << src)) ||
+sound/pci/lola/lola_mixer.c:	    !(chip->mixer.dest_mask & (1 << dest)))
+sound/pci/lola/lola_mixer.c:		writew(gain, &chip->mixer.array->dest_mix_gain[dest][src]);
+sound/pci/lola/lola_mixer.c:	val = readl(&chip->mixer.array->dest_mix_gain_enable[dest]);
+sound/pci/lola/lola_mixer.c:	writel(val, &chip->mixer.array->dest_mix_gain_enable[dest]);
+sound/pci/lola/lola_mixer.c:	return lola_codec_write(chip, chip->mixer.nid, LOLA_VERB_SET_MIX_GAIN,
+sound/pci/lola/lola_mixer.c:	if (!(chip->mixer.dest_mask & (1 << id)) ||
+sound/pci/lola/lola_mixer.c:	    (chip->mixer.src_mask & mask) != mask)
+sound/pci/lola/lola_mixer.c:			writew(*gains, &chip->mixer.array->dest_mix_gain[id][i]);
+sound/pci/lola/lola_mixer.c:	writel(mask, &chip->mixer.array->dest_mix_gain_enable[id]);
+sound/pci/lola/lola_mixer.c:	return lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	pin = chip->pin[dir].pins;
+sound/pci/lola/lola_mixer.c:	max_idx = chip->pin[dir].num_pins;
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.array_saved) {
+sound/pci/lola/lola_mixer.c:		memcpy_fromio(chip->mixer.array_saved, chip->mixer.array,
+sound/pci/lola/lola_mixer.c:			      sizeof(*chip->mixer.array));
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.array_saved) {
+sound/pci/lola/lola_mixer.c:		memcpy_toio(chip->mixer.array, chip->mixer.array_saved,
+sound/pci/lola/lola_mixer.c:			    sizeof(*chip->mixer.array));
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.src_phys_ins; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.src_stream_outs; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:					 chip->mixer.src_stream_out_ofs + i, 0);
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.dest_stream_ins; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.dest_phys_outs; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:					 chip->mixer.dest_phys_out_ofs + i, 0);
+sound/pci/lola/lola_mixer.c:	if (idx >= chip->pin[dir].num_pins)
+sound/pci/lola/lola_mixer.c:	pin = &chip->pin[dir].pins[idx];
+sound/pci/lola/lola_mixer.c:	dev_dbg(chip->card->dev,
+sound/pci/lola/lola_mixer.c:	if ((chip->input_src_caps_mask & src_mask) != src_mask)
+sound/pci/lola/lola_mixer.c:	for (n = 0; n < chip->pin[CAPT].num_pins; n += 2) {
+sound/pci/lola/lola_mixer.c:		if (!(chip->input_src_caps_mask & mask))
+sound/pci/lola/lola_mixer.c:			src_state = (chip->input_src_mask & mask) != 0;
+sound/pci/lola/lola_mixer.c:		err = lola_codec_write(chip, chip->pcm[CAPT].streams[n].nid,
+sound/pci/lola/lola_mixer.c:		chip->input_src_mask = src_mask;
+sound/pci/lola/lola_mixer.c:	lola_set_src_config(chip, (1 << chip->pin[CAPT].num_pins) - 1, false);
+sound/pci/lola/lola_mixer.c:	memset_io(chip->mixer.array, 0, sizeof(*chip->mixer.array));
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.dest_stream_ins; i++)
+sound/pci/lola/lola_mixer.c:		lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.dest_phys_outs; i++)
+sound/pci/lola/lola_mixer.c:		lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:				 chip->mixer.dest_phys_out_ofs + i, 0);
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.src_phys_ins; i++)
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.src_stream_outs; i++)
+sound/pci/lola/lola_mixer.c:					i + chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.dest_stream_ins; i++) {
+sound/pci/lola/lola_mixer.c:		int src = i % chip->mixer.src_phys_ins;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.src_stream_outs; i++) {
+sound/pci/lola/lola_mixer.c:		int src = chip->mixer.src_stream_out_ofs + i;
+sound/pci/lola/lola_mixer.c:		int dst = chip->mixer.dest_phys_out_ofs +
+sound/pci/lola/lola_mixer.c:			i % chip->mixer.dest_phys_outs;
+sound/pci/lola/lola_mixer.c:	uinfo->count = chip->pin[dir].num_pins;
+sound/pci/lola/lola_mixer.c:	uinfo->value.integer.max = chip->pin[dir].pins[0].amp_num_steps;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[dir].num_pins; i++)
+sound/pci/lola/lola_mixer.c:			chip->pin[dir].pins[i].cur_gain_step;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[dir].num_pins; i++) {
+sound/pci/lola/lola_mixer.c:	pin = &chip->pin[dir].pins[0];
+sound/pci/lola/lola_mixer.c:	if (!chip->pin[dir].num_pins)
+sound/pci/lola/lola_mixer.c:	if (chip->pin[dir].num_pins != chip->pin[dir].num_analog_pins)
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	uinfo->count = chip->pin[CAPT].num_pins;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[CAPT].num_pins; i++)
+sound/pci/lola/lola_mixer.c:			!!(chip->input_src_mask & (1 << i));
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[CAPT].num_pins; i++)
+sound/pci/lola/lola_mixer.c:	if (!chip->input_src_caps_mask)
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	mask = readl(&chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:		if (!(chip->mixer.src_mask & (1 << idx)))
+sound/pci/lola/lola_mixer.c:			val = readw(&chip->mixer.array->src_gain[idx]) + 1;
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	mask = readl(&chip->mixer.array->dest_mix_gain_enable[dst]);
+sound/pci/lola/lola_mixer.c:		if (!(chip->mixer.src_mask & (1 << src)))
+sound/pci/lola/lola_mixer.c:			val = readw(&chip->mixer.array->dest_mix_gain[dst][src]) + 1;
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	err = create_src_gain_mixer(chip, chip->mixer.src_phys_ins, 0,
+sound/pci/lola/lola_mixer.c:	err = create_src_gain_mixer(chip, chip->mixer.src_stream_outs,
+sound/pci/lola/lola_mixer.c:				    chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_phys_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_stream_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_stream_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_phys_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_out_ofs,
+sound/pci/lola/lola_pcm.c:	return &chip->pcm[substream->stream];
+sound/pci/lola/lola_pcm.c:	if (chip->granularity) {
+sound/pci/lola/lola_pcm.c:		tstamp += (wait_banks + 1) * chip->granularity - 1;
+sound/pci/lola/lola_pcm.c:		tstamp -= tstamp % chip->granularity;
+sound/pci/lola/lola_pcm.c:	dev_warn(chip->card->dev, "SRST not clear (stream %d)\n", str->dsd);
+sound/pci/lola/lola_pcm.c:	dev_warn(chip->card->dev, "FIFO not ready (stream %d)\n", str->dsd);
+sound/pci/lola/lola_pcm.c:	dev_warn(chip->card->dev, "FIFO not ready (pending %d)\n", pending - 1);
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:		mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	if (chip->sample_rate) {
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_min = chip->sample_rate;
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_max = chip->sample_rate;
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_min = chip->sample_rate_min;
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_max = chip->sample_rate_max;
+sound/pci/lola/lola_pcm.c:	chip->ref_count_rate++;
+sound/pci/lola/lola_pcm.c:	/* period size = multiple of chip->granularity (8, 16 or 32 frames)*/
+sound/pci/lola/lola_pcm.c:				   chip->granularity);
+sound/pci/lola/lola_pcm.c:				   chip->granularity);
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	if (--chip->ref_count_rate == 0) {
+sound/pci/lola/lola_pcm.c:		chip->sample_rate = 0;
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	dev_err(chip->card->dev, "Too many BDL entries: buffer=%d, period=%d\n",
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev, "Cannot set stream format 0x%x\n",
+sound/pci/lola/lola_pcm.c:			dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:		mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	chip->sample_rate = runtime->rate;	/* sample rate gets locked */
+sound/pci/lola/lola_pcm.c:	spin_lock(&chip->reg_lock);
+sound/pci/lola/lola_pcm.c:	spin_unlock(&chip->reg_lock);
+sound/pci/lola/lola_pcm.c:					  &chip->pci->dev,
+sound/pci/lola/lola_pcm.c:					  PAGE_SIZE, &chip->pcm[i].bdl);
+sound/pci/lola/lola_pcm.c:	err = snd_pcm_new(chip->card, "Digigram Lola", 0,
+sound/pci/lola/lola_pcm.c:			  chip->pcm[SNDRV_PCM_STREAM_PLAYBACK].num_streams,
+sound/pci/lola/lola_pcm.c:			  chip->pcm[SNDRV_PCM_STREAM_CAPTURE].num_streams,
+sound/pci/lola/lola_pcm.c:		if (chip->pcm[i].num_streams)
+sound/pci/lola/lola_pcm.c:					      &chip->pci->dev,
+sound/pci/lola/lola_pcm.c:	snd_dma_free_pages(&chip->pcm[0].bdl);
+sound/pci/lola/lola_pcm.c:	snd_dma_free_pages(&chip->pcm[1].bdl);
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_pcm.c:			dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:			dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:			chip->input_src_caps_mask |= (1 << idx);
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev, "Can't read FORMATS 0x%x\n", nid);
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:	struct lola_pcm *pcm = &chip->pcm[dir];
+sound/pci/lola/lola_proc.c:		    chip->pin[CAPT].num_pins, chip->pin[PLAY].num_pins);
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pcm[CAPT].num_streams; i++, nid++)
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pcm[PLAY].num_streams; i++, nid++)
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pin[CAPT].num_pins; i++, nid++)
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pin[PLAY].num_pins; i++, nid++)
+sound/pci/lola/lola_proc.c:	if (LOLA_AFG_CLOCK_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola_proc.c:	if (LOLA_AFG_MIXER_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola_proc.c:				&chip->debug_res,
+sound/pci/lola/lola_proc.c:				&chip->debug_res_ex);
+sound/pci/lola/lola_proc.c:	snd_iprintf(buffer, "0x%x 0x%x\n", chip->debug_res, chip->debug_res_ex);
+sound/pci/lola/lola_proc.c:			    readl(chip->bar[BAR0].remap_addr + i));
+sound/pci/lola/lola_proc.c:			    readl(chip->bar[BAR1].remap_addr + i));
+sound/pci/lola/lola_proc.c:			    readl(chip->bar[BAR1].remap_addr + i));
+sound/pci/lola/lola_proc.c:	snd_card_ro_proc_new(chip->card, "codec", chip, lola_proc_codec_read);
+sound/pci/lola/lola_proc.c:	snd_card_rw_proc_new(chip->card, "codec_rw", chip,
+sound/pci/lola/lola_proc.c:	snd_card_ro_proc_new(chip->card, "regs", chip, lola_proc_regs_read);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "allocating pipe for %d channels\n", channels);
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, LXP "allocating pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "setting granularity to %ld failed\n",
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "setting stream format\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "setting stream format failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "starting pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "starting pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "waiting for pipe to start\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "waiting for pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "pausing pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "pausing pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "waiting for pipe to become idle\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "waiting for pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "stopping pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "stopping pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "releasing pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "releasing pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_open\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev, "could not constrain periods\n");
+sound/pci/lx6464es/lx6464es.c:	board_rate = chip->board_sample_rate;
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev, "could not constrain periods\n");
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev,
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "<-lx_pcm_open, %d\n", err);
+sound/pci/lx6464es/lx6464es.c:	struct lx_stream *lx_stream = is_capture ? &chip->capture_stream :
+sound/pci/lx6464es/lx6464es.c:		&chip->playback_stream;
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_stream_pointer\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "stream_pointer at %ld\n", pos);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_prepare\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	if (chip->hardware_running[is_capture]) {
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to stop hardware. "
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to close hardware. "
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "opening hardware\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "failed to open hardware. "
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "failed to start hardware. "
+sound/pci/lx6464es/lx6464es.c:	chip->hardware_running[is_capture] = 1;
+sound/pci/lx6464es/lx6464es.c:	if (chip->board_sample_rate != substream->runtime->rate) {
+sound/pci/lx6464es/lx6464es.c:			chip->board_sample_rate = substream->runtime->rate;
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_hw_params\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:		chip->capture_stream.stream = substream;
+sound/pci/lx6464es/lx6464es.c:		chip->playback_stream.stream = substream;
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_hw_free\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	if (chip->hardware_running[is_capture]) {
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to stop hardware. "
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to close hardware. "
+sound/pci/lx6464es/lx6464es.c:		chip->hardware_running[is_capture] = 0;
+sound/pci/lx6464es/lx6464es.c:		chip->capture_stream.stream = NULL;
+sound/pci/lx6464es/lx6464es.c:		chip->playback_stream.stream = NULL;
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:		dev_dbg(chip->card->dev, "starting: needed %d, freed %d\n",
+sound/pci/lx6464es/lx6464es.c:		dev_dbg(chip->card->dev, "starting: buffer index %x on 0x%lx (%d bytes)\n",
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "starting: needed %d, freed %d\n", needed, freed);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "starting: starting stream\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "couldn't start stream\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "stopping: stopping stream\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "couldn't stop stream\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	lx_trigger_dispatch_stream(chip, &chip->capture_stream);
+sound/pci/lx6464es/lx6464es.c:	lx_trigger_dispatch_stream(chip, &chip->playback_stream);
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	struct lx_stream *stream = is_capture ? &chip->capture_stream :
+sound/pci/lx6464es/lx6464es.c:		&chip->playback_stream;
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_trigger\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->snd_lx6464es_free\n");
+sound/pci/lx6464es/lx6464es.c:	if (chip->irq >= 0)
+sound/pci/lx6464es/lx6464es.c:		free_irq(chip->irq, chip);
+sound/pci/lx6464es/lx6464es.c:	iounmap(chip->port_dsp_bar);
+sound/pci/lx6464es/lx6464es.c:	ioport_unmap(chip->port_plx_remapped);
+sound/pci/lx6464es/lx6464es.c:	pci_release_regions(chip->pci);
+sound/pci/lx6464es/lx6464es.c:	pci_disable_device(chip->pci);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_xilinx_reset\n");
+sound/pci/lx6464es/lx6464es.c:			dev_dbg(chip->card->dev, "xilinx reset done\n");
+sound/pci/lx6464es/lx6464es.c:			dev_dbg(chip->card->dev, "xilinx took %d loops\n", i);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_xilinx_test\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "Problem: Reg_CSM %x.\n", reg);
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "Error: Reg_CSM %x.\n", reg);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "Xilinx/MicroBlaze access test successful\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_ethersound\n");
+sound/pci/lx6464es/lx6464es.c:	chip->freq_ratio = FREQ_RATIO_SINGLE_MODE;
+sound/pci/lx6464es/lx6464es.c:			dev_dbg(chip->card->dev, "ethersound initialized after %dms\n",
+sound/pci/lx6464es/lx6464es.c:	dev_warn(chip->card->dev,
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "ethersound initialized\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_get_version_features\n");
+sound/pci/lx6464es/lx6464es.c:		dev_info(chip->card->dev, "DSP version: V%02d.%02d #%d\n",
+sound/pci/lx6464es/lx6464es.c:			chip->board_sample_rate = freq;
+sound/pci/lx6464es/lx6464es.c:		dev_dbg(chip->card->dev, "actual clock frequency %d\n", freq);
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "DSP corrupted \n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_set_granularity\n");
+sound/pci/lx6464es/lx6464es.c:	if (snapped_gran == chip->pcm_granularity)
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev, "could not set granularity\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "snapped blocksize to %d\n", snapped_gran);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "set blocksize on board %d\n", snapped_gran);
+sound/pci/lx6464es/lx6464es.c:	chip->pcm_granularity = snapped_gran;
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_dsp\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "initialize board\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "testing board\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "initialize ethersound configuration\n");
+sound/pci/lx6464es/lx6464es.c:		if (chip->mac_address[0] || chip->mac_address[1] || chip->mac_address[2] ||
+sound/pci/lx6464es/lx6464es.c:		    chip->mac_address[3] || chip->mac_address[4] || chip->mac_address[5])
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "mac address ready read after: %dms\n", i);
+sound/pci/lx6464es/lx6464es.c:	dev_info(chip->card->dev,
+sound/pci/lx6464es/lx6464es.c:		   chip->mac_address[0], chip->mac_address[1], chip->mac_address[2],
+sound/pci/lx6464es/lx6464es.c:		   chip->mac_address[3], chip->mac_address[4], chip->mac_address[5]);
+sound/pci/lx6464es/lx6464es.c:	chip->playback_mute = 0;
+sound/pci/lx6464es/lx6464es.c:	err = snd_pcm_new(chip->card, (char *)card_name, 0,
+sound/pci/lx6464es/lx6464es.c:					      &chip->pci->dev,
+sound/pci/lx6464es/lx6464es.c:	chip->pcm = pcm;
+sound/pci/lx6464es/lx6464es.c:	chip->capture_stream.is_capture = 1;
+sound/pci/lx6464es/lx6464es.c:	ucontrol->value.integer.value[0] = chip->playback_mute;
+sound/pci/lx6464es/lx6464es.c:	int current_value = chip->playback_mute;
+sound/pci/lx6464es/lx6464es.c:		chip->playback_mute = !current_value;
+sound/pci/lx6464es/lx6464es.c:	chip->card = card;
+sound/pci/lx6464es/lx6464es.c:	chip->pci = pci;
+sound/pci/lx6464es/lx6464es.c:	chip->irq = -1;
+sound/pci/lx6464es/lx6464es.c:	mutex_init(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	mutex_init(&chip->msg_lock);
+sound/pci/lx6464es/lx6464es.c:	mutex_init(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	chip->port_plx = pci_resource_start(pci, 1);
+sound/pci/lx6464es/lx6464es.c:	chip->port_plx_remapped = ioport_map(chip->port_plx,
+sound/pci/lx6464es/lx6464es.c:	chip->port_dsp_bar = pci_ioremap_bar(pci, 2);
+sound/pci/lx6464es/lx6464es.c:	if (!chip->port_dsp_bar) {
+sound/pci/lx6464es/lx6464es.c:	chip->irq = pci->irq;
+sound/pci/lx6464es/lx6464es.c:	iounmap(chip->port_dsp_bar);
+sound/pci/lx6464es/lx6464es.c:		chip->mac_address[3], chip->mac_address[4], chip->mac_address[5]);
+sound/pci/lx6464es/lx6464es.c:		chip->mac_address[0], chip->mac_address[1], chip->mac_address[2],
+sound/pci/lx6464es/lx6464es.c:		chip->mac_address[3], chip->mac_address[4], chip->mac_address[5]);
+sound/pci/lx6464es/lx6464es.c:		card->shortname, chip->port_plx,
+sound/pci/lx6464es/lx6464es.c:		chip->port_dsp_bar, chip->irq);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "initialization successful\n");
+sound/pci/lx6464es/lx_core.c:	void __iomem *base_address = chip->port_dsp_bar;
+sound/pci/lx6464es/lx_core.c:	void __iomem *base_address = chip->port_plx_remapped;
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "PIOSendMessage eReg_CSM %x\n", reg);
+sound/pci/lx6464es/lx_core.c:	dev_warn(chip->card->dev, "TIMEOUT lx_message_send_atomic! "
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "rmh error: %08x\n", reg);
+sound/pci/lx6464es/lx_core.c:		dev_warn(chip->card->dev, "lx_message_send: dsp timeout\n");
+sound/pci/lx6464es/lx_core.c:		dev_warn(chip->card->dev, "lx_message_send: dsp crashed\n");
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG);
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	*rdsp_version = chip->rmh.stat[1];
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG);
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		freq_raw = chip->rmh.stat[0] >> FREQ_FIELD_OFFSET;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	*rfreq = frequency * chip->freq_ratio;
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[5] = ((u8 *)(&maclsb))[0];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[4] = ((u8 *)(&maclsb))[1];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[3] = ((u8 *)(&maclsb))[2];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[2] = ((u8 *)(&macmsb))[0];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[1] = ((u8 *)(&macmsb))[1];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[0] = ((u8 *)(&macmsb))[2];
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_02_SET_GRANULARITY);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= gran;
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_04_GET_EVENT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.stat_len = 9;	/* we don't necessarily need the full length */
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		memcpy(data, chip->rmh.stat, chip->rmh.stat_len * sizeof(u32));
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_06_ALLOCATE_PIPE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= channels;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "could not allocate pipe\n");
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_07_RELEASE_PIPE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_08_ASK_BUFFERS);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:			u32 stat = chip->rmh.stat[i];
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:			for (i = 0; i != chip->rmh.stat_len; ++i)
+sound/pci/lx6464es/lx_core.c:				dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:					    chip->rmh.stat[i],
+sound/pci/lx6464es/lx_core.c:					    chip->rmh.stat[i] & MASK_DATA_SIZE);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_09_STOP_PIPE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0B_TOGGLE_PIPE_STATE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.stat_len = 2;	/* need all words here! */
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh); /* don't sleep! */
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		*rsample_count = ((u64)(chip->rmh.stat[0] & MASK_SPL_COUNT_HI)
+sound/pci/lx6464es/lx_core.c:			+ chip->rmh.stat[1]; /* lo part */
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "could not query pipe's state\n");
+sound/pci/lx6464es/lx_core.c:		*rstate = (chip->rmh.stat[0] >> PSTATE_OFFSET) & 0x0F;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_13_SET_STREAM_STATE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= state;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "channel count mismatch: %d vs %d",
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0C_DEF_STREAM);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= (STREAM_FMT_16b << STREAM_FMT_OFFSET);
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= (STREAM_FMT_intel << STREAM_FMT_OFFSET);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= channels-1;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	*rstate = (chip->rmh.stat[0] & SF_START) ? START_STATE : PAUSE_STATE;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	*r_bytepos = ((u64) (chip->rmh.stat[0] & MASK_SPL_COUNT_HI)
+sound/pci/lx6464es/lx_core.c:		+ chip->rmh.stat[1]; /* lo part */
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0F_UPDATE_BUFFER);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= BF_NOTIFY_EOB; /* request interrupt notification */
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[1] = buffer_size & MASK_DATA_SIZE;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[2] = buf_address_lo;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd_len = 4;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[3] = buf_address_hi;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= BF_64BITS_ADR;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		*r_buffer_index = chip->rmh.stat[0];
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= MASK_BUFFER_ID; /* ask for the current buffer: the
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		*r_buffer_size = chip->rmh.stat[0]  & MASK_DATA_SIZE;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= buffer_index;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0D_SET_MUTE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, 0);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[1] = (u32)(mute_mask >> (u64)32);	       /* hi part */
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[2] = (u32)(mute_mask & (u64)0xFFFFFFFF); /* lo part */
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		"mute %x %x %x\n", chip->rmh.cmd[0], chip->rmh.cmd[1],
+sound/pci/lx6464es/lx_core.c:		   chip->rmh.cmd[2]);
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		lx_message_init(&chip->rmh, CMD_12_GET_PEAK);
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, i);
+sound/pci/lx6464es/lx_core.c:		err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:			s0 = peak_map[chip->rmh.stat[0] & 0x0F];
+sound/pci/lx6464es/lx_core.c:			s1 = peak_map[(chip->rmh.stat[0] >>  4) & 0xf];
+sound/pci/lx6464es/lx_core.c:			s2 = peak_map[(chip->rmh.stat[0] >>  8) & 0xf];
+sound/pci/lx6464es/lx_core.c:			s3 = peak_map[(chip->rmh.stat[0] >>  12) & 0xf];
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		/* dev_dbg(chip->card->dev, "interrupt: async event pending\n"); */
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBI pending %llx\n",
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBO pending %llx\n",
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev, "->lx_interrupt_request_new_buffer\n");
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->lock);
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->lock);
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "IRQ_NONE\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBI\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBO\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: URUN\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: ORUN\n");
+sound/pci/lx6464es/lx_core.c:		chip->irqsrc = irqsrc;
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt requests escmd handling\n");
+sound/pci/lx6464es/lx_core.c:	err = lx_interrupt_handle_async_events(chip, chip->irqsrc,
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "error handling async events\n");
+sound/pci/lx6464es/lx_core.c:		struct lx_stream *lx_stream = &chip->capture_stream;
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:			dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		struct lx_stream *lx_stream = &chip->playback_stream;
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:			dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev, "->lx_irq_enable\n");
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev, "->lx_irq_disable\n");
+sound/pci/maestro3.c:	outw(value, chip->iobase + reg);
+sound/pci/maestro3.c:	return inw(chip->iobase + reg);
+sound/pci/maestro3.c:	outb(value, chip->iobase + reg);
+sound/pci/maestro3.c:	return inb(chip->iobase + reg);
+sound/pci/maestro3.c:	chip->reset_state = snd_m3_inb(chip, DSP_PORT_CONTROL_REG_B) & ~REGB_STOP_CLOCK;
+sound/pci/maestro3.c:	snd_m3_outb(chip, chip->reset_state & ~REGB_ENABLE_RESET, DSP_PORT_CONTROL_REG_B);
+sound/pci/maestro3.c:	snd_m3_outb(chip, chip->reset_state | REGB_ENABLE_RESET, DSP_PORT_CONTROL_REG_B);
+sound/pci/maestro3.c:	chip->timer_users++;
+sound/pci/maestro3.c:	if (chip->timer_users != 1) 
+sound/pci/maestro3.c:	chip->timer_users--;
+sound/pci/maestro3.c:	if (chip->timer_users > 0)  
+sound/pci/maestro3.c:		chip->dacs_active++;
+sound/pci/maestro3.c:				  chip->dacs_active);
+sound/pci/maestro3.c:		chip->dacs_active--;
+sound/pci/maestro3.c:				  chip->dacs_active);
+sound/pci/maestro3.c:	spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:		spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:		spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:	x = inb(chip->iobase + SHADOW_MIX_REG_VOICE) & 0xee;
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + SHADOW_MIX_REG_VOICE);
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + HW_VOL_COUNTER_VOICE);
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + SHADOW_MIX_REG_MASTER);
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + HW_VOL_COUNTER_MASTER);
+sound/pci/maestro3.c:	if (chip->in_suspend)
+sound/pci/maestro3.c:	if (!chip->master_switch || !chip->master_volume)
+sound/pci/maestro3.c:	val = snd_ac97_read(chip->ac97, AC97_MASTER);
+sound/pci/maestro3.c:	if (snd_ac97_update(chip->ac97, AC97_MASTER, val))
+sound/pci/maestro3.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/maestro3.c:			       &chip->master_switch->id);
+sound/pci/maestro3.c:	if (!chip->input_dev)
+sound/pci/maestro3.c:		input_report_key(chip->input_dev, val, 1);
+sound/pci/maestro3.c:		input_sync(chip->input_dev);
+sound/pci/maestro3.c:		input_report_key(chip->input_dev, val, 0);
+sound/pci/maestro3.c:		input_sync(chip->input_dev);
+sound/pci/maestro3.c:	status = inb(chip->iobase + HOST_INT_STATUS);
+sound/pci/maestro3.c:		schedule_work(&chip->hwvol_work);
+sound/pci/maestro3.c:		u8 ctl = inb(chip->iobase + ASSP_CONTROL_B);
+sound/pci/maestro3.c:			ctl = inb(chip->iobase + ASSP_HOST_INT_STATUS);
+sound/pci/maestro3.c:				outb(DSP2HOST_REQ_TIMER, chip->iobase + ASSP_HOST_INT_STATUS);
+sound/pci/maestro3.c:				spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:				for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:					struct m3_dma *s = &chip->substreams[i];
+sound/pci/maestro3.c:				spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:	if ((status & MPU401_INT_PENDING) && chip->rmidi)
+sound/pci/maestro3.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs);
+sound/pci/maestro3.c:	outb(status, chip->iobase + HOST_INT_STATUS);
+sound/pci/maestro3.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:		s = &chip->substreams[i];
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:		s->index_list[0] = &chip->mixer_list;
+sound/pci/maestro3.c:		s->index_list[0] = &chip->adc1_list;
+sound/pci/maestro3.c:	s->index_list[1] = &chip->msrc_list;
+sound/pci/maestro3.c:	s->index_list[2] = &chip->dma_list;
+sound/pci/maestro3.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	err = snd_pcm_new(chip->card, chip->card->driver, device,
+sound/pci/maestro3.c:	strcpy(pcm->name, chip->card->driver);
+sound/pci/maestro3.c:	chip->pcm = pcm;
+sound/pci/maestro3.c:					      &chip->pci->dev,
+sound/pci/maestro3.c:	dev_err(chip->card->dev, "ac97 serial bus busy\n");
+sound/pci/maestro3.c:	int io = chip->iobase;
+sound/pci/maestro3.c:	if (chip->pci->subsystem_vendor == 0x1028 &&
+sound/pci/maestro3.c:	    chip->pci->subsystem_device == 0x00e5)
+sound/pci/maestro3.c:	int io = chip->iobase;
+sound/pci/maestro3.c:	if (chip->allegro_flag) {
+sound/pci/maestro3.c:		if (!chip->irda_workaround)
+sound/pci/maestro3.c:		dev_dbg(chip->card->dev,
+sound/pci/maestro3.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/maestro3.c:	if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97)) < 0)
+sound/pci/maestro3.c:	snd_ac97_write(chip->ac97, AC97_PCM, 0x8000 | (15 << 8) | 15);
+sound/pci/maestro3.c:	snd_ac97_write(chip->ac97, AC97_PCM, 0);
+sound/pci/maestro3.c:	chip->master_switch = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/maestro3.c:	chip->master_volume = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/maestro3.c:	data = (const __le16 *)chip->assp_kernel_image->data;
+sound/pci/maestro3.c:	for (i = 0 ; i * 2 < chip->assp_kernel_image->size; i++) {
+sound/pci/maestro3.c:	data = (const __le16 *)chip->assp_minisrc_image->data;
+sound/pci/maestro3.c:	for (i = 0; i * 2 < chip->assp_minisrc_image->size; i++) {
+sound/pci/maestro3.c:	chip->mixer_list.curlen = 0;
+sound/pci/maestro3.c:	chip->mixer_list.mem_addr = KDATA_MIXER_XFER0;
+sound/pci/maestro3.c:	chip->mixer_list.max = MAX_VIRTUAL_MIXER_CHANNELS;
+sound/pci/maestro3.c:	chip->adc1_list.curlen = 0;
+sound/pci/maestro3.c:	chip->adc1_list.mem_addr = KDATA_ADC1_XFER0;
+sound/pci/maestro3.c:	chip->adc1_list.max = MAX_VIRTUAL_ADC1_CHANNELS;
+sound/pci/maestro3.c:	chip->dma_list.curlen = 0;
+sound/pci/maestro3.c:	chip->dma_list.mem_addr = KDATA_DMA_XFER0;
+sound/pci/maestro3.c:	chip->dma_list.max = MAX_VIRTUAL_DMA_CHANNELS;
+sound/pci/maestro3.c:	chip->msrc_list.curlen = 0;
+sound/pci/maestro3.c:	chip->msrc_list.mem_addr = KDATA_INSTANCE0_MINISRC;
+sound/pci/maestro3.c:	chip->msrc_list.max = MAX_INSTANCE_MINISRC;
+sound/pci/maestro3.c:		dev_err(chip->card->dev,
+sound/pci/maestro3.c:	int io = chip->iobase;
+sound/pci/maestro3.c:	if (! chip->external_amp)
+sound/pci/maestro3.c:	polarity = polarity << chip->amp_gpio;
+sound/pci/maestro3.c:	gpo = 1 << chip->amp_gpio;
+sound/pci/maestro3.c:	unsigned long io = chip->iobase;
+sound/pci/maestro3.c:	if (!chip->is_omnibook)
+sound/pci/maestro3.c:	struct pci_dev *pcidev = chip->pci;
+sound/pci/maestro3.c:	unsigned long io = chip->iobase;
+sound/pci/maestro3.c:	n |= chip->hv_config;
+sound/pci/maestro3.c:	outb(RESET_ASSP, chip->iobase + ASSP_CONTROL_B);
+sound/pci/maestro3.c:	if (!chip->allegro_flag) {
+sound/pci/maestro3.c:	if (chip->allegro_flag) {
+sound/pci/maestro3.c:	t = inb(chip->iobase + ASSP_CONTROL_A);
+sound/pci/maestro3.c:	outb(t, chip->iobase + ASSP_CONTROL_A);
+sound/pci/maestro3.c:	outb(RUN_ASSP, chip->iobase + ASSP_CONTROL_B); 
+sound/pci/maestro3.c:	unsigned long io = chip->iobase;
+sound/pci/maestro3.c:	if (chip->hv_config & HV_CTRL_ENABLE)
+sound/pci/maestro3.c:	outb(val, chip->iobase + HOST_INT_STATUS);
+sound/pci/maestro3.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/maestro3.c:	if (chip->input_dev)
+sound/pci/maestro3.c:		input_unregister_device(chip->input_dev);
+sound/pci/maestro3.c:	if (chip->substreams) {
+sound/pci/maestro3.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:		for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:			s = &chip->substreams[i];
+sound/pci/maestro3.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:		kfree(chip->substreams);
+sound/pci/maestro3.c:	if (chip->iobase) {
+sound/pci/maestro3.c:		outw(0, chip->iobase + HOST_INT_CTRL); /* disable ints */
+sound/pci/maestro3.c:	vfree(chip->suspend_mem);
+sound/pci/maestro3.c:	if (chip->irq >= 0)
+sound/pci/maestro3.c:		free_irq(chip->irq, chip);
+sound/pci/maestro3.c:	if (chip->iobase)
+sound/pci/maestro3.c:		pci_release_regions(chip->pci);
+sound/pci/maestro3.c:	release_firmware(chip->assp_kernel_image);
+sound/pci/maestro3.c:	release_firmware(chip->assp_minisrc_image);
+sound/pci/maestro3.c:	pci_disable_device(chip->pci);
+sound/pci/maestro3.c:	if (chip->suspend_mem == NULL)
+sound/pci/maestro3.c:	chip->in_suspend = 1;
+sound/pci/maestro3.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/maestro3.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/maestro3.c:		chip->suspend_mem[dsp_index++] =
+sound/pci/maestro3.c:		chip->suspend_mem[dsp_index++] =
+sound/pci/maestro3.c:	if (chip->suspend_mem == NULL)
+sound/pci/maestro3.c:				  chip->suspend_mem[dsp_index++]);
+sound/pci/maestro3.c:				  chip->suspend_mem[dsp_index++]);
+sound/pci/maestro3.c:	snd_ac97_resume(chip->ac97);
+sound/pci/maestro3.c:	chip->in_suspend = 0;
+sound/pci/maestro3.c:	snprintf(chip->phys, sizeof(chip->phys), "pci-%s/input0",
+sound/pci/maestro3.c:		 pci_name(chip->pci));
+sound/pci/maestro3.c:	input_dev->name = chip->card->driver;
+sound/pci/maestro3.c:	input_dev->phys = chip->phys;
+sound/pci/maestro3.c:	input_dev->id.vendor  = chip->pci->vendor;
+sound/pci/maestro3.c:	input_dev->id.product = chip->pci->device;
+sound/pci/maestro3.c:	input_dev->dev.parent = &chip->pci->dev;
+sound/pci/maestro3.c:	chip->input_dev = input_dev;
+sound/pci/maestro3.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/maestro3.c:		chip->allegro_flag = 1;
+sound/pci/maestro3.c:	chip->card = card;
+sound/pci/maestro3.c:	chip->pci = pci;
+sound/pci/maestro3.c:	chip->irq = -1;
+sound/pci/maestro3.c:	INIT_WORK(&chip->hwvol_work, snd_m3_update_hw_volume);
+sound/pci/maestro3.c:	chip->external_amp = enable_amp;
+sound/pci/maestro3.c:		chip->amp_gpio = amp_gpio;
+sound/pci/maestro3.c:			chip->amp_gpio = quirk->value;
+sound/pci/maestro3.c:		} else if (chip->allegro_flag)
+sound/pci/maestro3.c:			chip->amp_gpio = GPO_EXT_AMP_ALLEGRO;
+sound/pci/maestro3.c:			chip->amp_gpio = GPO_EXT_AMP_M3;
+sound/pci/maestro3.c:		chip->irda_workaround = 1;
+sound/pci/maestro3.c:		chip->hv_config = quirk->value;
+sound/pci/maestro3.c:		chip->is_omnibook = 1;
+sound/pci/maestro3.c:	chip->num_substreams = NR_DSPS;
+sound/pci/maestro3.c:	chip->substreams = kcalloc(chip->num_substreams, sizeof(struct m3_dma),
+sound/pci/maestro3.c:	if (chip->substreams == NULL) {
+sound/pci/maestro3.c:	err = request_firmware(&chip->assp_kernel_image,
+sound/pci/maestro3.c:	err = request_firmware(&chip->assp_minisrc_image,
+sound/pci/maestro3.c:	chip->iobase = pci_resource_start(pci, 0);
+sound/pci/maestro3.c:	chip->irq = pci->irq;
+sound/pci/maestro3.c:	chip->suspend_mem =
+sound/pci/maestro3.c:	if (chip->suspend_mem == NULL)
+sound/pci/maestro3.c:	for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:		struct m3_dma *s = &chip->substreams[i];
+sound/pci/maestro3.c:	if (chip->hv_config & HV_CTRL_ENABLE) {
+sound/pci/maestro3.c:		card->shortname, chip->iobase, chip->irq);
+sound/pci/maestro3.c:	err = snd_mpu401_uart_new(chip->card, 0, MPU401_HW_MPU401,
+sound/pci/maestro3.c:				  chip->iobase + MPU401_DATA_PORT,
+sound/pci/maestro3.c:				  -1, &chip->rmidi);
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_in_ana);  /* analog inputs */
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_in_dig); /* digital inputs */
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_out_ana);  /* analog outputs */
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_out_dig);  /* digital outputs */
+sound/pci/mixart/mixart.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, pcm_number);
+sound/pci/mixart/mixart.c:			j = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (pcm_number * (MIXART_PLAYBACK_STREAMS + MIXART_CAPTURE_STREAMS)) + i;
+sound/pci/mixart/mixart.c:			flowinfo = (struct mixart_flowinfo *)chip->mgr->flowinfo.area;
+sound/pci/mixart/mixart.c:			flowinfo[j].bufferinfo_array_phy_address = (u32)chip->mgr->bufferinfo.addr + (j * sizeof(struct mixart_bufferinfo));
+sound/pci/mixart/mixart.c:			bufferinfo = (struct mixart_bufferinfo *)chip->mgr->bufferinfo.area;
+sound/pci/mixart/mixart.c:			bufferinfo[j].buffer_id = (chip->chip_idx << MIXART_NOTIFY_CARD_OFFSET) + (pcm_number << MIXART_NOTIFY_PCM_OFFSET ) + i;
+sound/pci/mixart/mixart.c:		err = snd_mixart_send_msg(chip->mgr, &request, sizeof(buf->sgroup_resp), &buf->sgroup_resp);
+sound/pci/mixart/mixart.c:			dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:	return snd_mixart_send_msg_nonblock(chip->mgr, &request);
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev, "snd_mixart_prepare\n");
+sound/pci/mixart/mixart.c:	mixart_sync_nonblock_events(chip->mgr);
+sound/pci/mixart/mixart.c:	if(chip->mgr->ref_count_rate == 1)
+sound/pci/mixart/mixart.c:		chip->mgr->sample_rate = subs->runtime->rate;
+sound/pci/mixart/mixart.c:		if( mixart_set_clock(chip->mgr, stream->pipe, subs->runtime->rate) )
+sound/pci/mixart/mixart.c:	stream_param.sampling_freq = chip->mgr->sample_rate;
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:	struct mixart_mgr *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:		int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STREAMS+MIXART_CAPTURE_STREAMS)) + subs->number;
+sound/pci/mixart/mixart.c:		bufferinfo = (struct mixart_bufferinfo *)chip->mgr->bufferinfo.area;
+sound/pci/mixart/mixart.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:	mixart_sync_nonblock_events(chip->mgr);
+sound/pci/mixart/mixart.c:	struct mixart_mgr        *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:	if ( pcm == chip->pcm ) {
+sound/pci/mixart/mixart.c:		snd_BUG_ON(pcm != chip->pcm_dig);
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:		chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	stream = &(chip->playback_stream[pcm_number][subs->number]);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	err = mixart_set_pipe_state(chip->mgr, pipe, 1);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev, "error starting pipe!\n");
+sound/pci/mixart/mixart.c:		snd_mixart_kill_ref_pipe(chip->mgr, pipe, 0);
+sound/pci/mixart/mixart.c:	struct mixart_mgr        *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:	if ( pcm == chip->pcm ) {
+sound/pci/mixart/mixart.c:		snd_BUG_ON(pcm != chip->pcm_dig);
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev, "snd_mixart_capture_open C%d/P%d/Sub%d\n",
+sound/pci/mixart/mixart.c:		chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	stream = &(chip->capture_stream[pcm_number]);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	err = mixart_set_pipe_state(chip->mgr, pipe, 1);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev, "error starting pipe!\n");
+sound/pci/mixart/mixart.c:		snd_mixart_kill_ref_pipe(chip->mgr, pipe, 0);
+sound/pci/mixart/mixart.c:	struct mixart_mgr *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev, "snd_mixart_close C%d/P%d/Sub%d\n",
+sound/pci/mixart/mixart.c:		chip->chip_idx, stream->pcm_number, subs->number);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, stream->pcm_number);
+sound/pci/mixart/mixart.c:				(chip->chip_idx + 1) << 24;
+sound/pci/mixart/mixart.c:					      &chip->mgr->pci->dev,
+sound/pci/mixart/mixart.c:	sprintf(name, "miXart analog %d", chip->chip_idx);
+sound/pci/mixart/mixart.c:	if ((err = snd_pcm_new(chip->card, name, MIXART_PCM_ANALOG,
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			"cannot create the analog pcm %d\n", chip->chip_idx);
+sound/pci/mixart/mixart.c:	chip->pcm = pcm;
+sound/pci/mixart/mixart.c:	sprintf(name, "miXart AES/EBU %d", chip->chip_idx);
+sound/pci/mixart/mixart.c:	if ((err = snd_pcm_new(chip->card, name, MIXART_PCM_DIGITAL,
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			"cannot create the digital pcm %d\n", chip->chip_idx);
+sound/pci/mixart/mixart.c:	chip->pcm_dig = pcm;
+sound/pci/mixart/mixart.c:	chip->card = card;
+sound/pci/mixart/mixart.c:	chip->chip_idx = idx;
+sound/pci/mixart/mixart.c:	chip->mgr = mgr;
+sound/pci/mixart/mixart.c:	if(chip->mgr->board_type == MIXART_DAUGHTER_TYPE_AES) {
+sound/pci/mixart/mixart.c:	snd_iprintf(buffer, "Digigram miXart (alsa card %d)\n\n", chip->chip_idx);
+sound/pci/mixart/mixart.c:	if (chip->mgr->dsp_loaded & ( 1 << MIXART_MOTHERBOARD_ELF_INDEX)) {
+sound/pci/mixart/mixart.c:		switch (chip->mgr->board_type ) {
+sound/pci/mixart/mixart.c:		ref = readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_SYSTEM_LOAD_OFFSET));
+sound/pci/mixart/mixart.c:			u32 mailbox   = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_MAILBX_LOAD_OFFSET)) / ref;
+sound/pci/mixart/mixart.c:			u32 streaming = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_STREAM_LOAD_OFFSET)) / ref;
+sound/pci/mixart/mixart.c:			u32 interr    = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_INTERR_LOAD_OFFSET)) / ref;
+sound/pci/mixart/mixart.c:	snd_card_ro_proc_new(chip->card, "board_info", chip,
+sound/pci/mixart/mixart.c:	if (! snd_card_proc_new(chip->card, "mixart_BA0", &entry)) {
+sound/pci/mixart/mixart.c:		entry->private_data = chip->mgr;	
+sound/pci/mixart/mixart.c:	if (! snd_card_proc_new(chip->card, "mixart_BA1", &entry)) {
+sound/pci/mixart/mixart.c:		entry->private_data = chip->mgr;
+sound/pci/mixart/mixart_core.c:						stream = &chip->capture_stream[pcm_number];
+sound/pci/mixart/mixart_core.c:						stream = &chip->playback_stream[pcm_number][sub_number];
+sound/pci/mixart/mixart_hwdep.c:			if ((err = snd_mixart_create_mixer(chip->mgr)) < 0)
+sound/pci/mixart/mixart_hwdep.c:		if ((err = snd_card_register(chip->card)) < 0)
+sound/pci/mixart/mixart_mixer.c:			io_level.level[i].analog_level = mixart_analog_level[chip->analog_capture_volume[i]];
+sound/pci/mixart/mixart_mixer.c:			if(chip->analog_playback_active[i])
+sound/pci/mixart/mixart_mixer.c:				io_level.level[i].analog_level = mixart_analog_level[chip->analog_playback_volume[i]];
+sound/pci/mixart/mixart_mixer.c:	if(is_capture)	request.uid = chip->uid_in_analog_physio;
+sound/pci/mixart/mixart_mixer.c:	else		request.uid = chip->uid_out_analog_physio;
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, is_capture, resp.error_code);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[0] = chip->analog_playback_volume[0];
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[1] = chip->analog_playback_volume[1];
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[0] = chip->analog_capture_volume[0];
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[1] = chip->analog_capture_volume[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:			&chip->analog_capture_volume[i] :
+sound/pci/mixart/mixart_mixer.c:			&chip->analog_playback_volume[i];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->analog_playback_active[0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->analog_playback_active[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->analog_playback_active[i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->analog_playback_active[i] =
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_out_dig;	/* AES playback */
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_out_ana;	/* analog playback */
+sound/pci/mixart/mixart_mixer.c:		if(chip->digital_playback_active[idx][i])
+sound/pci/mixart/mixart_mixer.c:			volume[i] = chip->digital_playback_volume[idx][i];
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(status), &status);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, status);
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_in_dig;
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_in_ana;
+sound/pci/mixart/mixart_mixer.c:		set_level.level[i].digital_level = mixart_digital_level[chip->digital_capture_volume[idx][i]];
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(status), &status);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, status);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if(is_aes)	stored_volume = chip->digital_capture_volume[1];	/* AES capture */
+sound/pci/mixart/mixart_mixer.c:		else		stored_volume = chip->digital_capture_volume[0];	/* analog capture */
+sound/pci/mixart/mixart_mixer.c:		if(is_aes)	stored_volume = chip->digital_playback_volume[MIXART_PLAYBACK_STREAMS + idx]; /* AES playback */
+sound/pci/mixart/mixart_mixer.c:		else		stored_volume = chip->digital_playback_volume[idx];	/* analog playback */
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_capture_volume[1];
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_capture_volume[0];
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_playback_volume[MIXART_PLAYBACK_STREAMS + idx];
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_playback_volume[idx];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->digital_playback_active[idx][0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->digital_playback_active[idx][1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->digital_playback_active[j][i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->digital_playback_active[j][i] =
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	if(chip->pipe_out_ana.status == PIPE_UNDEFINED)
+sound/pci/mixart/mixart_mixer.c:	if(!channel)	request.uid = chip->pipe_out_ana.uid_left_connector;
+sound/pci/mixart/mixart_mixer.c:	else		request.uid = chip->pipe_out_ana.uid_right_connector;
+sound/pci/mixart/mixart_mixer.c:	audio_level.monitor_level = mixart_digital_level[chip->monitoring_volume[channel!=0]];
+sound/pci/mixart/mixart_mixer.c:	audio_level.monitor_mute1 = !chip->monitoring_active[channel!=0];
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, resp);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_volume[0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_volume[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->monitoring_volume[i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->monitoring_volume[i] =
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_active[0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_active[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->monitoring_active[i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->monitoring_active[i] =
+sound/pci/mixart/mixart_mixer.c:		int allocate = chip->monitoring_active[0] ||
+sound/pci/mixart/mixart_mixer.c:			chip->monitoring_active[1];
+sound/pci/mixart/mixart_mixer.c:			snd_mixart_kill_ref_pipe(chip->mgr,
+sound/pci/mixart/mixart_mixer.c:						 &chip->pipe_in_ana, 1);
+sound/pci/mixart/mixart_mixer.c:			snd_mixart_kill_ref_pipe(chip->mgr,
+sound/pci/mixart/mixart_mixer.c:						 &chip->pipe_out_ana, 1);
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	if(chip->chip_idx < 2) {
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&mixart_control_output_switch, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&mixart_control_monitor_vol, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&mixart_control_monitor_sw, chip))) < 0)
+sound/pci/nm256/nm256.c:	u32 buf;	/* offset from chip->buffer */
+sound/pci/nm256/nm256.c:	return readb(chip->cport + offset);
+sound/pci/nm256/nm256.c:	return readw(chip->cport + offset);
+sound/pci/nm256/nm256.c:	return readl(chip->cport + offset);
+sound/pci/nm256/nm256.c:	writeb(val, chip->cport + offset);
+sound/pci/nm256/nm256.c:	writew(val, chip->cport + offset);
+sound/pci/nm256/nm256.c:	writel(val, chip->cport + offset);
+sound/pci/nm256/nm256.c:	offset -= chip->buffer_start;
+sound/pci/nm256/nm256.c:	if (offset < 0 || offset >= chip->buffer_size) {
+sound/pci/nm256/nm256.c:		dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:	memcpy_toio(chip->buffer + offset, src, size);
+sound/pci/nm256/nm256.c:	u32 coeff_buf = chip->coeff_buf[stream];
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev,
+sound/pci/nm256/nm256.c:	if (! chip->use_cache) {
+sound/pci/nm256/nm256.c:	if (! chip->coeffs_current) {
+sound/pci/nm256/nm256.c:		snd_nm256_write_buffer(chip, coefficients, chip->all_coeff_buf,
+sound/pci/nm256/nm256.c:		chip->coeffs_current = 1;
+sound/pci/nm256/nm256.c:		u32 base = chip->all_coeff_buf;
+sound/pci/nm256/nm256.c:	mutex_lock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	if (chip->irq < 0) {
+sound/pci/nm256/nm256.c:		if (request_irq(chip->pci->irq, chip->interrupt, IRQF_SHARED,
+sound/pci/nm256/nm256.c:			dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:				"unable to grab IRQ %d\n", chip->pci->irq);
+sound/pci/nm256/nm256.c:			mutex_unlock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:		chip->irq = chip->pci->irq;
+sound/pci/nm256/nm256.c:	chip->irq_acks++;
+sound/pci/nm256/nm256.c:	mutex_unlock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	mutex_lock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	if (chip->irq_acks > 0)
+sound/pci/nm256/nm256.c:		chip->irq_acks--;
+sound/pci/nm256/nm256.c:	if (chip->irq_acks == 0 && chip->irq >= 0) {
+sound/pci/nm256/nm256.c:		free_irq(chip->irq, chip);
+sound/pci/nm256/nm256.c:		chip->irq = -1;
+sound/pci/nm256/nm256.c:	mutex_unlock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	s = &chip->streams[SNDRV_PCM_STREAM_PLAYBACK];
+sound/pci/nm256/nm256.c:		spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	s = &chip->streams[SNDRV_PCM_STREAM_CAPTURE];
+sound/pci/nm256/nm256.c:		spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	snd_nm256_setup_stream(chip, &chip->streams[SNDRV_PCM_STREAM_PLAYBACK],
+sound/pci/nm256/nm256.c:	snd_nm256_setup_stream(chip, &chip->streams[SNDRV_PCM_STREAM_CAPTURE],
+sound/pci/nm256/nm256.c:		struct nm256_stream *s = &chip->streams[i];
+sound/pci/nm256/nm256.c:		s->bufptr = chip->buffer + (s->buf - chip->buffer_start);
+sound/pci/nm256/nm256.c:		s->bufptr_addr = chip->buffer_addr + (s->buf - chip->buffer_start);
+sound/pci/nm256/nm256.c:	err = snd_pcm_new(chip->card, chip->card->driver, device,
+sound/pci/nm256/nm256.c:	chip->pcm = pcm;
+sound/pci/nm256/nm256.c:	if (chip->badintrcount++ > 1000) {
+sound/pci/nm256/nm256.c:		if (chip->streams[SNDRV_PCM_STREAM_PLAYBACK].running)
+sound/pci/nm256/nm256.c:		if (chip->streams[SNDRV_PCM_STREAM_CAPTURE].running)
+sound/pci/nm256/nm256.c:		chip->badintrcount = 0;
+sound/pci/nm256/nm256.c:	chip->badintrcount = 0;
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #1\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #2\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev,
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	chip->badintrcount = 0;
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #1\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #2\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev,
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	testaddr = chip->mixer_status_offset;
+sound/pci/nm256/nm256.c:	testb = chip->mixer_status_mask;
+sound/pci/nm256/nm256.c:	return chip->ac97_regs[idx];
+sound/pci/nm256/nm256.c:	base = chip->mixer_base;
+sound/pci/nm256/nm256.c:			chip->ac97_regs[idx] = val;
+sound/pci/nm256/nm256.c:	dev_dbg(chip->card->dev, "nm256: ac97 codec not ready..\n");
+sound/pci/nm256/nm256.c:	if (! chip->reset_workaround) {
+sound/pci/nm256/nm256.c:	if (! chip->reset_workaround_2) {
+sound/pci/nm256/nm256.c:	if (! chip->in_resume) {
+sound/pci/nm256/nm256.c:	chip->ac97_regs = kcalloc(ARRAY_SIZE(nm256_ac97_init_val),
+sound/pci/nm256/nm256.c:	if (! chip->ac97_regs)
+sound/pci/nm256/nm256.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/nm256/nm256.c:	err = snd_ac97_mixer(pbus, &ac97, &chip->ac97);
+sound/pci/nm256/nm256.c:	if (! (chip->ac97->id & (0xf0000000))) {
+sound/pci/nm256/nm256.c:		sprintf(chip->card->mixername, "%s AC97", chip->card->driver);
+sound/pci/nm256/nm256.c:	unsigned long pointer_found = chip->buffer_end - 0x1400;
+sound/pci/nm256/nm256.c:	temp = ioremap_nocache(chip->buffer_addr + chip->buffer_end - 0x400, 16);
+sound/pci/nm256/nm256.c:		dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:		    pointer < chip->buffer_size ||
+sound/pci/nm256/nm256.c:		    pointer > chip->buffer_end) {
+sound/pci/nm256/nm256.c:			dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:			dev_info(chip->card->dev,
+sound/pci/nm256/nm256.c:	chip->buffer_end = pointer_found;
+sound/pci/nm256/nm256.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/nm256/nm256.c:	chip->coeffs_current = 0;
+sound/pci/nm256/nm256.c:	chip->in_resume = 1;
+sound/pci/nm256/nm256.c:	snd_ac97_resume(chip->ac97);
+sound/pci/nm256/nm256.c:		struct nm256_stream *s = &chip->streams[i];
+sound/pci/nm256/nm256.c:			spin_lock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:			spin_unlock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	chip->in_resume = 0;
+sound/pci/nm256/nm256.c:	if (chip->streams[SNDRV_PCM_STREAM_PLAYBACK].running)
+sound/pci/nm256/nm256.c:	if (chip->streams[SNDRV_PCM_STREAM_CAPTURE].running)
+sound/pci/nm256/nm256.c:	if (chip->irq >= 0)
+sound/pci/nm256/nm256.c:		free_irq(chip->irq, chip);
+sound/pci/nm256/nm256.c:	iounmap(chip->cport);
+sound/pci/nm256/nm256.c:	iounmap(chip->buffer);
+sound/pci/nm256/nm256.c:	release_and_free_resource(chip->res_cport);
+sound/pci/nm256/nm256.c:	release_and_free_resource(chip->res_buffer);
+sound/pci/nm256/nm256.c:	pci_disable_device(chip->pci);
+sound/pci/nm256/nm256.c:	kfree(chip->ac97_regs);
+sound/pci/nm256/nm256.c:	chip->card = card;
+sound/pci/nm256/nm256.c:	chip->pci = pci;
+sound/pci/nm256/nm256.c:	chip->use_cache = use_cache;
+sound/pci/nm256/nm256.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	chip->irq = -1;
+sound/pci/nm256/nm256.c:	mutex_init(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_PLAYBACK].bufsize = playback_bufsize * 1024;
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_CAPTURE].bufsize = capture_bufsize * 1024;
+sound/pci/nm256/nm256.c:	chip->buffer_addr = pci_resource_start(pci, 0);
+sound/pci/nm256/nm256.c:	chip->cport_addr = pci_resource_start(pci, 1);
+sound/pci/nm256/nm256.c:	chip->res_cport = request_mem_region(chip->cport_addr, NM_PORT2_SIZE,
+sound/pci/nm256/nm256.c:	if (chip->res_cport == NULL) {
+sound/pci/nm256/nm256.c:			   chip->cport_addr, NM_PORT2_SIZE);
+sound/pci/nm256/nm256.c:	chip->cport = ioremap_nocache(chip->cport_addr, NM_PORT2_SIZE);
+sound/pci/nm256/nm256.c:	if (chip->cport == NULL) {
+sound/pci/nm256/nm256.c:			chip->cport_addr);
+sound/pci/nm256/nm256.c:		chip->buffer_end = 2560 * 1024;
+sound/pci/nm256/nm256.c:		chip->interrupt = snd_nm256_interrupt;
+sound/pci/nm256/nm256.c:		chip->mixer_status_offset = NM_MIXER_STATUS_OFFSET;
+sound/pci/nm256/nm256.c:		chip->mixer_status_mask = NM_MIXER_READY_MASK;
+sound/pci/nm256/nm256.c:			chip->buffer_end = 6144 * 1024;
+sound/pci/nm256/nm256.c:			chip->buffer_end = 4096 * 1024;
+sound/pci/nm256/nm256.c:		chip->interrupt = snd_nm256_interrupt_zx;
+sound/pci/nm256/nm256.c:		chip->mixer_status_offset = NM2_MIXER_STATUS_OFFSET;
+sound/pci/nm256/nm256.c:		chip->mixer_status_mask = NM2_MIXER_READY_MASK;
+sound/pci/nm256/nm256.c:	chip->buffer_size = chip->streams[SNDRV_PCM_STREAM_PLAYBACK].bufsize +
+sound/pci/nm256/nm256.c:		chip->streams[SNDRV_PCM_STREAM_CAPTURE].bufsize;
+sound/pci/nm256/nm256.c:	if (chip->use_cache)
+sound/pci/nm256/nm256.c:		chip->buffer_size += NM_TOTAL_COEFF_COUNT * 4;
+sound/pci/nm256/nm256.c:		chip->buffer_size += NM_MAX_PLAYBACK_COEF_SIZE + NM_MAX_RECORD_COEF_SIZE;
+sound/pci/nm256/nm256.c:	if (buffer_top >= chip->buffer_size && buffer_top < chip->buffer_end)
+sound/pci/nm256/nm256.c:		chip->buffer_end = buffer_top;
+sound/pci/nm256/nm256.c:	chip->buffer_start = chip->buffer_end - chip->buffer_size;
+sound/pci/nm256/nm256.c:	chip->buffer_addr += chip->buffer_start;
+sound/pci/nm256/nm256.c:	       chip->buffer_start, chip->buffer_end);
+sound/pci/nm256/nm256.c:	chip->res_buffer = request_mem_region(chip->buffer_addr,
+sound/pci/nm256/nm256.c:					      chip->buffer_size,
+sound/pci/nm256/nm256.c:	if (chip->res_buffer == NULL) {
+sound/pci/nm256/nm256.c:			   chip->buffer_addr, chip->buffer_size);
+sound/pci/nm256/nm256.c:	chip->buffer = ioremap_nocache(chip->buffer_addr, chip->buffer_size);
+sound/pci/nm256/nm256.c:	if (chip->buffer == NULL) {
+sound/pci/nm256/nm256.c:			chip->buffer_addr);
+sound/pci/nm256/nm256.c:	addr = chip->buffer_start;
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_PLAYBACK].buf = addr;
+sound/pci/nm256/nm256.c:	addr += chip->streams[SNDRV_PCM_STREAM_PLAYBACK].bufsize;
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_CAPTURE].buf = addr;
+sound/pci/nm256/nm256.c:	addr += chip->streams[SNDRV_PCM_STREAM_CAPTURE].bufsize;
+sound/pci/nm256/nm256.c:	if (chip->use_cache) {
+sound/pci/nm256/nm256.c:		chip->all_coeff_buf = addr;
+sound/pci/nm256/nm256.c:		chip->coeff_buf[SNDRV_PCM_STREAM_PLAYBACK] = addr;
+sound/pci/nm256/nm256.c:		chip->coeff_buf[SNDRV_PCM_STREAM_CAPTURE] = addr;
+sound/pci/nm256/nm256.c:	chip->mixer_base = NM_MIXER_OFFSET;
+sound/pci/nm256/nm256.c:	chip->coeffs_current = 0;
+sound/pci/nm256/nm256.c:		chip->reset_workaround = 1;
+sound/pci/nm256/nm256.c:		chip->reset_workaround_2 = 1;
+sound/pci/nm256/nm256.c:		chip->buffer_addr, chip->cport_addr, chip->irq);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:			     chip->dac_volume[i * 2]);
+sound/pci/oxygen/oxygen.c:			     chip->dac_volume[i * 2 + 1]);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	data->dacs = chip->model.dac_channels_pcm / 2;
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "AK4396");
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "AK5385");
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "WM8785");
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "CS5340");
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:				    chip->dac_volume[i * 2]);
+sound/pci/oxygen/oxygen.c:				    chip->dac_volume[i * 2 + 1]);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	if (chip->dac_mute)
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	return snd_ctl_add(chip->card, snd_ctl_new1(&rolloff_control, chip));
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hpf_control, chip));
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card,
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card,
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card,
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	chip->model = model_generic;
+sound/pci/oxygen/oxygen.c:		chip->model.init = meridian_init;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = meridian_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = meridian_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.set_adc_params = set_ak5385_params;
+sound/pci/oxygen/oxygen.c:		chip->model.dump_registers = dump_ak4396_registers;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config = PLAYBACK_0_TO_I2S |
+sound/pci/oxygen/oxygen.c:			chip->model.device_config |= AC97_CD_INPUT;
+sound/pci/oxygen/oxygen.c:		chip->model.init = claro_init;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = claro_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.cleanup = claro_cleanup;
+sound/pci/oxygen/oxygen.c:		chip->model.suspend = claro_suspend;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = claro_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.init = claro_halo_init;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = claro_halo_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.cleanup = claro_cleanup;
+sound/pci/oxygen/oxygen.c:		chip->model.suspend = claro_suspend;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = claro_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.set_adc_params = set_ak5385_params;
+sound/pci/oxygen/oxygen.c:		chip->model.dump_registers = dump_ak4396_registers;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config = PLAYBACK_0_TO_I2S |
+sound/pci/oxygen/oxygen.c:		chip->model.shortname = "C-Media CMI8787";
+sound/pci/oxygen/oxygen.c:		chip->model.chip = "CMI8787";
+sound/pci/oxygen/oxygen.c:			chip->model.init = fantasia_init;
+sound/pci/oxygen/oxygen.c:			chip->model.init = stereo_output_init;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = stereo_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = generic_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.set_adc_params = set_no_params;
+sound/pci/oxygen/oxygen.c:		chip->model.dump_registers = dump_ak4396_registers;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config = PLAYBACK_0_TO_I2S |
+sound/pci/oxygen/oxygen.c:			chip->model.device_config |= CAPTURE_0_FROM_I2S_1;
+sound/pci/oxygen/oxygen.c:			chip->model.adc_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/oxygen.c:		chip->model.dac_channels_pcm = 2;
+sound/pci/oxygen/oxygen.c:		chip->model.dac_channels_mixer = 2;
+sound/pci/oxygen/oxygen.c:		chip->model = model_xonar_dg;
+sound/pci/oxygen/oxygen.c:		chip->model.misc_flags = OXYGEN_MISC_MIDI;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config |= MIDI_OUTPUT | MIDI_INPUT;
+sound/pci/oxygen/oxygen.c:		chip->model.shortname = names[id->driver_data];
+sound/pci/oxygen/oxygen_io.c:	return inb(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	return inw(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	return inl(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outb(value, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._8[reg] = value;
+sound/pci/oxygen/oxygen_io.c:	outw(value, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._16[reg / 2] = cpu_to_le16(value);
+sound/pci/oxygen/oxygen_io.c:	outl(value, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._32[reg / 4] = cpu_to_le32(value);
+sound/pci/oxygen/oxygen_io.c:	u8 tmp = inb(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outb(tmp, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._8[reg] = tmp;
+sound/pci/oxygen/oxygen_io.c:	u16 tmp = inw(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outw(tmp, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._16[reg / 2] = cpu_to_le16(tmp);
+sound/pci/oxygen/oxygen_io.c:	u32 tmp = inl(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outl(tmp, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._32[reg / 4] = cpu_to_le32(tmp);
+sound/pci/oxygen/oxygen_io.c:	wait_event_timeout(chip->ac97_waitqueue,
+sound/pci/oxygen/oxygen_io.c:			chip->saved_ac97_registers[codec][index / 2] = data;
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "AC'97 write timeout\n");
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "AC'97 read timeout on codec %u\n", codec);
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "oxygen: SPI wait timeout\n");
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "EEPROM write timeout\n");
+sound/pci/oxygen/oxygen_lib.c:		if (chip->uart_input_count >= ARRAY_SIZE(chip->uart_input))
+sound/pci/oxygen/oxygen_lib.c:			chip->uart_input_count = 0;
+sound/pci/oxygen/oxygen_lib.c:		chip->uart_input[chip->uart_input_count++] = data;
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.uart_input)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.uart_input(chip);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:			chip->interrupt_mask &= ~OXYGEN_INT_SPDIF_IN_DETECT;
+sound/pci/oxygen/oxygen_lib.c:			       chip->interrupt_mask & ~clear);
+sound/pci/oxygen/oxygen_lib.c:			       chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:	elapsed_streams = status & chip->pcm_running;
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		if ((elapsed_streams & (1 << i)) && chip->streams[i])
+sound/pci/oxygen/oxygen_lib.c:			snd_pcm_period_elapsed(chip->streams[i]);
+sound/pci/oxygen/oxygen_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:			schedule_work(&chip->spdif_input_bits_work);
+sound/pci/oxygen/oxygen_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		schedule_work(&chip->gpio_work);
+sound/pci/oxygen/oxygen_lib.c:		if (chip->midi)
+sound/pci/oxygen/oxygen_lib.c:			snd_mpu401_uart_interrupt(0, chip->midi->private_data);
+sound/pci/oxygen/oxygen_lib.c:		wake_up(&chip->ac97_waitqueue);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->controls[CONTROL_SPDIF_INPUT_BITS]) {
+sound/pci/oxygen/oxygen_lib.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		chip->interrupt_mask |= OXYGEN_INT_SPDIF_IN_DETECT;
+sound/pci/oxygen/oxygen_lib.c:			       chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/oxygen/oxygen_lib.c:			       &chip->controls[CONTROL_SPDIF_INPUT_BITS]->id);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.gpio_changed)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.gpio_changed(chip);
+sound/pci/oxygen/oxygen_lib.c:	if (mutex_lock_interruptible(&chip->mutex) < 0)
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0) {
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_lib.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.dump_registers)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.dump_registers(chip, buffer);
+sound/pci/oxygen/oxygen_lib.c:	snd_card_ro_proc_new(chip->card, "oxygen", chip, oxygen_proc_read);
+sound/pci/oxygen/oxygen_lib.c:		pci_write_config_word(chip->pci, PCI_SUBSYSTEM_VENDOR_ID,
+sound/pci/oxygen/oxygen_lib.c:		pci_write_config_word(chip->pci, PCI_SUBSYSTEM_ID,
+sound/pci/oxygen/oxygen_lib.c:		dev_info(chip->card->dev, "EEPROM ID restored\n");
+sound/pci/oxygen/oxygen_lib.c:	chip->dac_routing = 1;
+sound/pci/oxygen/oxygen_lib.c:		chip->dac_volume[i] = chip->model.dac_volume_min;
+sound/pci/oxygen/oxygen_lib.c:	chip->dac_mute = 1;
+sound/pci/oxygen/oxygen_lib.c:	chip->spdif_playback_enable = 0;
+sound/pci/oxygen/oxygen_lib.c:	chip->spdif_bits = OXYGEN_SPDIF_C | OXYGEN_SPDIF_ORIGINAL |
+sound/pci/oxygen/oxygen_lib.c:	chip->spdif_pcm_bits = chip->spdif_bits;
+sound/pci/oxygen/oxygen_lib.c:	chip->has_ac97_0 = (i & OXYGEN_AC97_CODEC_0) != 0;
+sound/pci/oxygen/oxygen_lib.c:	chip->has_ac97_1 = (i & OXYGEN_AC97_CODEC_1) != 0;
+sound/pci/oxygen/oxygen_lib.c:			     chip->model.function_flags,
+sound/pci/oxygen/oxygen_lib.c:			     chip->model.misc_flags,
+sound/pci/oxygen/oxygen_lib.c:		       chip->model.dac_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:		       OXYGEN_I2S_MCLK(chip->model.dac_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_0_FROM_I2S_1)
+sound/pci/oxygen/oxygen_lib.c:			       chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:			       OXYGEN_I2S_MCLK(chip->model.adc_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & (CAPTURE_0_FROM_I2S_2 |
+sound/pci/oxygen/oxygen_lib.c:			       chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:			       OXYGEN_I2S_MCLK(chip->model.adc_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_3_FROM_I2S_3)
+sound/pci/oxygen/oxygen_lib.c:			       chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:			       OXYGEN_I2S_MCLK(chip->model.adc_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_1_FROM_SPDIF)
+sound/pci/oxygen/oxygen_lib.c:	oxygen_write32(chip, OXYGEN_SPDIF_OUTPUT_BITS, chip->spdif_bits);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0 | chip->has_ac97_1)
+sound/pci/oxygen/oxygen_lib.c:	if (!(chip->has_ac97_0 | chip->has_ac97_1))
+sound/pci/oxygen/oxygen_lib.c:	if (!chip->has_ac97_0) {
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	chip->interrupt_mask = 0;
+sound/pci/oxygen/oxygen_lib.c:	chip->pcm_running = 0;
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->irq >= 0)
+sound/pci/oxygen/oxygen_lib.c:		free_irq(chip->irq, chip);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->spdif_input_bits_work);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->gpio_work);
+sound/pci/oxygen/oxygen_lib.c:	chip->model.cleanup(chip);
+sound/pci/oxygen/oxygen_lib.c:	kfree(chip->model_data);
+sound/pci/oxygen/oxygen_lib.c:	mutex_destroy(&chip->mutex);
+sound/pci/oxygen/oxygen_lib.c:	pci_release_regions(chip->pci);
+sound/pci/oxygen/oxygen_lib.c:	pci_disable_device(chip->pci);
+sound/pci/oxygen/oxygen_lib.c:	chip->card = card;
+sound/pci/oxygen/oxygen_lib.c:	chip->pci = pci;
+sound/pci/oxygen/oxygen_lib.c:	chip->irq = -1;
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	mutex_init(&chip->mutex);
+sound/pci/oxygen/oxygen_lib.c:	INIT_WORK(&chip->spdif_input_bits_work,
+sound/pci/oxygen/oxygen_lib.c:	INIT_WORK(&chip->gpio_work, oxygen_gpio_changed);
+sound/pci/oxygen/oxygen_lib.c:	init_waitqueue_head(&chip->ac97_waitqueue);
+sound/pci/oxygen/oxygen_lib.c:	chip->addr = pci_resource_start(pci, 0);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.model_data_size) {
+sound/pci/oxygen/oxygen_lib.c:		chip->model_data = kzalloc(chip->model.model_data_size,
+sound/pci/oxygen/oxygen_lib.c:		if (!chip->model_data) {
+sound/pci/oxygen/oxygen_lib.c:	chip->model.init(chip);
+sound/pci/oxygen/oxygen_lib.c:	chip->irq = pci->irq;
+sound/pci/oxygen/oxygen_lib.c:	strcpy(card->driver, chip->model.chip);
+sound/pci/oxygen/oxygen_lib.c:	strcpy(card->shortname, chip->model.shortname);
+sound/pci/oxygen/oxygen_lib.c:		chip->model.longname, chip->addr, chip->irq);
+sound/pci/oxygen/oxygen_lib.c:	strcpy(card->mixername, chip->model.chip);
+sound/pci/oxygen/oxygen_lib.c:	snd_component_add(card, chip->model.chip);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & (MIDI_OUTPUT | MIDI_INPUT)) {
+sound/pci/oxygen/oxygen_lib.c:		if (chip->model.device_config & MIDI_OUTPUT)
+sound/pci/oxygen/oxygen_lib.c:		if (chip->model.device_config & MIDI_INPUT)
+sound/pci/oxygen/oxygen_lib.c:					  chip->addr + OXYGEN_MPU401,
+sound/pci/oxygen/oxygen_lib.c:					  info_flags, -1, &chip->midi);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_1_FROM_SPDIF)
+sound/pci/oxygen/oxygen_lib.c:		chip->interrupt_mask |= OXYGEN_INT_SPDIF_IN_DETECT;
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0 | chip->has_ac97_1)
+sound/pci/oxygen/oxygen_lib.c:		chip->interrupt_mask |= OXYGEN_INT_AC97;
+sound/pci/oxygen/oxygen_lib.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.suspend)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.suspend(chip);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	saved_interrupt_mask = chip->interrupt_mask;
+sound/pci/oxygen/oxygen_lib.c:	chip->interrupt_mask = 0;
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	synchronize_irq(chip->irq);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->spdif_input_bits_work);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->gpio_work);
+sound/pci/oxygen/oxygen_lib.c:	chip->interrupt_mask = saved_interrupt_mask;
+sound/pci/oxygen/oxygen_lib.c:					  chip->saved_ac97_registers[codec][i]);
+sound/pci/oxygen/oxygen_lib.c:			oxygen_write8(chip, i, chip->saved_registers._8[i]);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0)
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_1)
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.resume)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.resume(chip);
+sound/pci/oxygen/oxygen_lib.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:	chip->model.cleanup(chip);
+sound/pci/oxygen/oxygen_mixer.c:	info->count = chip->model.dac_channels_mixer;
+sound/pci/oxygen/oxygen_mixer.c:	info->value.integer.min = chip->model.dac_volume_min;
+sound/pci/oxygen/oxygen_mixer.c:	info->value.integer.max = chip->model.dac_volume_max;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	for (i = 0; i < chip->model.dac_channels_mixer; ++i)
+sound/pci/oxygen/oxygen_mixer.c:		value->value.integer.value[i] = chip->dac_volume[i];
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	for (i = 0; i < chip->model.dac_channels_mixer; ++i)
+sound/pci/oxygen/oxygen_mixer.c:		if (value->value.integer.value[i] != chip->dac_volume[i]) {
+sound/pci/oxygen/oxygen_mixer.c:			chip->dac_volume[i] = value->value.integer.value[i];
+sound/pci/oxygen/oxygen_mixer.c:		chip->model.update_dac_volume(chip);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	value->value.integer.value[0] = !chip->dac_mute;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = (!value->value.integer.value[0]) != chip->dac_mute;
+sound/pci/oxygen/oxygen_mixer.c:		chip->dac_mute = !value->value.integer.value[0];
+sound/pci/oxygen/oxygen_mixer.c:		chip->model.update_dac_mute(chip);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.dac_channels_pcm < 8)
+sound/pci/oxygen/oxygen_mixer.c:	else if (chip->model.update_center_lfe_mix)
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	value->value.enumerated.item[0] = chip->dac_routing;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:		reg_value = reg_values[chip->dac_routing];
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.adjust_dac_routing)
+sound/pci/oxygen/oxygen_mixer.c:		reg_value = chip->model.adjust_dac_routing(chip, reg_value);
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.update_center_lfe_mix)
+sound/pci/oxygen/oxygen_mixer.c:		chip->model.update_center_lfe_mix(chip, chip->dac_routing > 2);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = value->value.enumerated.item[0] != chip->dac_routing;
+sound/pci/oxygen/oxygen_mixer.c:		chip->dac_routing = value->value.enumerated.item[0];
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	value->value.integer.value[0] = chip->spdif_playback_enable;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->pcm_active & (1 << PCM_SPDIF)) {
+sound/pci/oxygen/oxygen_mixer.c:	} else if ((chip->pcm_active & (1 << PCM_MULTICH)) &&
+sound/pci/oxygen/oxygen_mixer.c:		   chip->spdif_playback_enable) {
+sound/pci/oxygen/oxygen_mixer.c:			       ((chip->pcm_active & (1 << PCM_SPDIF)) ?
+sound/pci/oxygen/oxygen_mixer.c:				chip->spdif_pcm_bits : chip->spdif_bits));
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = value->value.integer.value[0] != chip->spdif_playback_enable;
+sound/pci/oxygen/oxygen_mixer.c:		chip->spdif_playback_enable = !!value->value.integer.value[0];
+sound/pci/oxygen/oxygen_mixer.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	oxygen_to_iec958(chip->spdif_bits, value);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = new_bits != chip->spdif_bits;
+sound/pci/oxygen/oxygen_mixer.c:		chip->spdif_bits = new_bits;
+sound/pci/oxygen/oxygen_mixer.c:		if (!(chip->pcm_active & (1 << PCM_SPDIF)))
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	oxygen_to_iec958(chip->spdif_pcm_bits, value);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = new_bits != chip->spdif_pcm_bits;
+sound/pci/oxygen/oxygen_mixer.c:		chip->spdif_pcm_bits = new_bits;
+sound/pci/oxygen/oxygen_mixer.c:		if (chip->pcm_active & (1 << PCM_SPDIF))
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	if (!chip->controls[control])
+sound/pci/oxygen/oxygen_mixer.c:	priv_idx = chip->controls[control]->private_value & 0xff;
+sound/pci/oxygen/oxygen_mixer.c:		if (chip->model.ac97_switch)
+sound/pci/oxygen/oxygen_mixer.c:			chip->model.ac97_switch(chip, priv_idx, 0x8000);
+sound/pci/oxygen/oxygen_mixer.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/oxygen/oxygen_mixer.c:			       &chip->controls[control]->id);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:		if (codec == 0 && chip->model.ac97_switch)
+sound/pci/oxygen/oxygen_mixer.c:			chip->model.ac97_switch(chip, index, newreg & 0x8000);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	for (i = 0; i < ARRAY_SIZE(chip->controls); ++i)
+sound/pci/oxygen/oxygen_mixer.c:		chip->controls[i] = NULL;
+sound/pci/oxygen/oxygen_mixer.c:		if (chip->model.control_filter) {
+sound/pci/oxygen/oxygen_mixer.c:			err = chip->model.control_filter(&template);
+sound/pci/oxygen/oxygen_mixer.c:		    chip->model.dac_channels_pcm == 2)
+sound/pci/oxygen/oxygen_mixer.c:		    !(chip->model.device_config & AC97_FMIC_SWITCH))
+sound/pci/oxygen/oxygen_mixer.c:		    !(chip->model.device_config & AC97_CD_INPUT))
+sound/pci/oxygen/oxygen_mixer.c:		    chip->model.dac_tlv) {
+sound/pci/oxygen/oxygen_mixer.c:			template.tlv.p = chip->model.dac_tlv;
+sound/pci/oxygen/oxygen_mixer.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/oxygen_mixer.c:			chip->controls[j] = ctl;
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.device_config & PLAYBACK_1_TO_SPDIF) {
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.device_config & CAPTURE_1_FROM_SPDIF) {
+sound/pci/oxygen/oxygen_mixer.c:		if (!(chip->model.device_config & monitor_controls[i].pcm_dev))
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->has_ac97_0) {
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_mixer.c:	return chip->model.mixer_init ? chip->model.mixer_init(chip) : 0;
+sound/pci/oxygen/oxygen_pcm.c:	if (channel == PCM_B && chip->has_ac97_1 &&
+sound/pci/oxygen/oxygen_pcm.c:	    (chip->model.device_config & CAPTURE_2_FROM_AC97_1))
+sound/pci/oxygen/oxygen_pcm.c:		if (chip->model.device_config & CAPTURE_1_FROM_SPDIF) {
+sound/pci/oxygen/oxygen_pcm.c:		runtime->hw.channels_max = chip->model.dac_channels_pcm;
+sound/pci/oxygen/oxygen_pcm.c:	if (chip->model.pcm_hardware_filter)
+sound/pci/oxygen/oxygen_pcm.c:		chip->model.pcm_hardware_filter(channel, &runtime->hw);
+sound/pci/oxygen/oxygen_pcm.c:	chip->streams[channel] = substream;
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->pcm_active |= 1 << channel;
+sound/pci/oxygen/oxygen_pcm.c:		chip->spdif_pcm_bits = chip->spdif_bits;
+sound/pci/oxygen/oxygen_pcm.c:		chip->controls[CONTROL_SPDIF_PCM]->vd[0].access &=
+sound/pci/oxygen/oxygen_pcm.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/oxygen/oxygen_pcm.c:			       &chip->controls[CONTROL_SPDIF_PCM]->id);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->pcm_active &= ~(1 << channel);
+sound/pci/oxygen/oxygen_pcm.c:		chip->controls[CONTROL_SPDIF_PCM]->vd[0].access |=
+sound/pci/oxygen/oxygen_pcm.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/oxygen/oxygen_pcm.c:			       &chip->controls[CONTROL_SPDIF_PCM]->id);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->streams[channel] = NULL;
+sound/pci/oxygen/oxygen_pcm.c:		mclks = chip->model.dac_mclks;
+sound/pci/oxygen/oxygen_pcm.c:		mclks = chip->model.adc_mclks;
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:			      chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->model.set_adc_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	is_ac97 = chip->has_ac97_1 &&
+sound/pci/oxygen/oxygen_pcm.c:		(chip->model.device_config & CAPTURE_2_FROM_AC97_1);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:				      chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:		chip->model.set_adc_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	is_spdif = chip->model.device_config & CAPTURE_1_FROM_SPDIF;
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:				      chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:		chip->model.set_adc_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:			      chip->model.dac_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	chip->model.set_dac_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	chip->interrupt_mask &= ~channel_mask;
+sound/pci/oxygen/oxygen_pcm.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:		chip->interrupt_mask &= ~channel_mask;
+sound/pci/oxygen/oxygen_pcm.c:		chip->interrupt_mask |= channel_mask;
+sound/pci/oxygen/oxygen_pcm.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:			chip->pcm_running |= mask;
+sound/pci/oxygen/oxygen_pcm.c:			chip->pcm_running &= ~mask;
+sound/pci/oxygen/oxygen_pcm.c:		oxygen_write8(chip, OXYGEN_DMA_STATUS, chip->pcm_running);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	outs = !!(chip->model.device_config & PLAYBACK_0_TO_I2S);
+sound/pci/oxygen/oxygen_pcm.c:	ins = !!(chip->model.device_config & (CAPTURE_0_FROM_I2S_1 |
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, "Multichannel",
+sound/pci/oxygen/oxygen_pcm.c:		if (chip->model.device_config & CAPTURE_0_FROM_I2S_1)
+sound/pci/oxygen/oxygen_pcm.c:		else if (chip->model.device_config & CAPTURE_0_FROM_I2S_2)
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:	outs = !!(chip->model.device_config & PLAYBACK_1_TO_SPDIF);
+sound/pci/oxygen/oxygen_pcm.c:	ins = !!(chip->model.device_config & CAPTURE_1_FROM_SPDIF);
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, "Digital", 1, outs, ins, &pcm);
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_pcm.c:		outs = !!(chip->model.device_config & PLAYBACK_2_TO_AC97_1);
+sound/pci/oxygen/oxygen_pcm.c:		ins = !!(chip->model.device_config & CAPTURE_2_FROM_AC97_1);
+sound/pci/oxygen/oxygen_pcm.c:		ins = !!(chip->model.device_config & CAPTURE_2_FROM_I2S_2);
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, outs ? "AC97" : "Analog2",
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:	ins = !!(chip->model.device_config & CAPTURE_3_FROM_I2S_3);
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, "Analog3", 3, 0, ins, &pcm);
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/se6x.c:	snd_component_add(chip->card, "PCM1792A");
+sound/pci/oxygen/se6x.c:	snd_component_add(chip->card, "PCM1804");
+sound/pci/oxygen/se6x.c:	chip->model = model_se6x;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	snd_component_add(chip->card, "CS4398");
+sound/pci/oxygen/xonar_cs43xx.c:	snd_component_add(chip->card, "CS4362A");
+sound/pci/oxygen/xonar_cs43xx.c:	snd_component_add(chip->card, "CS5361");
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	mute = chip->dac_mute ? CS4362A_MUTE : 0;
+sound/pci/oxygen/xonar_cs43xx.c:				     (127 - chip->dac_volume[2 + i]) | mute);
+sound/pci/oxygen/xonar_cs43xx.c:	cs4398_write_cached(chip, 5, (127 - chip->dac_volume[0]) * 2);
+sound/pci/oxygen/xonar_cs43xx.c:	cs4398_write_cached(chip, 6, (127 - chip->dac_volume[1]) * 2);
+sound/pci/oxygen/xonar_cs43xx.c:	if (chip->dac_mute)
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_cs43xx.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_cs43xx.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_cs43xx.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_cs43xx.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&front_panel_switch, chip));
+sound/pci/oxygen/xonar_cs43xx.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&rolloff_control, chip));
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model = model_xonar_d1;
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model.shortname = "Xonar D1";
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model = model_xonar_d1;
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model.shortname = "Xonar DX";
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model.init = xonar_dx_init;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	snd_component_add(chip->card, "CS4245");
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_hdmi.c:	if (chip->uart_input_count >= 2 &&
+sound/pci/oxygen/xonar_hdmi.c:	    chip->uart_input[chip->uart_input_count - 2] == 'O' &&
+sound/pci/oxygen/xonar_hdmi.c:	    chip->uart_input[chip->uart_input_count - 1] == 'K') {
+sound/pci/oxygen/xonar_hdmi.c:		dev_dbg(chip->card->dev, "message from HDMI chip received:\n");
+sound/pci/oxygen/xonar_hdmi.c:				     chip->uart_input, chip->uart_input_count);
+sound/pci/oxygen/xonar_hdmi.c:		chip->uart_input_count = 0;
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:			dev_notice(chip->card->dev, "power restored\n");
+sound/pci/oxygen/xonar_lib.c:			dev_crit(chip->card->dev,
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:	chip->interrupt_mask |= OXYGEN_INT_GPIO;
+sound/pci/oxygen/xonar_lib.c:	chip->model.gpio_changed = xonar_ext_power_gpio_changed;
+sound/pci/oxygen/xonar_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	if ((chip->model.function_flags & OXYGEN_FUNCTION_2WIRE_SPI_MASK) ==
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write(chip, i, 16, chip->dac_volume[i * 2]
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write(chip, i, 17, chip->dac_volume[i * 2 + 1]
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1796");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_hdav *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	data->pcm179x.dacs = chip->model.dac_channels_mixer / 2;
+sound/pci/oxygen/xonar_pcm179x.c:	data->pcm179x.h6 = chip->model.dac_channels_mixer > 2;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1796");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	data->dacs = chip->model.dac_channels_mixer / 2;
+sound/pci/oxygen/xonar_pcm179x.c:	data->h6 = chip->model.dac_channels_mixer > 2;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1792A");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	data->h6 = chip->model.dac_channels_mixer > 2;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS2000");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1796");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS2000");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_hdav *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write_cached(chip, i, 16, chip->dac_volume[i * 2]
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write_cached(chip, i, 17, chip->dac_volume[i * 2 + 1]
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	if (chip->dac_mute)
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_hdav *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_pcm179x.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&alt_switch, chip));
+sound/pci/oxygen/xonar_pcm179x.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hdav_hdmi_control, chip));
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_d2;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar D2";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_d2;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar D2X";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_d2x_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_hdav;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar HDAV1.3";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar HDAV1.3+H6";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_mixer = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar ST";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar ST+H6";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.control_filter = xonar_st_h6_control_filter;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_pcm = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_mixer = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_volume_min = 255;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar STX";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_stx_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.resume = xonar_stx_resume;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.set_dac_params = set_pcm1796_params;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar STX II";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar STX II+H6";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_pcm = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_mixer = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_stx_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.resume = xonar_stx_resume;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.set_dac_params = set_pcm1796_params;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar Xense";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.chip = "AV100";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_xense_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.mixer_init = xonar_xense_mixer_init;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	if ((chip->model.function_flags & OXYGEN_FUNCTION_2WIRE_SPI_MASK) ==
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	wm8776_write(chip, WM8776_DACMUTE, chip->dac_mute ? WM8776_DMUTE : 0);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8776_write(chip, WM8776_DACLVOL, chip->dac_volume[0]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8776_write(chip, WM8776_DACRVOL, chip->dac_volume[1] | WM8776_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		     WM8766_ZCD | (chip->dac_mute ? WM8766_DMUTE_MASK : 0));
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_LDA1, chip->dac_volume[2]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_RDA1, chip->dac_volume[3]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_LDA2, chip->dac_volume[4]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_RDA2, chip->dac_volume[5]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_LDA3, chip->dac_volume[6]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_RDA3, chip->dac_volume[7] | WM8766_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	chip->interrupt_mask |= OXYGEN_INT_GPIO;
+sound/pci/oxygen/xonar_wm87x6.c:	snd_jack_new(chip->card, "Headphone",
+sound/pci/oxygen/xonar_wm87x6.c:	snd_component_add(chip->card, "WM8776");
+sound/pci/oxygen/xonar_wm87x6.c:	snd_component_add(chip->card, "WM8766");
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	snd_component_add(chip->card, "WM8776");
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	if (chip->dac_volume[0] == chip->dac_volume[1]) {
+sound/pci/oxygen/xonar_wm87x6.c:		if (chip->dac_volume[0] != data->wm8776_regs[WM8776_DACLVOL] ||
+sound/pci/oxygen/xonar_wm87x6.c:		    chip->dac_volume[1] != data->wm8776_regs[WM8776_DACRVOL]) {
+sound/pci/oxygen/xonar_wm87x6.c:				     chip->dac_volume[0] | WM8776_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:			data->wm8776_regs[WM8776_DACLVOL] = chip->dac_volume[0];
+sound/pci/oxygen/xonar_wm87x6.c:			data->wm8776_regs[WM8776_DACRVOL] = chip->dac_volume[0];
+sound/pci/oxygen/xonar_wm87x6.c:		to_change = (chip->dac_volume[0] !=
+sound/pci/oxygen/xonar_wm87x6.c:		to_change |= (chip->dac_volume[1] !=
+sound/pci/oxygen/xonar_wm87x6.c:			wm8776_write(chip, WM8776_DACLVOL, chip->dac_volume[0] |
+sound/pci/oxygen/xonar_wm87x6.c:				     chip->dac_volume[1] | WM8776_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	if (chip->dac_volume[2] == chip->dac_volume[3] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[4] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[5] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[6] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[7]) {
+sound/pci/oxygen/xonar_wm87x6.c:			if (chip->dac_volume[2] !=
+sound/pci/oxygen/xonar_wm87x6.c:				     chip->dac_volume[2] | WM8766_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:					chip->dac_volume[2];
+sound/pci/oxygen/xonar_wm87x6.c:			to_change |= (chip->dac_volume[2 + i] !=
+sound/pci/oxygen/xonar_wm87x6.c:					     chip->dac_volume[2 + i] |
+sound/pci/oxygen/xonar_wm87x6.c:			    chip->dac_mute ? WM8776_DMUTE : 0);
+sound/pci/oxygen/xonar_wm87x6.c:			    (chip->dac_mute ? WM8766_DMUTE_MASK : 0));
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO, &ctl->id);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/xonar_wm87x6.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model = model_xonar_ds;
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model.shortname = "Xonar DS";
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model = model_xonar_ds;
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model.shortname = "Xonar DSX";
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model = model_xonar_hdav_slim;
+sound/pci/pcxhr/pcxhr.c:			dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	sample_rate = chip->mgr->sample_rate;
+sound/pci/pcxhr/pcxhr.c:		if (DSP_EXT_CMD_SET(chip->mgr))
+sound/pci/pcxhr/pcxhr.c:	if (DSP_EXT_CMD_SET(chip->mgr)) {
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:		chip->chip_idx, (void *)(long)subs->runtime->dma_addr,
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev, "PIPE_SAMPLE_COUNT = %lx\n", *sample_count);
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			if (pcxhr_stream_scheduled_get_pipe(&chip->capture_stream[j], &pipe))
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			if (pcxhr_stream_scheduled_get_pipe(&chip->playback_stream[j], &pipe)) {
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->capture_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->playback_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->capture_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->playback_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for(j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->capture_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->playback_stream[j];
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "SNDRV_PCM_TRIGGER_START\n");
+sound/pci/pcxhr/pcxhr.c:			pcxhr_start_linked_stream(chip->mgr);
+sound/pci/pcxhr/pcxhr.c:			dev_dbg(chip->card->dev, "Only one Substream %c %d\n",
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "SNDRV_PCM_TRIGGER_STOP\n");
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr       *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "pcxhr_open playback chip%d subs%d\n",
+sound/pci/pcxhr/pcxhr.c:			    chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:		stream = &chip->playback_stream[subs->number];
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "pcxhr_open capture chip%d subs%d\n",
+sound/pci/pcxhr/pcxhr.c:			    chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:		stream = &chip->capture_stream[subs->number];
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev, "pcxhr_open chip%d subs%d in use\n",
+sound/pci/pcxhr/pcxhr.c:			   chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev, "pcxhr_close chip%d subs%d\n",
+sound/pci/pcxhr/pcxhr.c:		    chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:	mutex_lock(&chip->mgr->lock);
+sound/pci/pcxhr/pcxhr.c:	mutex_unlock(&chip->mgr->lock);
+sound/pci/pcxhr/pcxhr.c:	snprintf(name, sizeof(name), "pcxhr %d", chip->chip_idx);
+sound/pci/pcxhr/pcxhr.c:	if ((err = snd_pcm_new(chip->card, name, 0,
+sound/pci/pcxhr/pcxhr.c:			       chip->nb_streams_play,
+sound/pci/pcxhr/pcxhr.c:			       chip->nb_streams_capt, &pcm)) < 0) {
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev, "cannot create pcm %s\n", name);
+sound/pci/pcxhr/pcxhr.c:	if (chip->nb_streams_play)
+sound/pci/pcxhr/pcxhr.c:	if (chip->nb_streams_capt)
+sound/pci/pcxhr/pcxhr.c:					      &chip->mgr->pci->dev,
+sound/pci/pcxhr/pcxhr.c:	chip->pcm = pcm;
+sound/pci/pcxhr/pcxhr.c:	chip->card = card;
+sound/pci/pcxhr/pcxhr.c:	chip->chip_idx = idx;
+sound/pci/pcxhr/pcxhr.c:	chip->mgr = mgr;
+sound/pci/pcxhr/pcxhr.c:		chip->nb_streams_play = PCXHR_PLAYBACK_STREAMS;
+sound/pci/pcxhr/pcxhr.c:			chip->nb_streams_capt = 2;	/* 2 mono streams */
+sound/pci/pcxhr/pcxhr.c:			chip->nb_streams_capt = 1;	/* or 1 stereo stream */
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	snd_card_ro_proc_new(chip->card, "info", chip, pcxhr_proc_info);
+sound/pci/pcxhr/pcxhr.c:	snd_card_ro_proc_new(chip->card, "sync", chip, pcxhr_proc_sync);
+sound/pci/pcxhr/pcxhr.c:	if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr.c:		snd_card_rw_proc_new(chip->card, "gpio", chip,
+sound/pci/pcxhr/pcxhr.c:	snd_card_ro_proc_new(chip->card, "ltc", chip, pcxhr_proc_ltc);
+sound/pci/pcxhr/pcxhr_core.c:			for (j = 0; j < chip->nb_streams_capt; j++)
+sound/pci/pcxhr/pcxhr_core.c:						&chip->capture_stream[j],
+sound/pci/pcxhr/pcxhr_core.c:			for (j = 0; j < chip->nb_streams_play; j++)
+sound/pci/pcxhr/pcxhr_core.c:						&chip->playback_stream[j],
+sound/pci/pcxhr/pcxhr_hwdep.c:		if (chip->nb_streams_play) {
+sound/pci/pcxhr/pcxhr_hwdep.c:			pipe = &chip->playback_pipe;
+sound/pci/pcxhr/pcxhr_hwdep.c:			for(j = 0; j < chip->nb_streams_play; j++)
+sound/pci/pcxhr/pcxhr_hwdep.c:				chip->playback_stream[j].pipe = pipe;
+sound/pci/pcxhr/pcxhr_hwdep.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr_hwdep.c:			pipe = &chip->capture_pipe[j];
+sound/pci/pcxhr/pcxhr_hwdep.c:			chip->capture_stream[j].pipe = pipe;
+sound/pci/pcxhr/pcxhr_hwdep.c:		if (chip->nb_streams_play)
+sound/pci/pcxhr/pcxhr_hwdep.c:			playback_mask |= 1 << chip->playback_pipe.first_audio;
+sound/pci/pcxhr/pcxhr_hwdep.c:		for (j = 0; j < chip->nb_streams_capt; j++)
+sound/pci/pcxhr/pcxhr_hwdep.c:			capture_mask |= 1 << chip->capture_pipe[j].first_audio;
+sound/pci/pcxhr/pcxhr_hwdep.c:			if ((err = pcxhr_create_mixer(chip->mgr)) < 0)
+sound/pci/pcxhr/pcxhr_hwdep.c:		if ((err = snd_card_register(chip->card)) < 0)
+sound/pci/pcxhr/pcxhr_mix22.c:	dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->analog_capture_active) {
+sound/pci/pcxhr/pcxhr_mix22.c:			level_l = chip->analog_capture_volume[0];
+sound/pci/pcxhr/pcxhr_mix22.c:			level_r = chip->analog_capture_volume[1];
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->mic_active)
+sound/pci/pcxhr/pcxhr_mix22.c:			level_mic = chip->mic_volume;
+sound/pci/pcxhr/pcxhr_mix22.c:		return hr222_set_hw_capture_level(chip->mgr,
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->analog_playback_active[channel])
+sound/pci/pcxhr/pcxhr_mix22.c:			vol = chip->analog_playback_volume[channel];
+sound/pci/pcxhr/pcxhr_mix22.c:		return hr222_set_hw_playback_level(chip->mgr, channel, vol);
+sound/pci/pcxhr/pcxhr_mix22.c:	chip->mgr->xlx_cfg &= ~(PCXHR_CFG_SRC_MASK |
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->audio_capture_source == SOURCE_DIGISRC) {
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mgr->xlx_cfg |= PCXHR_CFG_SRC_MASK;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->audio_capture_source == SOURCE_DIGITAL)
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mgr->xlx_cfg |=  PCXHR_CFG_DATAIN_SEL_MASK;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->mgr->board_has_aes1) {
+sound/pci/pcxhr/pcxhr_mix22.c:			chip->mgr->xlx_cfg |= PCXHR_CFG_DATA_UER1_SEL_MASK;
+sound/pci/pcxhr/pcxhr_mix22.c:		/* chip->mic_active = 0; */
+sound/pci/pcxhr/pcxhr_mix22.c:		/* chip->analog_capture_active = 0; */
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->analog_capture_active = 0;
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mic_active = 0;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->audio_capture_source == SOURCE_LINE ||
+sound/pci/pcxhr/pcxhr_mix22.c:		    chip->audio_capture_source == SOURCE_LINEMIC) {
+sound/pci/pcxhr/pcxhr_mix22.c:			if (chip->analog_capture_active == 0)
+sound/pci/pcxhr/pcxhr_mix22.c:			chip->analog_capture_active = 1;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->audio_capture_source == SOURCE_MIC ||
+sound/pci/pcxhr/pcxhr_mix22.c:		    chip->audio_capture_source == SOURCE_LINEMIC) {
+sound/pci/pcxhr/pcxhr_mix22.c:			if (chip->mic_active == 0)
+sound/pci/pcxhr/pcxhr_mix22.c:			chip->mic_active = 1;
+sound/pci/pcxhr/pcxhr_mix22.c:	PCXHR_OUTPB(chip->mgr, PCXHR_XLX_CFG, chip->mgr->xlx_cfg);
+sound/pci/pcxhr/pcxhr_mix22.c:	unsigned char mask = chip->mgr->board_has_aes1 ?
+sound/pci/pcxhr/pcxhr_mix22.c:		PCXHR_OUTPB(chip->mgr, PCXHR_XLX_RUER, idx++); /* idx < 192 */
+sound/pci/pcxhr/pcxhr_mix22.c:		if (PCXHR_INPB(chip->mgr, PCXHR_XLX_CSUER) & mask)
+sound/pci/pcxhr/pcxhr_mix22.c:	dev_dbg(chip->card->dev, "read iec958 AES %d byte %d = 0x%x\n",
+sound/pci/pcxhr/pcxhr_mix22.c:		    chip->chip_idx, aes_idx, temp);
+sound/pci/pcxhr/pcxhr_mix22.c:	unsigned char old_bits = chip->aes_bits[aes_idx];
+sound/pci/pcxhr/pcxhr_mix22.c:			PCXHR_OUTPB(chip->mgr, PCXHR_XLX_RUER, idx);
+sound/pci/pcxhr/pcxhr_mix22.c:			PCXHR_OUTPB(chip->mgr, PCXHR_XLX_CSUER, new_bits&0x01 ?
+sound/pci/pcxhr/pcxhr_mix22.c:	chip->aes_bits[aes_idx] = aes_bits;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	ucontrol->value.integer.value[0] = chip->mic_volume;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->mic_volume != ucontrol->value.integer.value[0]) {
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mic_volume = ucontrol->value.integer.value[0];
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	ucontrol->value.integer.value[0] = chip->mic_boost;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->mic_boost != ucontrol->value.integer.value[0]) {
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mic_boost = ucontrol->value.integer.value[0];
+sound/pci/pcxhr/pcxhr_mix22.c:		hr222_micro_boost(chip->mgr, chip->mic_boost);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	ucontrol->value.integer.value[0] = chip->phantom_power;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->phantom_power != power) {
+sound/pci/pcxhr/pcxhr_mix22.c:		hr222_phantom_power(chip->mgr, power);
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->phantom_power = power;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (!chip->mgr->board_has_mic)
+sound/pci/pcxhr/pcxhr_mix22.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hr222_control_mic_level,
+sound/pci/pcxhr/pcxhr_mix22.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hr222_control_mic_boost,
+sound/pci/pcxhr/pcxhr_mix22.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hr222_phantom_power_switch,
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[2] = chip->analog_capture_volume[channel];
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->analog_playback_active[channel])
+sound/pci/pcxhr/pcxhr_mixer.c:			vol = chip->analog_playback_volume[channel];
+sound/pci/pcxhr/pcxhr_mixer.c:	rmh.cmd[1]  = 1 << ((2 * chip->chip_idx) + channel);	/* audio mask */
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mixer.c:			   chip->chip_idx, is_capture, err);
+sound/pci/pcxhr/pcxhr_mixer.c:	    if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:	    if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[0] = chip->analog_playback_volume[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[1] = chip->analog_playback_volume[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[0] = chip->analog_capture_volume[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[1] = chip->analog_capture_volume[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:			&chip->analog_capture_volume[i] :
+sound/pci/pcxhr/pcxhr_mixer.c:			&chip->analog_playback_volume[i];
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->analog_playback_active[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->analog_playback_active[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->analog_playback_active[i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->analog_playback_active[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	struct pcxhr_pipe *pipe = &chip->playback_pipe;
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->digital_playback_active[idx][0])
+sound/pci/pcxhr/pcxhr_mixer.c:		left = chip->digital_playback_volume[idx][0];
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->digital_playback_active[idx][1])
+sound/pci/pcxhr/pcxhr_mixer.c:		right = chip->digital_playback_volume[idx][1];
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		dev_dbg(chip->card->dev, "error update_playback_stream_level "
+sound/pci/pcxhr/pcxhr_mixer.c:			   "card(%d) err(%x)\n", chip->chip_idx, err);
+sound/pci/pcxhr/pcxhr_mixer.c:		pipe = &chip->capture_pipe[0];
+sound/pci/pcxhr/pcxhr_mixer.c:		pipe = &chip->playback_pipe;
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[2] = chip->digital_capture_volume[channel];
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[2] = chip->monitoring_volume[channel] << 10;
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->monitoring_active[channel] == 0)
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mixer.c:			   chip->chip_idx, err);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_capture_volume;
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_playback_volume[idx];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_capture_volume;
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_playback_volume[idx];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->digital_playback_active[idx][0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->digital_playback_active[idx][1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->digital_playback_active[j][i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->digital_playback_active[j][i] =
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_volume[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_volume[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->monitoring_volume[i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->monitoring_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->monitoring_active[i])
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_active[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_active[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->monitoring_active[i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->monitoring_active[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	switch (chip->chip_idx) {
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->audio_capture_source != 0) {
+sound/pci/pcxhr/pcxhr_mixer.c:	pcxhr_write_io_num_reg_cont(chip->mgr, mask, reg, &changed);
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[0] |= (1 << chip->chip_idx);
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_aes_in_192k) {
+sound/pci/pcxhr/pcxhr_mixer.c:		for (i = 0; (i < 4) && (i < chip->mgr->capture_chips); i++) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->chip[i]->audio_capture_source == 2)
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->audio_capture_source == 2)
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_has_aes1) {
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->mgr->board_has_mic)
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.enumerated.item[0] = chip->audio_capture_source;
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_has_aes1) {
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->mgr->board_has_mic)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->audio_capture_source != ucontrol->value.enumerated.item[0]) {
+sound/pci/pcxhr/pcxhr_mixer.c:		chip->audio_capture_source = ucontrol->value.enumerated.item[0];
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	switch (chip->chip_idx) {
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_aes_in_192k) {
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_aes_in_192k) {
+sound/pci/pcxhr/pcxhr_mixer.c:	dev_dbg(chip->card->dev, "read iec958 AES %d byte %d = 0x%x\n",
+sound/pci/pcxhr/pcxhr_mixer.c:		    chip->chip_idx, aes_idx, temp);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:			aes_bits = chip->aes_bits[i];
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	unsigned char old_bits = chip->aes_bits[aes_idx];
+sound/pci/pcxhr/pcxhr_mixer.c:			cmd = chip->chip_idx & 0x03;      /* chip index 0..3 */
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->chip_idx > 3)
+sound/pci/pcxhr/pcxhr_mixer.c:			dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mixer.c:				    chip->chip_idx, aes_idx, i, cmd);
+sound/pci/pcxhr/pcxhr_mixer.c:			err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	chip->aes_bits[aes_idx] = aes_bits;
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (ucontrol->value.iec958.status[i] != chip->aes_bits[i]) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_play) {
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->digital_playback_active[j][i] = 1;
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->digital_playback_volume[j][i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->aes_bits[0] = (IEC958_AES0_PROFESSIONAL |
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->analog_playback_active[i] = 1;
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_playback_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_playback_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_capt) {
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->digital_capture_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->analog_capture_active = 1;
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_capture_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_capture_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_play) {
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_capt) {
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_capt > 0 && chip->nb_streams_play > 0) {
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:		substream[i] = chip->playback_substream[i];
+sound/pci/riptide/riptide.c:	substream[i] = chip->capture_substream;
+sound/pci/riptide/riptide.c:	chip->in_suspend = 1;
+sound/pci/riptide/riptide.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/riptide/riptide.c:	snd_ac97_resume(chip->ac97);
+sound/pci/riptide/riptide.c:	chip->in_suspend = 0;
+sound/pci/riptide/riptide.c:	if (!chip->fw_entry) {
+sound/pci/riptide/riptide.c:		err = request_firmware(&chip->fw_entry, "riptide.hex",
+sound/pci/riptide/riptide.c:				       &chip->pci->dev);
+sound/pci/riptide/riptide.c:	err = loadfirmware(cif, chip->fw_entry->data, chip->fw_entry->size);
+sound/pci/riptide/riptide.c:	chip->firmware = firmware;
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	spin_lock(&chip->lock);
+sound/pci/riptide/riptide.c:			chip->openstreams++;
+sound/pci/riptide/riptide.c:		chip->openstreams--;
+sound/pci/riptide/riptide.c:			chip->openstreams--;
+sound/pci/riptide/riptide.c:			chip->openstreams++;
+sound/pci/riptide/riptide.c:		spin_unlock(&chip->lock);
+sound/pci/riptide/riptide.c:	spin_unlock(&chip->lock);
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	spin_lock_irq(&chip->lock);
+sound/pci/riptide/riptide.c:	spin_unlock_irq(&chip->lock);
+sound/pci/riptide/riptide.c:				       &chip->pci->dev,
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	chip->playback_substream[sub_num] = substream;
+sound/pci/riptide/riptide.c:	chip->capture_substream = substream;
+sound/pci/riptide/riptide.c:	chip->playback_substream[sub_num] = NULL;
+sound/pci/riptide/riptide.c:	chip->capture_substream = NULL;
+sound/pci/riptide/riptide.c:	     snd_pcm_new(chip->card, "RIPTIDE", device, PLAYBACK_SUBSTREAMS, 1,
+sound/pci/riptide/riptide.c:	chip->pcm = pcm;
+sound/pci/riptide/riptide.c:					      &chip->pci->dev,
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:		chip->received_irqs++;
+sound/pci/riptide/riptide.c:			chip->handled_irqs++;
+sound/pci/riptide/riptide.c:			tasklet_schedule(&chip->riptide_tq);
+sound/pci/riptide/riptide.c:		if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {
+sound/pci/riptide/riptide.c:			chip->handled_irqs++;
+sound/pci/riptide/riptide.c:						  chip->rmidi->private_data);
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	cif = chip->cif;
+sound/pci/riptide/riptide.c:		cif->hwport = (struct riptideport *)chip->port;
+sound/pci/riptide/riptide.c:		chip->cif = cif;
+sound/pci/riptide/riptide.c:	device_id = chip->device_id;
+sound/pci/riptide/riptide.c:	if (chip->rmidi)
+sound/pci/riptide/riptide.c:	if ((cif = chip->cif)) {
+sound/pci/riptide/riptide.c:		kfree(chip->cif);
+sound/pci/riptide/riptide.c:	if (chip->irq >= 0)
+sound/pci/riptide/riptide.c:		free_irq(chip->irq, chip);
+sound/pci/riptide/riptide.c:	release_firmware(chip->fw_entry);
+sound/pci/riptide/riptide.c:	release_and_free_resource(chip->res_port);
+sound/pci/riptide/riptide.c:	spin_lock_init(&chip->lock);
+sound/pci/riptide/riptide.c:	chip->card = card;
+sound/pci/riptide/riptide.c:	chip->pci = pci;
+sound/pci/riptide/riptide.c:	chip->irq = -1;
+sound/pci/riptide/riptide.c:	chip->openstreams = 0;
+sound/pci/riptide/riptide.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/riptide/riptide.c:	chip->received_irqs = 0;
+sound/pci/riptide/riptide.c:	chip->handled_irqs = 0;
+sound/pci/riptide/riptide.c:	chip->cif = NULL;
+sound/pci/riptide/riptide.c:	tasklet_init(&chip->riptide_tq, riptide_handleirq, (unsigned long)chip);
+sound/pci/riptide/riptide.c:	if ((chip->res_port =
+sound/pci/riptide/riptide.c:	     request_region(chip->port, 64, "RIPTIDE")) == NULL) {
+sound/pci/riptide/riptide.c:			   chip->port, chip->port + 64 - 1);
+sound/pci/riptide/riptide.c:	hwport = (struct riptideport *)chip->port;
+sound/pci/riptide/riptide.c:	chip->irq = pci->irq;
+sound/pci/riptide/riptide.c:	chip->device_id = pci->device;
+sound/pci/riptide/riptide.c:	snd_iprintf(buffer, "%s\n\n", chip->card->longname);
+sound/pci/riptide/riptide.c:		    chip->device_id, chip->handled_irqs, chip->received_irqs);
+sound/pci/riptide/riptide.c:			    (i % 16) ? ' ' : '\n', i, inl(chip->port + i));
+sound/pci/riptide/riptide.c:	if ((cif = chip->cif)) {
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.ASIC,
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.CODEC,
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.AUXDSP,
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.PROG);
+sound/pci/riptide/riptide.c:	snd_iprintf(buffer, "\nOpen streams %d:\n", chip->openstreams);
+sound/pci/riptide/riptide.c:		if (chip->playback_substream[i]
+sound/pci/riptide/riptide.c:		    && chip->playback_substream[i]->runtime
+sound/pci/riptide/riptide.c:			chip->playback_substream[i]->runtime->private_data)) {
+sound/pci/riptide/riptide.c:	if (chip->capture_substream
+sound/pci/riptide/riptide.c:	    && chip->capture_substream->runtime
+sound/pci/riptide/riptide.c:	    && (data = chip->capture_substream->runtime->private_data)) {
+sound/pci/riptide/riptide.c:	snd_card_ro_proc_new(chip->card, "riptide", chip,
+sound/pci/riptide/riptide.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/riptide/riptide.c:	chip->ac97_bus = pbus;
+sound/pci/riptide/riptide.c:	ac97.pci = chip->pci;
+sound/pci/riptide/riptide.c:	if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97)) < 0)
+sound/pci/riptide/riptide.c:	val |= (chip->irq << 4) & 0xf0;
+sound/pci/riptide/riptide.c:	pci_write_config_word(chip->pci, PCI_EXT_Legacy_Mask, val);
+sound/pci/riptide/riptide.c:		pci_write_config_word(chip->pci, PCI_EXT_MPU_Base, val);
+sound/pci/riptide/riptide.c:					  &chip->rmidi);
+sound/pci/riptide/riptide.c:			chip->mpuaddr = val;
+sound/pci/riptide/riptide.c:		pci_write_config_word(chip->pci, PCI_EXT_FM_Base, val);
+sound/pci/riptide/riptide.c:				      OPL3_HW_RIPTIDE, 0, &chip->opl3);
+sound/pci/riptide/riptide.c:			chip->opladdr = val;
+sound/pci/riptide/riptide.c:			err = snd_opl3_hwdep_new(chip->opl3, 0, 1, NULL);
+sound/pci/riptide/riptide.c:		pci_write_config_word(chip->pci, PCI_EXT_Game_Base, val);
+sound/pci/riptide/riptide.c:		chip->gameaddr = val;
+sound/pci/riptide/riptide.c:		 card->shortname, chip->port, chip->irq, chip->mpuaddr,
+sound/pci/riptide/riptide.c:		 chip->opladdr, chip->gameaddr);
+sound/pci/riptide/riptide.c:		 card->shortname, chip->port, chip->irq, chip->mpuaddr,
+sound/pci/riptide/riptide.c:		 chip->opladdr);
+sound/pci/trident/trident_main.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/trident/trident_main.c:		dev_err(chip->card->dev,
+sound/pci/trident/trident_main.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/trident/trident_main.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/trident/trident_main.c:	if (chip->gameport) {
+sound/pci/trident/trident_main.c:		gameport_unregister_port(chip->gameport);
+sound/pci/trident/trident_main.c:		chip->gameport = NULL;
+sound/pci/via82xx.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/via82xx.c:	dev_err(chip->card->dev, "codec_ready: codec %i is not ready [0x%x]\n",
+sound/pci/via82xx.c:			dev_err(chip->card->dev,
+sound/pci/via82xx.c:	if (! (status & chip->intr_mask)) {
+sound/pci/via82xx.c:		if (chip->rmidi)
+sound/pci/via82xx.c:			return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++) {
+sound/pci/via82xx.c:		struct viadev *viadev = &chip->devs[i];
+sound/pci/via82xx.c:			spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:			spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++) {
+sound/pci/via82xx.c:		struct viadev *viadev = &chip->devs[i];
+sound/pci/via82xx.c:			spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:			spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686)
+sound/pci/via82xx.c:		dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:			dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:				dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	if (chip->revision == VIA_REV_8251 && (status & VIA_REG_STAT_EOL))
+sound/pci/via82xx.c:			dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	err = build_via_table(viadev, substream, chip->pci,
+sound/pci/via82xx.c:	clean_via_table(viadev, substream, chip->pci);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate);
+sound/pci/via82xx.c:	int ac97_rate = chip->dxs_src ? 48000 : runtime->rate;
+sound/pci/via82xx.c:	if ((rate_changed = via_lock_rate(&chip->rates[0], ac97_rate)) < 0)
+sound/pci/via82xx.c:		snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE,
+sound/pci/via82xx.c:				  chip->no_vra ? 48000 : runtime->rate);
+sound/pci/via82xx.c:	if (chip->spdif_on && viadev->reg_offset == 0x30)
+sound/pci/via82xx.c:		snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+sound/pci/via82xx.c:	outb(chip->playback_volume[viadev->reg_offset / 0x10][0],
+sound/pci/via82xx.c:	outb(chip->playback_volume[viadev->reg_offset / 0x10][1],
+sound/pci/via82xx.c:	if (via_lock_rate(&chip->rates[0], runtime->rate) < 0)
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_SURR_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_LFE_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+sound/pci/via82xx.c:	if (chip->revision == VIA_REV_8233A)
+sound/pci/via82xx.c:	if (via_lock_rate(&chip->rates[1], runtime->rate) < 0)
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate);
+sound/pci/via82xx.c:	ratep = &chip->rates[viadev->direction];
+sound/pci/via82xx.c:	if (chip->spdif_on && viadev->reg_offset == 0x30) {
+sound/pci/via82xx.c:		runtime->hw.rates = chip->ac97->rates[AC97_RATES_SPDIF];
+sound/pci/via82xx.c:	} else if (chip->dxs_fixed && viadev->reg_offset < 0x40) {
+sound/pci/via82xx.c:	} else if (chip->dxs_src && viadev->reg_offset < 0x40) {
+sound/pci/via82xx.c:		runtime->hw.rates = chip->ac97->rates[idx];
+sound/pci/via82xx.c:	struct viadev *viadev = &chip->devs[chip->playback_devno + substream->number];
+sound/pci/via82xx.c:	viadev = &chip->devs[chip->playback_devno + substream->number];
+sound/pci/via82xx.c:	if (chip->dxs_controls[stream]) {
+sound/pci/via82xx.c:		chip->playback_volume[stream][0] =
+sound/pci/via82xx.c:		chip->playback_volume[stream][1] =
+sound/pci/via82xx.c:		chip->dxs_controls[stream]->vd[0].access &=
+sound/pci/via82xx.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/via82xx.c:			       &chip->dxs_controls[stream]->id);
+sound/pci/via82xx.c:	struct viadev *viadev = &chip->devs[chip->multi_devno];
+sound/pci/via82xx.c:	if (chip->revision == VIA_REV_8233A)
+sound/pci/via82xx.c:	struct viadev *viadev = &chip->devs[chip->capture_devno + substream->pcm->device];
+sound/pci/via82xx.c:	ratep = &chip->rates[viadev->direction];
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:	if (chip->dxs_controls[stream]) {
+sound/pci/via82xx.c:		chip->dxs_controls[stream]->vd[0].access |=
+sound/pci/via82xx.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO,
+sound/pci/via82xx.c:			       &chip->dxs_controls[stream]->id);
+sound/pci/via82xx.c:	chip->devs[idx].reg_offset = reg_offset;
+sound/pci/via82xx.c:	chip->devs[idx].shadow_shift = shadow_pos * 4;
+sound/pci/via82xx.c:	chip->devs[idx].direction = direction;
+sound/pci/via82xx.c:	chip->devs[idx].port = chip->port + reg_offset;
+sound/pci/via82xx.c:	chip->playback_devno = 0;	/* x 4 */
+sound/pci/via82xx.c:	chip->multi_devno = 4;		/* x 1 */
+sound/pci/via82xx.c:	chip->capture_devno = 5;	/* x 2 */
+sound/pci/via82xx.c:	chip->num_devs = 7;
+sound/pci/via82xx.c:	chip->intr_mask = 0x33033333; /* FLAG|EOL for rec0-1, mc, sdx0-3 */
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 4, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 1, 1, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[1] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->multi_devno, VIA_REG_MULTPLAY_STATUS, 4, 0);
+sound/pci/via82xx.c:	init_viadev(chip, chip->capture_devno + 1, VIA_REG_CAPTURE_8233_STATUS + 0x10, 7, 1);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	chip->ac97->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/via82xx.c:	chip->multi_devno = 0;
+sound/pci/via82xx.c:	chip->playback_devno = 1;
+sound/pci/via82xx.c:	chip->capture_devno = 2;
+sound/pci/via82xx.c:	chip->num_devs = 3;
+sound/pci/via82xx.c:	chip->intr_mask = 0x03033000; /* FLAG|EOL for rec0, mc, sdx3 */
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->multi_devno, VIA_REG_MULTPLAY_STATUS, 4, 0);
+sound/pci/via82xx.c:	init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	chip->ac97->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/via82xx.c:	if (! ac97_can_spdif(chip->ac97))
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 1, 1, 0, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[1] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->playback_devno, 0x30, 3, 0);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	chip->playback_devno = 0;
+sound/pci/via82xx.c:	chip->capture_devno = 1;
+sound/pci/via82xx.c:	chip->num_devs = 2;
+sound/pci/via82xx.c:	chip->intr_mask = 0x77; /* FLAG | EOL for PB, CP, FM */
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	unsigned long port = chip->port + (kcontrol->id.index ? (VIA_REG_CAPTURE_CHANNEL + 0x10) : VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:	unsigned long port = chip->port + (kcontrol->id.index ? (VIA_REG_CAPTURE_CHANNEL + 0x10) : VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &val);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &oval);
+sound/pci/via82xx.c:	chip->spdif_on = ucontrol->value.integer.value[0] ? 1 : 0;
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, val);
+sound/pci/via82xx.c:	ucontrol->value.integer.value[0] = VIA_DXS_MAX_VOLUME - chip->playback_volume[idx][0];
+sound/pci/via82xx.c:	ucontrol->value.integer.value[1] = VIA_DXS_MAX_VOLUME - chip->playback_volume[idx][1];
+sound/pci/via82xx.c:	ucontrol->value.integer.value[0] = VIA_DXS_MAX_VOLUME - chip->playback_volume_c[0];
+sound/pci/via82xx.c:	ucontrol->value.integer.value[1] = VIA_DXS_MAX_VOLUME - chip->playback_volume_c[1];
+sound/pci/via82xx.c:	unsigned long port = chip->port + 0x10 * idx;
+sound/pci/via82xx.c:		change |= val != chip->playback_volume[idx][i];
+sound/pci/via82xx.c:			chip->playback_volume[idx][i] = val;
+sound/pci/via82xx.c:		if (val != chip->playback_volume_c[i]) {
+sound/pci/via82xx.c:			chip->playback_volume_c[i] = val;
+sound/pci/via82xx.c:				unsigned long port = chip->port + 0x10 * idx;
+sound/pci/via82xx.c:				chip->playback_volume[idx][i] = val;
+sound/pci/via82xx.c:	chip->ac97_bus = NULL;
+sound/pci/via82xx.c:	chip->ac97 = NULL;
+sound/pci/via82xx.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/via82xx.c:	chip->ac97_bus->private_free = snd_via82xx_mixer_free_ac97_bus;
+sound/pci/via82xx.c:	chip->ac97_bus->clock = chip->ac97_clock;
+sound/pci/via82xx.c:	ac97.pci = chip->pci;
+sound/pci/via82xx.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/via82xx.c:	snd_ac97_tune_hardware(chip->ac97, ac97_quirks, quirk_override);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686) {
+sound/pci/via82xx.c:		snd_ac97_update_bits(chip->ac97, AC97_EXTENDED_STATUS, 0x03 << 4, 0x03 << 4);
+sound/pci/via82xx.c:		dev_warn(chip->card->dev, "cannot reserve joystick port %#x\n",
+sound/pci/via82xx.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/via82xx.c:		dev_err(chip->card->dev,
+sound/pci/via82xx.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/via82xx.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, *legacy);
+sound/pci/via82xx.c:	gameport_register_port(chip->gameport);
+sound/pci/via82xx.c:	if (chip->gameport) {
+sound/pci/via82xx.c:		struct resource *r = gameport_get_port_data(chip->gameport);
+sound/pci/via82xx.c:		gameport_unregister_port(chip->gameport);
+sound/pci/via82xx.c:		chip->gameport = NULL;
+sound/pci/via82xx.c:	caps = chip->chip_type == TYPE_VIA8233A ? 1 : 2;
+sound/pci/via82xx.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_capture_source, chip));
+sound/pci/via82xx.c:	if (ac97_can_spdif(chip->ac97)) {
+sound/pci/via82xx.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs3_spdif_control, chip));
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA8233A) {
+sound/pci/via82xx.c:		if (! snd_ctl_find_id(chip->card, &sid)) {
+sound/pci/via82xx.c:			dev_info(chip->card->dev,
+sound/pci/via82xx.c:			err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_pcmdxs_volume_control, chip));
+sound/pci/via82xx.c:				err = snd_ctl_add(chip->card, kctl);
+sound/pci/via82xx.c:				chip->dxs_controls[i] = kctl;
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &val);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, val);
+sound/pci/via82xx.c:	legacy = chip->old_legacy;
+sound/pci/via82xx.c:	legacy_cfg = chip->old_legacy_cfg;
+sound/pci/via82xx.c:	if (chip->revision >= VIA_REV_686_H) {
+sound/pci/via82xx.c:			pci_write_config_dword(chip->pci, 0x18, mpu_port | 0x01);
+sound/pci/via82xx.c:			chip->mpu_port_saved = mpu_port;
+sound/pci/via82xx.c:			mpu_port = pci_resource_start(chip->pci, 2);
+sound/pci/via82xx.c:	    (chip->mpu_res = request_region(mpu_port, 2, "VIA82xx MPU401"))
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, legacy);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, legacy_cfg);
+sound/pci/via82xx.c:	if (chip->mpu_res) {
+sound/pci/via82xx.c:		if (snd_mpu401_uart_new(chip->card, 0, MPU401_HW_VIA686A,
+sound/pci/via82xx.c:					&chip->rmidi) < 0) {
+sound/pci/via82xx.c:			dev_warn(chip->card->dev,
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, legacy);
+sound/pci/via82xx.c:	chip->legacy_saved = legacy;
+sound/pci/via82xx.c:	chip->legacy_cfg_saved = legacy_cfg;
+sound/pci/via82xx.c:	snd_iprintf(buffer, "%s\n\n", chip->card->longname);
+sound/pci/via82xx.c:		snd_iprintf(buffer, "%02x: %08x\n", i, inl(chip->port + i));
+sound/pci/via82xx.c:	snd_card_ro_proc_new(chip->card, "via82xx", chip,
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686)
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, 0);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, 0x00);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_CTRL, &pval);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx.c:		pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx.c:		dev_err(chip->card->dev,
+sound/pci/via82xx.c:			chip->ac97_secondary = 1;
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686) {
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FM_NMI_CTRL, 0);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686) {
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA8233A) {
+sound/pci/via82xx.c:			unsigned long port = chip->port + 0x10 * idx;
+sound/pci/via82xx.c:				chip->playback_volume[idx][i]=chip->playback_volume_c[i];
+sound/pci/via82xx.c:				outb(chip->playback_volume_c[i],
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686) {
+sound/pci/via82xx.c:		pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &chip->spdif_ctrl_saved);
+sound/pci/via82xx.c:		chip->capture_src_saved[0] = inb(chip->port + VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:		chip->capture_src_saved[1] = inb(chip->port + VIA_REG_CAPTURE_CHANNEL + 0x10);
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686) {
+sound/pci/via82xx.c:		if (chip->mpu_port_saved)
+sound/pci/via82xx.c:			pci_write_config_dword(chip->pci, 0x18, chip->mpu_port_saved | 0x01);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, chip->legacy_saved);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, chip->legacy_cfg_saved);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, chip->spdif_ctrl_saved);
+sound/pci/via82xx.c:		outb(chip->capture_src_saved[0], chip->port + VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:		outb(chip->capture_src_saved[1], chip->port + VIA_REG_CAPTURE_CHANNEL + 0x10);
+sound/pci/via82xx.c:	snd_ac97_resume(chip->ac97);
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:	if (chip->irq < 0)
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:	if (chip->irq >= 0)
+sound/pci/via82xx.c:		free_irq(chip->irq, chip);
+sound/pci/via82xx.c:	release_and_free_resource(chip->mpu_res);
+sound/pci/via82xx.c:	pci_release_regions(chip->pci);
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686) {
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, chip->old_legacy);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, chip->old_legacy_cfg);
+sound/pci/via82xx.c:	pci_disable_device(chip->pci);
+sound/pci/via82xx.c:	chip->chip_type = chip_type;
+sound/pci/via82xx.c:	chip->revision = revision;
+sound/pci/via82xx.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_lock_init(&chip->rates[0].lock);
+sound/pci/via82xx.c:	spin_lock_init(&chip->rates[1].lock);
+sound/pci/via82xx.c:	chip->card = card;
+sound/pci/via82xx.c:	chip->pci = pci;
+sound/pci/via82xx.c:	chip->irq = -1;
+sound/pci/via82xx.c:	pci_read_config_byte(pci, VIA_FUNC_ENABLE, &chip->old_legacy);
+sound/pci/via82xx.c:	pci_read_config_byte(pci, VIA_PNP_CONTROL, &chip->old_legacy_cfg);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE,
+sound/pci/via82xx.c:			      chip->old_legacy & ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM));
+sound/pci/via82xx.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/via82xx.c:	chip->irq = pci->irq;
+sound/pci/via82xx.c:		chip->ac97_clock = ac97_clock;
+sound/pci/via82xx.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx.c:			// chip->dxs_fixed = 1; /* FIXME: use 48k for DXS #3? */
+sound/pci/via82xx.c:				chip->dxs_fixed = 1;
+sound/pci/via82xx.c:				chip->no_vra = 1;
+sound/pci/via82xx.c:				chip->no_vra = 1;
+sound/pci/via82xx.c:				chip->dxs_src = 1;
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:		 snd_ac97_get_short_name(chip->ac97), chip->port, chip->irq);
+sound/pci/via82xx_modem.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/via82xx_modem.c:	dev_err(chip->card->dev, "codec_ready: codec %i is not ready [0x%x]\n",
+sound/pci/via82xx_modem.c:			dev_err(chip->card->dev,
+sound/pci/via82xx_modem.c:	if (! (status & chip->intr_mask)) {
+sound/pci/via82xx_modem.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++) {
+sound/pci/via82xx_modem.c:		struct viadev *viadev = &chip->devs[i];
+sound/pci/via82xx_modem.c:			spin_unlock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:			spin_lock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:		dev_err(chip->card->dev,
+sound/pci/via82xx_modem.c:		dev_dbg(chip->card->dev,
+sound/pci/via82xx_modem.c:			dev_dbg(chip->card->dev,
+sound/pci/via82xx_modem.c:				dev_dbg(chip->card->dev,
+sound/pci/via82xx_modem.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	err = build_via_table(viadev, substream, chip->pci,
+sound/pci/via82xx_modem.c:	snd_ac97_write(chip->ac97, AC97_LINE1_RATE, params_rate(hw_params));
+sound/pci/via82xx_modem.c:	snd_ac97_write(chip->ac97, AC97_LINE1_LEVEL, 0);
+sound/pci/via82xx_modem.c:	clean_via_table(viadev, substream, chip->pci);
+sound/pci/via82xx_modem.c:	snd_via82xx_codec_ready(chip, chip->ac97_secondary);
+sound/pci/via82xx_modem.c:	snd_via82xx_codec_ready(chip, chip->ac97_secondary);
+sound/pci/via82xx_modem.c:	struct viadev *viadev = &chip->devs[chip->playback_devno + substream->number];
+sound/pci/via82xx_modem.c:	struct viadev *viadev = &chip->devs[chip->capture_devno + substream->pcm->device];
+sound/pci/via82xx_modem.c:	chip->devs[idx].reg_offset = reg_offset;
+sound/pci/via82xx_modem.c:	chip->devs[idx].direction = direction;
+sound/pci/via82xx_modem.c:	chip->devs[idx].port = chip->port + reg_offset;
+sound/pci/via82xx_modem.c:	chip->playback_devno = 0;
+sound/pci/via82xx_modem.c:	chip->capture_devno = 1;
+sound/pci/via82xx_modem.c:	chip->num_devs = 2;
+sound/pci/via82xx_modem.c:	chip->intr_mask = 0x330000; /* FLAGS | EOL for MR, MW */
+sound/pci/via82xx_modem.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/pci/via82xx_modem.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx_modem.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx_modem.c:					      &chip->pci->dev,
+sound/pci/via82xx_modem.c:	chip->ac97_bus = NULL;
+sound/pci/via82xx_modem.c:	chip->ac97 = NULL;
+sound/pci/via82xx_modem.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/via82xx_modem.c:	chip->ac97_bus->private_free = snd_via82xx_mixer_free_ac97_bus;
+sound/pci/via82xx_modem.c:	chip->ac97_bus->clock = chip->ac97_clock;
+sound/pci/via82xx_modem.c:	ac97.pci = chip->pci;
+sound/pci/via82xx_modem.c:	ac97.num = chip->ac97_secondary;
+sound/pci/via82xx_modem.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/via82xx_modem.c:	snd_iprintf(buffer, "%s\n\n", chip->card->longname);
+sound/pci/via82xx_modem.c:		snd_iprintf(buffer, "%02x: %08x\n", i, inl(chip->port + i));
+sound/pci/via82xx_modem.c:	snd_card_ro_proc_new(chip->card, "via82xx", chip,
+sound/pci/via82xx_modem.c:	pci_read_config_byte(chip->pci, VIA_MC97_CTRL, &pval);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, 0x44, pval|VIA_MC97_CTRL_INIT);
+sound/pci/via82xx_modem.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, 0x00);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx_modem.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_CTRL, &pval);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx_modem.c:		pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx_modem.c:		dev_err(chip->card->dev,
+sound/pci/via82xx_modem.c:			chip->ac97_secondary = 1;
+sound/pci/via82xx_modem.c:	// pci_write_config_byte(chip->pci, VIA_FM_NMI_CTRL, 0);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx_modem.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/via82xx_modem.c:	snd_ac97_resume(chip->ac97);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:	if (chip->irq < 0)
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:	if (chip->irq >= 0)
+sound/pci/via82xx_modem.c:		free_irq(chip->irq, chip);
+sound/pci/via82xx_modem.c:	pci_release_regions(chip->pci);
+sound/pci/via82xx_modem.c:	pci_disable_device(chip->pci);
+sound/pci/via82xx_modem.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	chip->card = card;
+sound/pci/via82xx_modem.c:	chip->pci = pci;
+sound/pci/via82xx_modem.c:	chip->irq = -1;
+sound/pci/via82xx_modem.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/via82xx_modem.c:	chip->irq = pci->irq;
+sound/pci/via82xx_modem.c:		chip->ac97_clock = ac97_clock;
+sound/pci/via82xx_modem.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:		card->shortname, chip->port, chip->irq);
+sound/pci/vx222/vx222.c:	if (chip->irq >= 0)
+sound/pci/vx222/vx222.c:		free_irq(chip->irq, (void*)chip);
+sound/pci/vx222/vx222.c:	chip->irq = pci->irq;
+sound/pci/vx222/vx222_ops.c:	return chip->port[vx2_reg_index[reg]] + vx2_reg_offset[reg];
+sound/pci/vx222/vx222_ops.c:	dev_dbg(chip->card->dev, "outb: %x -> %x\n", val, vx2_reg_addr(chip, offset));
+sound/pci/vx222/vx222_ops.c:	dev_dbg(chip->card->dev, "outl: %x -> %x\n", val, vx2_reg_addr(chip, offset));
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP & ~VX_CDSP_DSP_RESET_MASK);
+sound/pci/vx222/vx222_ops.c:	chip->regCDSP |= VX_CDSP_DSP_RESET_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP);
+sound/pci/vx222/vx222_ops.c:	dev_dbg(_chip->card->dev, "testing xilinx...\n");
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP | VX_CDSP_TEST0_MASK);
+sound/pci/vx222/vx222_ops.c:		dev_dbg(_chip->card->dev, "bad!\n");
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP & ~VX_CDSP_TEST0_MASK);
+sound/pci/vx222/vx222_ops.c:		dev_dbg(_chip->card->dev, "bad! #2\n");
+sound/pci/vx222/vx222_ops.c:	if (_chip->type == VX_TYPE_BOARD) {
+sound/pci/vx222/vx222_ops.c:		vx_outl(chip, CDSP, chip->regCDSP | VX_CDSP_TEST1_MASK);
+sound/pci/vx222/vx222_ops.c:			dev_dbg(_chip->card->dev, "bad! #3\n");
+sound/pci/vx222/vx222_ops.c:		vx_outl(chip, CDSP, chip->regCDSP & ~VX_CDSP_TEST1_MASK);
+sound/pci/vx222/vx222_ops.c:			dev_dbg(_chip->card->dev, "bad! #4\n");
+sound/pci/vx222/vx222_ops.c:	dev_dbg(_chip->card->dev, "ok, xilinx fine.\n");
+sound/pci/vx222/vx222_ops.c:	if (chip->type == VX_TYPE_BOARD)
+sound/pci/vx222/vx222_ops.c:	if (chip->type != VX_TYPE_BOARD) {
+sound/pci/vx222/vx222_ops.c:		dev_err(chip->card->dev,
+sound/pci/vx222/vx222_ops.c:	if (! (chip->chip_status & VX_STAT_XILINX_LOADED))
+sound/pci/vx222/vx222_ops.c:		chip->regCDSP |= VX_CDSP_VALID_IRQ_MASK;
+sound/pci/vx222/vx222_ops.c:		chip->regCDSP &= ~VX_CDSP_VALID_IRQ_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP);
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP &~ VX_CDSP_CODEC_RESET_MASK);
+sound/pci/vx222/vx222_ops.c:	chip->regCDSP |= VX_CDSP_CODEC_RESET_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP);
+sound/pci/vx222/vx222_ops.c:	if (_chip->type == VX_TYPE_BOARD) {
+sound/pci/vx222/vx222_ops.c:	if (_chip->type == VX_TYPE_MIC) {
+sound/pci/vx222/vx222_ops.c:		chip->regSELMIC =  MICRO_SELECT_INPUT_NORM |
+sound/pci/vx222/vx222_ops.c:		chip->regSELMIC &= ~MICRO_SELECT_PHANTOM_ALIM;
+sound/pci/vx222/vx222_ops.c:		vx_outl(_chip, SELMIC, chip->regSELMIC);
+sound/pci/vx222/vx222_ops.c:		chip->regCFG |= VX_CFG_DATAIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:		chip->regCFG &= ~VX_CFG_DATAIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CFG, chip->regCFG);
+sound/pci/vx222/vx222_ops.c:		chip->regCFG &= ~VX_CFG_CLOCKIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:		chip->regCFG |= VX_CFG_CLOCKIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CFG, chip->regCFG);
+sound/pci/vx222/vx222_ops.c:	chip->regCDSP = VX_CDSP_CODEC_RESET_MASK | VX_CDSP_DSP_RESET_MASK ;
+sound/pci/vx222/vx222_ops.c:	chip->regCFG = 0;
+sound/pci/vx222/vx222_ops.c:	miclevel = chip->mic_level;
+sound/pci/vx222/vx222_ops.c:	chip->regSELMIC &= ~MICRO_SELECT_PREAMPLI_MASK;
+sound/pci/vx222/vx222_ops.c:	chip->regSELMIC |= (preamp << MICRO_SELECT_PREAMPLI_OFFSET) & MICRO_SELECT_PREAMPLI_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, SELMIC, chip->regSELMIC);
+sound/pci/vx222/vx222_ops.c:		(unsigned int)chip->input_level[1] << 8 |
+sound/pci/vx222/vx222_ops.c:		(unsigned int)chip->input_level[0];
+sound/pci/vx222/vx222_ops.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	ucontrol->value.integer.value[0] = chip->input_level[0];
+sound/pci/vx222/vx222_ops.c:	ucontrol->value.integer.value[1] = chip->input_level[1];
+sound/pci/vx222/vx222_ops.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	if (chip->input_level[0] != ucontrol->value.integer.value[0] ||
+sound/pci/vx222/vx222_ops.c:	    chip->input_level[1] != ucontrol->value.integer.value[1]) {
+sound/pci/vx222/vx222_ops.c:		chip->input_level[0] = ucontrol->value.integer.value[0];
+sound/pci/vx222/vx222_ops.c:		chip->input_level[1] = ucontrol->value.integer.value[1];
+sound/pci/vx222/vx222_ops.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	ucontrol->value.integer.value[0] = chip->mic_level;
+sound/pci/vx222/vx222_ops.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	if (chip->mic_level != ucontrol->value.integer.value[0]) {
+sound/pci/vx222/vx222_ops.c:		chip->mic_level = ucontrol->value.integer.value[0];
+sound/pci/vx222/vx222_ops.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	if (_chip->type != VX_TYPE_MIC)
+sound/pci/vx222/vx222_ops.c:	chip->input_level[0] = chip->input_level[1] = 0;
+sound/pci/vx222/vx222_ops.c:	chip->mic_level = 0;
+sound/pci/vx222/vx222_ops.c:	if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_input_level, chip))) < 0)
+sound/pci/vx222/vx222_ops.c:	if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_mic_level, chip))) < 0)
+sound/pci/ymfpci/ymfpci.c:	if (chip->pci->device >= 0x0010) { /* YMF 744/754 */
+sound/pci/ymfpci/ymfpci.c:			if (!(io_port = pci_resource_start(chip->pci, 2)))
+sound/pci/ymfpci/ymfpci.c:				dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:			dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:		dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/ymfpci/ymfpci.c:		dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/ymfpci/ymfpci.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/ymfpci/ymfpci.c:	if (chip->pci->device >= 0x0010) /* YMF 744/754 */
+sound/pci/ymfpci/ymfpci.c:		pci_write_config_word(chip->pci, PCIR_DSXG_JOYBASE, io_port);
+sound/pci/ymfpci/ymfpci.c:	pci_write_config_word(chip->pci, PCIR_DSXG_LEGACY, legacy_ctrl | YMFPCI_LEGACY_JPEN);
+sound/pci/ymfpci/ymfpci.c:	pci_write_config_word(chip->pci, PCIR_DSXG_ELEGACY, legacy_ctrl2);
+sound/pci/ymfpci/ymfpci.c:	gameport_register_port(chip->gameport);
+sound/pci/ymfpci/ymfpci.c:	if (chip->gameport) {
+sound/pci/ymfpci/ymfpci.c:		struct resource *r = gameport_get_port_data(chip->gameport);
+sound/pci/ymfpci/ymfpci.c:		gameport_unregister_port(chip->gameport);
+sound/pci/ymfpci/ymfpci.c:		chip->gameport = NULL;
+sound/pci/ymfpci/ymfpci.c:	chip->fm_res = fm_res;
+sound/pci/ymfpci/ymfpci.c:	chip->mpu_res = mpu_res;
+sound/pci/ymfpci/ymfpci.c:		chip->reg_area_phys,
+sound/pci/ymfpci/ymfpci.c:		chip->irq);
+sound/pci/ymfpci/ymfpci.c:	if (chip->ac97->ext_id & AC97_EI_SDAC) {
+sound/pci/ymfpci/ymfpci.c:	if (chip->mpu_res) {
+sound/pci/ymfpci/ymfpci.c:					       -1, &chip->rawmidi)) < 0) {
+sound/pci/ymfpci/ymfpci.c:	if (chip->fm_res) {
+sound/pci/ymfpci/ymfpci.h:#define YMFREG(chip, reg)		(chip->port + YDSXGR_##reg)
+sound/pci/ymfpci/ymfpci_main.c:	return readb(chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	writeb(val, chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	return readw(chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	writew(val, chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	return readl(chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	writel(val, chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->device_id == PCI_DEVICE_ID_YAMAHA_744 && chip->rev < 2) {
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->start_count++ > 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT) & 1;
+sound/pci/ymfpci/ymfpci_main.c:      	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (--chip->start_count > 0)
+sound/pci/ymfpci/ymfpci_main.c:	if (atomic_read(&chip->interrupt_sleep_count)) {
+sound/pci/ymfpci/ymfpci_main.c:		atomic_set(&chip->interrupt_sleep_count, 0);
+sound/pci/ymfpci/ymfpci_main.c:		wake_up(&chip->interrupt_sleep);
+sound/pci/ymfpci/ymfpci_main.c:      	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:		voice = &chip->voices[idx];
+sound/pci/ymfpci/ymfpci_main.c:		voice2 = pair ? &chip->voices[idx+1] : NULL;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->voice_lock, flags);	
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (pvoice->number == chip->src441_used) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->src441_used = -1;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		pos = le32_to_cpu(voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:			dev_dbg(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:			       chip->active_bank,
+sound/pci/ymfpci/ymfpci_main.c:			       voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:			spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:			spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:			unsigned int next_bank = 1 - chip->active_bank;
+sound/pci/ymfpci/ymfpci_main.c:			volume = cpu_to_le32(chip->pcm_mixer[subs].left << 15);
+sound/pci/ymfpci/ymfpci_main.c:			volume = cpu_to_le32(chip->pcm_mixer[subs].right << 15);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		pos = le32_to_cpu(chip->bank_capture[ypcm->capture_bank_number][chip->active_bank]->start) >> ypcm->shift;
+sound/pci/ymfpci/ymfpci_main.c:			dev_dbg(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:			       chip->active_bank,
+sound/pci/ymfpci/ymfpci_main.c:			       voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:			spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:			spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		chip->ctrl_playback[ypcm->voices[0]->number + 1] = cpu_to_le32(ypcm->voices[0]->bank_addr);
+sound/pci/ymfpci/ymfpci_main.c:			chip->ctrl_playback[ypcm->voices[1]->number + 1] = cpu_to_le32(ypcm->voices[1]->bank_addr);
+sound/pci/ymfpci/ymfpci_main.c:		if (substream->pcm == chip->pcm && !ypcm->use_441_slot) {
+sound/pci/ymfpci/ymfpci_main.c:			kctl = chip->pcm_mixer[substream->number].ctl;
+sound/pci/ymfpci/ymfpci_main.c:		chip->ctrl_playback[ypcm->voices[0]->number + 1] = 0;
+sound/pci/ymfpci/ymfpci_main.c:			chip->ctrl_playback[ypcm->voices[1]->number + 1] = 0;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO, &kctl->id);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		ypcm->voices[1] = &ypcm->chip->voices[ypcm->voices[0]->number + 1];
+sound/pci/ymfpci/ymfpci_main.c:		vol_left = cpu_to_le32(ypcm->chip->pcm_mixer
+sound/pci/ymfpci/ymfpci_main.c:		vol_right = cpu_to_le32(ypcm->chip->pcm_mixer
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&ypcm->chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	else if (ypcm->chip->device_id == PCI_DEVICE_ID_YAMAHA_754 &&
+sound/pci/ymfpci/ymfpci_main.c:		 voiceidx == 0 && (ypcm->chip->src441_used == -1 ||
+sound/pci/ymfpci/ymfpci_main.c:				   ypcm->chip->src441_used == voice->number)) {
+sound/pci/ymfpci/ymfpci_main.c:		ypcm->chip->src441_used = voice->number;
+sound/pci/ymfpci/ymfpci_main.c:	if (ypcm->chip->src441_used == voice->number &&
+sound/pci/ymfpci/ymfpci_main.c:		ypcm->chip->src441_used = -1;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&ypcm->chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:				4096, &chip->ac3_tmp_base) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][0]->base =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][1]->base = cpu_to_le32(chip->ac3_tmp_base.addr);
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][0]->loop_end =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][1]->loop_end = cpu_to_le32(1024);
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][0]->base =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][1]->base = cpu_to_le32(chip->ac3_tmp_base.addr + 2048);
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][0]->loop_end =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][1]->loop_end = cpu_to_le32(1024);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->ac3_tmp_base.area) {
+sound/pci/ymfpci/ymfpci_main.c:		snd_dma_free_pages(&chip->ac3_tmp_base);
+sound/pci/ymfpci/ymfpci_main.c:		chip->ac3_tmp_base.area = NULL;
+sound/pci/ymfpci/ymfpci_main.c:					  substream->pcm == chip->pcm);
+sound/pci/ymfpci/ymfpci_main.c:	if (substream->pcm == chip->pcm && !ypcm->use_441_slot) {
+sound/pci/ymfpci/ymfpci_main.c:		kctl = chip->pcm_mixer[substream->number].ctl;
+sound/pci/ymfpci/ymfpci_main.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO, &kctl->id);
+sound/pci/ymfpci/ymfpci_main.c:		bank = chip->bank_capture[ypcm->capture_bank_number][nbank];
+sound/pci/ymfpci/ymfpci_main.c:	return le32_to_cpu(voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:	return le32_to_cpu(chip->bank_capture[ypcm->capture_bank_number][chip->active_bank]->start) >> ypcm->shift;
+sound/pci/ymfpci/ymfpci_main.c:		add_wait_queue(&chip->interrupt_sleep, &wait);
+sound/pci/ymfpci/ymfpci_main.c:		atomic_inc(&chip->interrupt_sleep_count);
+sound/pci/ymfpci/ymfpci_main.c:		remove_wait_queue(&chip->interrupt_sleep, &wait);
+sound/pci/ymfpci/ymfpci_main.c:		chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT) & 1;
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock(&chip->voice_lock);
+sound/pci/ymfpci/ymfpci_main.c:			voice = &chip->voices[nvoice];
+sound/pci/ymfpci/ymfpci_main.c:			if (chip->capture_substream[nvoice])
+sound/pci/ymfpci/ymfpci_main.c:				snd_ymfpci_pcm_capture_interrupt(chip->capture_substream[nvoice]);
+sound/pci/ymfpci/ymfpci_main.c:			if (chip->effect_substream[nvoice])
+sound/pci/ymfpci/ymfpci_main.c:				snd_ymfpci_pcm_effect_interrupt(chip->effect_substream[nvoice]);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock(&chip->voice_lock);
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		if (atomic_read(&chip->interrupt_sleep_count)) {
+sound/pci/ymfpci/ymfpci_main.c:			atomic_set(&chip->interrupt_sleep_count, 0);
+sound/pci/ymfpci/ymfpci_main.c:			wake_up(&chip->interrupt_sleep);
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->timer)
+sound/pci/ymfpci/ymfpci_main.c:			snd_timer_interrupt(chip->timer, chip->timer_ticks);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->rawmidi)
+sound/pci/ymfpci/ymfpci_main.c:		snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data);
+sound/pci/ymfpci/ymfpci_main.c:	if (! chip->rear_opened) {
+sound/pci/ymfpci/ymfpci_main.c:		if (! chip->spdif_opened) /* set AC3 */
+sound/pci/ymfpci/ymfpci_main.c:	if (! chip->rear_opened) {
+sound/pci/ymfpci/ymfpci_main.c:		if (! chip->spdif_opened)
+sound/pci/ymfpci/ymfpci_main.c:	ypcm->output_rear = chip->mode_dup4ch ? 1 : 0;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		chip->rear_opened++;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_bits = chip->spdif_bits;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_opened++;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/ymfpci/ymfpci_main.c:		       SNDRV_CTL_EVENT_MASK_INFO, &chip->spdif_pcm_ctl->id);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->rear_opened++;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->capture_substream[capture_bank_number] = substream;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	if (ypcm->output_rear && chip->rear_opened > 0) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->rear_opened--;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_opened = 0;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/ymfpci/ymfpci_main.c:		       SNDRV_CTL_EVENT_MASK_INFO, &chip->spdif_pcm_ctl->id);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->rear_opened > 0) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->rear_opened--;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		chip->capture_substream[ypcm->capture_bank_number] = NULL;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI", device, 32, 1, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI - PCM2", device, 0, 1, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_754 ? "Direct Recording" : "AC'97");
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm2 = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI - IEC958", device, 1, 0, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm_spdif = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI - Rear", device, 1, 0, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm_4ch = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[0] = (chip->spdif_bits >> 0) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[1] = (chip->spdif_bits >> 8) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	change = chip->spdif_bits != val;
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_bits = val;
+sound/pci/ymfpci/ymfpci_main.c:	if ((snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & 1) && chip->pcm_spdif == NULL)
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[0] = (chip->spdif_pcm_bits >> 0) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[1] = (chip->spdif_pcm_bits >> 8) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	change = chip->spdif_pcm_bits != val;
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_bits = val;
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.integer.value[0] = chip->mode_dup4ch;
+sound/pci/ymfpci/ymfpci_main.c:	change = (ucontrol->value.integer.value[0] != chip->mode_dup4ch);
+sound/pci/ymfpci/ymfpci_main.c:		chip->mode_dup4ch = !!ucontrol->value.integer.value[0];
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.integer.value[0] = chip->pcm_mixer[subs].left;
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.integer.value[1] = chip->pcm_mixer[subs].right;
+sound/pci/ymfpci/ymfpci_main.c:	if (ucontrol->value.integer.value[0] != chip->pcm_mixer[subs].left ||
+sound/pci/ymfpci/ymfpci_main.c:	    ucontrol->value.integer.value[1] != chip->pcm_mixer[subs].right) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[subs].left = ucontrol->value.integer.value[0];
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[subs].right = ucontrol->value.integer.value[1];
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->pcm_mixer[subs].left > 0x8000)
+sound/pci/ymfpci/ymfpci_main.c:			chip->pcm_mixer[subs].left = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->pcm_mixer[subs].right > 0x8000)
+sound/pci/ymfpci/ymfpci_main.c:			chip->pcm_mixer[subs].right = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock_irqsave(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock_irqrestore(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97_bus = NULL;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97 = NULL;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97_bus->private_free = snd_ymfpci_mixer_free_ac97_bus;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97_bus->no_vra = 1; /* YMFPCI doesn't need VRA */
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	snd_ac97_update_bits(chip->ac97, AC97_EXTENDED_STATUS,
+sound/pci/ymfpci/ymfpci_main.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_controls[idx], chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->ac97->ext_id & AC97_EI_SDAC) {
+sound/pci/ymfpci/ymfpci_main.c:		err = snd_ctl_add(chip->card, kctl);
+sound/pci/ymfpci/ymfpci_main.c:	if (snd_BUG_ON(!chip->pcm_spdif))
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_spdif_default, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	kctl->id.device = chip->pcm_spdif->device;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_spdif_mask, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	kctl->id.device = chip->pcm_spdif->device;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_spdif_stream, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	kctl->id.device = chip->pcm_spdif->device;
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_ctl = kctl;
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->device_id == PCI_DEVICE_ID_YAMAHA_754 &&
+sound/pci/ymfpci/ymfpci_main.c:	    (err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_drec_source, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_rear_shared, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	substream = chip->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream;
+sound/pci/ymfpci/ymfpci_main.c:		kctl->id.device = chip->pcm->device;
+sound/pci/ymfpci/ymfpci_main.c:		if ((err = snd_ctl_add(chip->card, kctl)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[idx].left = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[idx].right = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[idx].ctl = kctl;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:		chip->timer_ticks = timer->sticks;
+sound/pci/ymfpci/ymfpci_main.c:		chip->timer_ticks = 2;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	tid.card = chip->card->number;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_timer_new(chip->card, "YMFPCI", &tid, &timer)) >= 0) {
+sound/pci/ymfpci/ymfpci_main.c:	chip->timer = timer;
+sound/pci/ymfpci/ymfpci_main.c:	err = request_firmware(&chip->dsp_microcode, "yamaha/ds1_dsp.fw",
+sound/pci/ymfpci/ymfpci_main.c:			       &chip->pci->dev);
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->dsp_microcode->size != YDSXG_DSPLENGTH) {
+sound/pci/ymfpci/ymfpci_main.c:			dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:	is_1e = chip->device_id == PCI_DEVICE_ID_YAMAHA_724F ||
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_740C ||
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_744 ||
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_754;
+sound/pci/ymfpci/ymfpci_main.c:	err = request_firmware(&chip->controller_microcode, name,
+sound/pci/ymfpci/ymfpci_main.c:			       &chip->pci->dev);
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->controller_microcode->size != YDSXG_CTRLLENGTH) {
+sound/pci/ymfpci/ymfpci_main.c:			dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:	inst = (const __le32 *)chip->dsp_microcode->data;
+sound/pci/ymfpci/ymfpci_main.c:	inst = (const __le32 *)chip->controller_microcode->data;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_size_playback = snd_ymfpci_readl(chip, YDSXGR_PLAYCTRLSIZE) << 2;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_size_capture = snd_ymfpci_readl(chip, YDSXGR_RECCTRLSIZE) << 2;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_size_effect = snd_ymfpci_readl(chip, YDSXGR_EFFCTRLSIZE) << 2;
+sound/pci/ymfpci/ymfpci_main.c:	chip->work_size = YDSXG_DEFAULT_WORK_SIZE;
+sound/pci/ymfpci/ymfpci_main.c:	       ALIGN(chip->bank_size_playback * 2 * YDSXG_PLAYBACK_VOICES, 0x100) +
+sound/pci/ymfpci/ymfpci_main.c:	       ALIGN(chip->bank_size_capture * 2 * YDSXG_CAPTURE_VOICES, 0x100) +
+sound/pci/ymfpci/ymfpci_main.c:	       ALIGN(chip->bank_size_effect * 2 * YDSXG_EFFECT_VOICES, 0x100) +
+sound/pci/ymfpci/ymfpci_main.c:	       chip->work_size;
+sound/pci/ymfpci/ymfpci_main.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:				size, &chip->work_ptr) < 0) 
+sound/pci/ymfpci/ymfpci_main.c:	ptr = chip->work_ptr.area;
+sound/pci/ymfpci/ymfpci_main.c:	ptr_addr = chip->work_ptr.addr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_playback = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_playback_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ctrl_playback = (__le32 *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ctrl_playback[0] = cpu_to_le32(YDSXG_PLAYBACK_VOICES);
+sound/pci/ymfpci/ymfpci_main.c:		chip->voices[voice].number = voice;
+sound/pci/ymfpci/ymfpci_main.c:		chip->voices[voice].bank = (struct snd_ymfpci_playback_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:		chip->voices[voice].bank_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:			chip->bank_playback[voice][bank] = (struct snd_ymfpci_playback_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:			ptr += chip->bank_size_playback;
+sound/pci/ymfpci/ymfpci_main.c:			ptr_addr += chip->bank_size_playback;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_capture = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_capture_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:			chip->bank_capture[voice][bank] = (struct snd_ymfpci_capture_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:			ptr += chip->bank_size_capture;
+sound/pci/ymfpci/ymfpci_main.c:			ptr_addr += chip->bank_size_capture;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_effect = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_effect_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:			chip->bank_effect[voice][bank] = (struct snd_ymfpci_effect_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:			ptr += chip->bank_size_effect;
+sound/pci/ymfpci/ymfpci_main.c:			ptr_addr += chip->bank_size_effect;
+sound/pci/ymfpci/ymfpci_main.c:	chip->work_base = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->work_base_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:	snd_BUG_ON(ptr + chip->work_size !=
+sound/pci/ymfpci/ymfpci_main.c:		   chip->work_ptr.area + chip->work_ptr.bytes);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_PLAYCTRLBASE, chip->bank_base_playback_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_RECCTRLBASE, chip->bank_base_capture_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_EFFCTRLBASE, chip->bank_base_effect_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_WORKBASE, chip->work_base_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_WORKSIZE, chip->work_size >> 2);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_bits = chip->spdif_pcm_bits = SNDRV_PCM_DEFAULT_CON_SPDIF & 0xffff;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->res_reg_area) {	/* don't touch busy hardware */
+sound/pci/ymfpci/ymfpci_main.c:	pci_set_power_state(chip->pci, PCI_D3hot);
+sound/pci/ymfpci/ymfpci_main.c:	kfree(chip->saved_regs);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->irq >= 0)
+sound/pci/ymfpci/ymfpci_main.c:		free_irq(chip->irq, chip);
+sound/pci/ymfpci/ymfpci_main.c:	release_and_free_resource(chip->mpu_res);
+sound/pci/ymfpci/ymfpci_main.c:	release_and_free_resource(chip->fm_res);
+sound/pci/ymfpci/ymfpci_main.c:	iounmap(chip->reg_area_virt);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->work_ptr.area)
+sound/pci/ymfpci/ymfpci_main.c:		snd_dma_free_pages(&chip->work_ptr);
+sound/pci/ymfpci/ymfpci_main.c:	release_and_free_resource(chip->res_reg_area);
+sound/pci/ymfpci/ymfpci_main.c:	pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
+sound/pci/ymfpci/ymfpci_main.c:	pci_disable_device(chip->pci);
+sound/pci/ymfpci/ymfpci_main.c:	release_firmware(chip->dsp_microcode);
+sound/pci/ymfpci/ymfpci_main.c:	release_firmware(chip->controller_microcode);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/ymfpci/ymfpci_main.c:		chip->saved_regs[i] = snd_ymfpci_readl(chip, saved_regs_index[i]);
+sound/pci/ymfpci/ymfpci_main.c:	chip->saved_ydsxgr_mode = snd_ymfpci_readl(chip, YDSXGR_MODE);
+sound/pci/ymfpci/ymfpci_main.c:	pci_read_config_word(chip->pci, PCIR_DSXG_LEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			     &chip->saved_dsxg_legacy);
+sound/pci/ymfpci/ymfpci_main.c:	pci_read_config_word(chip->pci, PCIR_DSXG_ELEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			     &chip->saved_dsxg_elegacy);
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writel(chip, saved_regs_index[i], chip->saved_regs[i]);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ac97_resume(chip->ac97);
+sound/pci/ymfpci/ymfpci_main.c:	pci_write_config_word(chip->pci, PCIR_DSXG_LEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			      chip->saved_dsxg_legacy);
+sound/pci/ymfpci/ymfpci_main.c:	pci_write_config_word(chip->pci, PCIR_DSXG_ELEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			      chip->saved_dsxg_elegacy);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->start_count > 0) {
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writel(chip, YDSXGR_MODE, chip->saved_ydsxgr_mode);
+sound/pci/ymfpci/ymfpci_main.c:		chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->old_legacy_ctrl = old_legacy_ctrl;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_init(&chip->voice_lock);
+sound/pci/ymfpci/ymfpci_main.c:	init_waitqueue_head(&chip->interrupt_sleep);
+sound/pci/ymfpci/ymfpci_main.c:	atomic_set(&chip->interrupt_sleep_count, 0);
+sound/pci/ymfpci/ymfpci_main.c:	chip->card = card;
+sound/pci/ymfpci/ymfpci_main.c:	chip->pci = pci;
+sound/pci/ymfpci/ymfpci_main.c:	chip->irq = -1;
+sound/pci/ymfpci/ymfpci_main.c:	chip->device_id = pci->device;
+sound/pci/ymfpci/ymfpci_main.c:	chip->rev = pci->revision;
+sound/pci/ymfpci/ymfpci_main.c:	chip->reg_area_phys = pci_resource_start(pci, 0);
+sound/pci/ymfpci/ymfpci_main.c:	chip->reg_area_virt = ioremap_nocache(chip->reg_area_phys, 0x8000);
+sound/pci/ymfpci/ymfpci_main.c:	chip->src441_used = -1;
+sound/pci/ymfpci/ymfpci_main.c:	if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, 0x8000, "YMFPCI")) == NULL) {
+sound/pci/ymfpci/ymfpci_main.c:		dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:			chip->reg_area_phys, chip->reg_area_phys + 0x8000 - 1);
+sound/pci/ymfpci/ymfpci_main.c:		dev_err(chip->card->dev, "unable to grab IRQ %d\n", pci->irq);
+sound/pci/ymfpci/ymfpci_main.c:	chip->irq = pci->irq;
+sound/pci/ymfpci/ymfpci_main.c:		dev_err(chip->card->dev, "firmware request failed: %d\n", err);
+sound/pci/ymfpci/ymfpci_main.c:	chip->saved_regs = kmalloc_array(YDSXGR_NUM_SAVED_REGS, sizeof(u32),
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->saved_regs == NULL) {
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_CONFIGURED)
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	chip->chip_status |= PDAUDIOCF_STAT_IS_STALE; /* to be sure */
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	snd_card_disconnect(chip->card);
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	snd_card_free_when_closed(chip->card);
+sound/pcmcia/pdaudiocf/pdaudiocf.h:	outw(chip->regmap[reg>>1] = val, chip->port + reg);
+sound/pcmcia/pdaudiocf/pdaudiocf.h:	return inw(chip->port + reg);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_lock_irqsave(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:			spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:			spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_lock_irqsave(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	while (inw(chip->port + PDAUDIOCF_REG_SCR) & PDAUDIOCF_AK_SBP) {
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:			spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	outw((u16)reg << 8 | val | (1<<13), chip->port + PDAUDIOCF_REG_AK_IFR);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	printk(KERN_DEBUG "PDAUDIOCF DUMP (0x%lx):\n", chip->port);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_WDP));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_RDP));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_TCR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_SCR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_ISR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_IER));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_AK_IFR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:		pdacf_reg_write(chip, PDAUDIOCF_REG_SCR, chip->suspend_reg_scr);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_ak4117_reinit(chip->ak4117);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	pdacf_reg_write(chip, PDAUDIOCF_REG_TCR, chip->regmap[PDAUDIOCF_REG_TCR>>1]);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	pdacf_reg_write(chip, PDAUDIOCF_REG_IER, chip->regmap[PDAUDIOCF_REG_IER>>1]);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_card_ro_proc_new(chip->card, "pdaudiocf", chip, pdacf_proc_read);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->card = card;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	mutex_init(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_lock_init(&chip->ak4117_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	val = chip->regmap[PDAUDIOCF_REG_SCR>>1];
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	err = snd_ak4117_create(chip->card, pdacf_ak4117_read, pdacf_ak4117_write, pgm, chip, &chip->ak4117);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->ak4117->change_callback_private = chip;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->ak4117->change_callback = snd_pdacf_ak4117_change;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_pdacf_ak4117_change(chip->ak4117, AK4117_UNLCK, 0);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->suspend_reg_scr = val;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	/* disable interrupts, but use direct write to preserve old register value in chip->regmap */
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	val = inw(chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	outw(val, chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	/* disable interrupts, but use direct write to preserve old register value in chip->regmap */
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	val = inw(chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	outw(val, chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->chip_status |= PDAUDIOCF_STAT_IS_SUSPENDED;	/* ignore interrupts from now */
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	return (chip->ak4117->rcs0 & AK4117_UNLCK) == 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       (snd_ak4117_external_rate(chip->ak4117) <= 0 || !check_signal(chip)))
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->chip_status &= ~PDAUDIOCF_STAT_IS_SUSPENDED;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	stat = inw(chip->port + PDAUDIOCF_REG_ISR);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_substream)
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		snd_ak4117_check_rate_and_errors(chip->ak4117, 0);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	unsigned int xor = chip->pcm_xor;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_sample == 3) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_little) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono24le((char *)chip->pcm_area + (off * 3), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo24le((char *)chip->pcm_area + (off * 6), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono24be((char *)chip->pcm_area + (off * 3), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo24be((char *)chip->pcm_area + (off * 6), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_swab == 0) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono16((u16 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono32((u32 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo16((u16 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo32((u32 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono16sw((u16 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono32sw((u32 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo16sw((u16 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo32sw((u32 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|PDAUDIOCF_STAT_IS_CONFIGURED)) != PDAUDIOCF_STAT_IS_CONFIGURED)
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_substream == NULL || chip->pcm_substream->runtime == NULL || !snd_pcm_running(chip->pcm_substream))
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	rdp = inw(chip->port + PDAUDIOCF_REG_RDP);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	wdp = inw(chip->port + PDAUDIOCF_REG_WDP);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	size /= chip->pcm_frame;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_hwptr += size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_hwptr %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_tdone += size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	off = chip->pcm_hwptr + chip->pcm_tdone;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	off %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_tdone += size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		cont = chip->pcm_size - off;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		off %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	while (chip->pcm_tdone >= chip->pcm_period) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		chip->pcm_hwptr += chip->pcm_period;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		chip->pcm_hwptr %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		chip->pcm_tdone -= chip->pcm_period;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		snd_pcm_period_elapsed(chip->pcm_substream);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	while (inw(chip->port + PDAUDIOCF_REG_RDP) != inw(chip->port + PDAUDIOCF_REG_WDP)) {
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		inw(chip->port + PDAUDIOCF_REG_MD);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_STALE)
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_hwptr = 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_tdone = 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		rate = snd_ak4117_check_rate_and_errors(chip->ak4117, AK4117_CHECK_NO_STAT|AK4117_CHECK_NO_RATE);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_running += inc;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->pcm_running) {
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		if ((chip->ak4117->rcs0 & AK4117_UNLCK) || runtime->rate != rate) {
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:			chip->pcm_running -= inc;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	snd_ak4117_check_rate_and_errors(chip->ak4117, AK4117_CHECK_NO_RATE);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_STALE)
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_channels = runtime->channels;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_little = snd_pcm_format_little_endian(runtime->format) > 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_swab = snd_pcm_format_big_endian(runtime->format) > 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_swab = chip->pcm_little;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_xor = 0x80008000;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_sample = 4;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_frame = 2;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_sample = 2;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_sample = 3;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_frame = 3;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_xor &= 0xffff0000;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		snd_ak4117_reg_write(chip->ak4117, AK4117_REG_IO, AK4117_DIF2|AK4117_DIF1|AK4117_DIF0, aval);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_size = runtime->buffer_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_period = runtime->period_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_area = runtime->dma_area;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_STALE)
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_substream = subs;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_substream = NULL;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	return chip->pcm_hwptr;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	err = snd_pcm_new(chip->card, "PDAudioCF", 0, 0, 1, &pcm);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm = pcm;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	err = snd_ak4117_build(chip->ak4117, pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream);
+sound/pcmcia/vx/vxp_mixer.c:	ucontrol->value.integer.value[0] = chip->mic_level;
+sound/pcmcia/vx/vxp_mixer.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	if (chip->mic_level != ucontrol->value.integer.value[0]) {
+sound/pcmcia/vx/vxp_mixer.c:		chip->mic_level = ucontrol->value.integer.value[0];
+sound/pcmcia/vx/vxp_mixer.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	ucontrol->value.integer.value[0] = chip->mic_level;
+sound/pcmcia/vx/vxp_mixer.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	if (chip->mic_level != val) {
+sound/pcmcia/vx/vxp_mixer.c:		chip->mic_level = val;
+sound/pcmcia/vx/vxp_mixer.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	chip->mic_level = 0;
+sound/pcmcia/vx/vxp_mixer.c:	switch (_chip->type) {
+sound/pcmcia/vx/vxp_mixer.c:	switch (_chip->type) {
+sound/pcmcia/vx/vxp_mixer.c:		if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_mic_level, chip))) < 0)
+sound/pcmcia/vx/vxp_mixer.c:		if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_mic_boost, chip))) < 0)
+sound/pcmcia/vx/vxp_ops.c:	return chip->port + vxp_reg_offset[reg];
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP | VXP_CDSP_DSP_RESET_MASK);
+sound/pcmcia/vx/vxp_ops.c:	chip->regCDSP &= ~VXP_CDSP_DSP_RESET_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP | VXP_CDSP_CODEC_RESET_MASK);
+sound/pcmcia/vx/vxp_ops.c:	chip->regCDSP &= ~VXP_CDSP_CODEC_RESET_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG &= ~VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG &= ~VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	if (! (_chip->chip_status & VX_STAT_XILINX_LOADED))
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG | VXP_DLG_ACK_MEMIRQ_MASK);
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG & ~VXP_DLG_ACK_MEMIRQ_MASK);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP |= VXP_CDSP_VALID_IRQ_MASK;
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_VALID_IRQ_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= VXP_DLG_DMA16_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= do_write ? VXP_DLG_DMAWRITE_SEL_MASK : VXP_DLG_DMAREAD_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG &= ~(VXP_DLG_DMAWRITE_SEL_MASK|
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	pchip->regDIALOG &= ~VXP_DLG_DMAREAD_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, pchip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	pchip->regDIALOG &= ~VXP_DLG_DMA16_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, pchip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/pcmcia/vx/vxp_ops.c:	mutex_lock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:	if (pchip->regCDSP & P24_CDSP_MICS_SEL_MASK) {
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP &= ~P24_CDSP_MIC20_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP |=  P24_CDSP_MIC38_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP |=  P24_CDSP_MIC20_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP &= ~P24_CDSP_MIC38_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		vx_outb(chip, CDSP, pchip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	mutex_unlock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/pcmcia/vx/vxp_ops.c:	mutex_lock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:	if (pchip->regCDSP & VXP_CDSP_MIC_SEL_MASK) {
+sound/pcmcia/vx/vxp_ops.c:	mutex_unlock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP |= VXP_CDSP_DATAIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_DATAIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		if (_chip->type == VX_TYPE_VXP440)
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP &= ~P24_CDSP_MICS_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP &= ~VXP_CDSP_MIC_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_DATAIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		if (_chip->type == VX_TYPE_VXP440) {
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP &= ~P24_CDSP_MICS_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			if (chip->mic_level)
+sound/pcmcia/vx/vxp_ops.c:				chip->regCDSP |=  P24_CDSP_MIC38_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:				chip->regCDSP |= P24_CDSP_MIC20_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP |= VXP_CDSP_MIC_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:			vx_outb(chip, MICRO, vx_compute_mic_level(chip->mic_level));
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_CLOCKIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP |= VXP_CDSP_CLOCKIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	chip->regCDSP = 0;
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG = 0;
+sound/pcmcia/vx/vxpocket.c:	chip->ibl.size = ibl;
+sound/pcmcia/vx/vxpocket.c:	struct snd_card *card = chip->card;
+sound/pcmcia/vx/vxpocket.c:	chip->irq = irq;
+sound/pcmcia/vx/vxpocket.c:		chip->hw = &vxp440_hw;
+sound/pcmcia/vx/vxpocket.c:		chip->type = vxp440_hw.type;
+sound/pcmcia/vx/vxpocket.c:		strcpy(chip->card->driver, vxp440_hw.name);
+sound/pcmcia/vx/vxpocket.c:	chip->dev = &link->dev;
+sound/pcmcia/vx/vxpocket.c:	chip->chip_status |= VX_STAT_IS_STALE; /* to be sure */
+sound/pcmcia/vx/vxpocket.c:	snd_card_disconnect(chip->card);
+sound/pcmcia/vx/vxpocket.c:	snd_card_free_when_closed(chip->card);
+sound/ppc/awacs.c:	while (!(in_le32(&chip->awacs->codec_stat) & MASK_VALID)) {
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER)
+sound/ppc/awacs.c:	out_le32(&chip->awacs->codec_ctrl, val | (chip->subframe << 22));
+sound/ppc/awacs.c:	while (in_le32(&chip->awacs->codec_ctrl) & MASK_NEWECMD) {
+sound/ppc/awacs.c:	chip->awacs_reg[reg] = val;
+sound/ppc/awacs.c:	if (chip->model != PMAC_SCREAMER)
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	if (chip->manufacturer == 0x1)
+sound/ppc/awacs.c:				   chip->awacs_reg[1] | MASK_RECALIBRATE |
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:	chip->awacs_reg[1] &= ~MASK_SAMPLERATE;
+sound/ppc/awacs.c:	chip->awacs_reg[1] |= chip->rate_index << 3;
+sound/ppc/awacs.c:	snd_pmac_awacs_write_reg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	vol[0] = (chip->awacs_reg[reg] >> lshift) & 0xf;
+sound/ppc/awacs.c:	vol[1] = chip->awacs_reg[reg] & 0xf;
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	oldval = chip->awacs_reg[reg];
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	val = (chip->awacs_reg[reg] >> shift) & 1;
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	val = chip->awacs_reg[reg] & ~mask;
+sound/ppc/awacs.c:	changed = chip->awacs_reg[reg] != val;
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	chip->mixer_data = NULL;
+sound/ppc/awacs.c:	chip->mixer_free = NULL;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	if (chip->awacs_reg[6] & MASK_MIC_BOOST)
+sound/ppc/awacs.c:	if (chip->awacs_reg[0] & MASK_GAINLINE)
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	val0 = chip->awacs_reg[0] & ~MASK_GAINLINE;
+sound/ppc/awacs.c:	val6 = chip->awacs_reg[6] & ~MASK_MIC_BOOST;
+sound/ppc/awacs.c:	if (val0 != chip->awacs_reg[0]) {
+sound/ppc/awacs.c:	if (val6 != chip->awacs_reg[6]) {
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&mixers[i], chip));
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 0, chip->awacs_reg[0]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 2, chip->awacs_reg[2]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 4, chip->awacs_reg[4]);
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 5, chip->awacs_reg[5]);
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 7, chip->awacs_reg[7]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, (chip->awacs_reg[1]
+sound/ppc/awacs.c:			chip->awacs_reg[1] & ~MASK_PAROUT);
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:	if (chip->mixer_data) {
+sound/ppc/awacs.c:		struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	return (in_le32(&chip->awacs->codec_stat) & chip->hp_stat_mask) ? 1 : 0;
+sound/ppc/awacs.c:	if (chip->auto_mute) {
+sound/ppc/awacs.c:		if (chip->mixer_data) {
+sound/ppc/awacs.c:			struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:			int reg = chip->awacs_reg[1]
+sound/ppc/awacs.c:			if (do_notify && reg == chip->awacs_reg[1])
+sound/ppc/awacs.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/awacs.c:				       &chip->master_sw_ctl->id);
+sound/ppc/awacs.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/awacs.c:				       &chip->speaker_sw_ctl->id);
+sound/ppc/awacs.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/awacs.c:				       &chip->hp_detect_ctl->id);
+sound/ppc/awacs.c:	chip->awacs_reg[0] = MASK_MUX_CD | 0xff | MASK_GAINLINE;
+sound/ppc/awacs.c:	chip->awacs_reg[1] = MASK_CMUTE | MASK_AMUTE;
+sound/ppc/awacs.c:	if (chip->has_iic || chip->device_id == 0x5 ||
+sound/ppc/awacs.c:	    /* chip->_device_id == 0x8 || */
+sound/ppc/awacs.c:	    chip->device_id == 0xb)
+sound/ppc/awacs.c:		chip->awacs_reg[1] |= MASK_PAROUT;
+sound/ppc/awacs.c:	chip->awacs_reg[2] = vol;
+sound/ppc/awacs.c:	chip->awacs_reg[4] = vol;
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		chip->awacs_reg[5] = vol;
+sound/ppc/awacs.c:		chip->awacs_reg[6] = MASK_MIC_BOOST;
+sound/ppc/awacs.c:		chip->awacs_reg[7] = 0;
+sound/ppc/awacs.c:	chip->manufacturer = (in_le32(&chip->awacs->codec_stat) >> 8) & 0xf;
+sound/ppc/awacs.c:	chip->revision = (in_le32(&chip->awacs->codec_stat) >> 12) & 0xf;
+sound/ppc/awacs.c:	if (chip->revision == 3 && chip->has_iic && CHECK_CUDA_AMP()) {
+sound/ppc/awacs.c:		chip->mixer_data = amp;
+sound/ppc/awacs.c:		chip->mixer_free = awacs_amp_free;
+sound/ppc/awacs.c:	if (chip->hp_stat_mask == 0) {
+sound/ppc/awacs.c:		switch (chip->model) {
+sound/ppc/awacs.c:			chip->hp_stat_mask = pm7500 || pm5500 ? MASK_HDPCONN
+sound/ppc/awacs.c:			switch (chip->device_id) {
+sound/ppc/awacs.c:				chip->hp_stat_mask = imac
+sound/ppc/awacs.c:				chip->hp_stat_mask = MASK_LOCONN;
+sound/ppc/awacs.c:				chip->hp_stat_mask = MASK_HDPCONN;
+sound/ppc/awacs.c:	strcpy(chip->card->mixername, "PowerMac AWACS");
+sound/ppc/awacs.c:	else if (chip->model == PMAC_SCREAMER || pm5500)
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card,
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card,
+sound/ppc/awacs.c:	chip->master_sw_ctl = snd_ctl_new1((pm7500 || imac || g4agp || lombard)
+sound/ppc/awacs.c:	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/awacs.c:	if (chip->mixer_data) {
+sound/ppc/awacs.c:		chip->master_sw_ctl = snd_ctl_new1(&snd_pmac_awacs_amp_hp_sw,
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/awacs.c:		chip->speaker_sw_ctl = snd_ctl_new1(&snd_pmac_awacs_amp_spk_sw,
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card,
+sound/ppc/awacs.c:		chip->speaker_sw_ctl = snd_ctl_new1(imac1
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+sound/ppc/awacs.c:						 chip->master_sw_ctl);
+sound/ppc/awacs.c:						  chip->speaker_sw_ctl);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, vmaster_sw);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, vmaster_vol);
+sound/ppc/awacs.c:	else if (chip->model == PMAC_SCREAMER)
+sound/ppc/awacs.c:	chip->set_format = snd_pmac_awacs_set_format;
+sound/ppc/awacs.c:	chip->suspend = snd_pmac_awacs_suspend;
+sound/ppc/awacs.c:	chip->resume = snd_pmac_awacs_resume;
+sound/ppc/awacs.c:	chip->detect_headphone = snd_pmac_awacs_detect_headphone;
+sound/ppc/awacs.c:	chip->update_automute = snd_pmac_awacs_update_automute;
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 0, chip->awacs_reg[0]);
+sound/ppc/beep.c:	struct pmac_beep *beep = chip->beep;
+sound/ppc/beep.c:	if (! chip || (beep = chip->beep) == NULL)
+sound/ppc/beep.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/beep.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	beep_speed = snd_pmac_rate_index(chip, &chip->playback, BEEP_SRATE);
+sound/ppc/beep.c:	srate = chip->freq_table[beep_speed];
+sound/ppc/beep.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/beep.c:	if (chip->playback.running || chip->capture.running || beep->running) {
+sound/ppc/beep.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/beep.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	if (snd_BUG_ON(!chip->beep))
+sound/ppc/beep.c:	ucontrol->value.integer.value[0] = chip->beep->volume;
+sound/ppc/beep.c:	if (snd_BUG_ON(!chip->beep))
+sound/ppc/beep.c:	oval = chip->beep->volume;
+sound/ppc/beep.c:	chip->beep->volume = nval;
+sound/ppc/beep.c:	return oval != chip->beep->volume;
+sound/ppc/beep.c:	dmabuf = dma_alloc_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4,
+sound/ppc/beep.c:	input_dev->dev.parent = &chip->pdev->dev;
+sound/ppc/beep.c:	err = snd_ctl_add(chip->card, beep_ctl);
+sound/ppc/beep.c:	chip->beep = beep;
+sound/ppc/beep.c: fail2:	snd_ctl_remove(chip->card, beep_ctl);
+sound/ppc/beep.c:		dma_free_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4,
+sound/ppc/beep.c:	if (chip->beep) {
+sound/ppc/beep.c:		input_unregister_device(chip->beep->dev);
+sound/ppc/beep.c:		dma_free_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4,
+sound/ppc/beep.c:				  chip->beep->buf, chip->beep->addr);
+sound/ppc/beep.c:		kfree(chip->beep);
+sound/ppc/beep.c:		chip->beep = NULL;
+sound/ppc/burgundy.c:	while ((in_le32(&chip->awacs->codec_ctrl) & MASK_NEWECMD) && timeout--)
+sound/ppc/burgundy.c:	while (!(in_le32(&chip->awacs->codec_stat) & MASK_EXTEND) && timeout--)
+sound/ppc/burgundy.c:	while ((in_le32(&chip->awacs->codec_stat) & MASK_EXTEND) && timeout--)
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200c00 + (val & 0xff));
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200d00 +((val>>8) & 0xff));
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200e00 +((val>>16) & 0xff));
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200f00 +((val>>24) & 0xff));
+sound/ppc/burgundy.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100000);
+sound/ppc/burgundy.c:	val += (in_le32(&chip->awacs->codec_stat) >> 4) & 0xff;
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100100);
+sound/ppc/burgundy.c:	val += ((in_le32(&chip->awacs->codec_stat)>>4) & 0xff) <<8;
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100200);
+sound/ppc/burgundy.c:	val += ((in_le32(&chip->awacs->codec_stat)>>4) & 0xff) <<16;
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100300);
+sound/ppc/burgundy.c:	val += ((in_le32(&chip->awacs->codec_stat)>>4) & 0xff) <<24;
+sound/ppc/burgundy.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x300000 + (val & 0xff));
+sound/ppc/burgundy.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100000);
+sound/ppc/burgundy.c:	val += (in_le32(&chip->awacs->codec_stat) >> 4) & 0xff;
+sound/ppc/burgundy.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	return (in_le32(&chip->awacs->codec_stat) & chip->hp_stat_mask) ? 1 : 0;
+sound/ppc/burgundy.c:	if (chip->auto_mute) {
+sound/ppc/burgundy.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/burgundy.c:				       &chip->master_sw_ctl->id);
+sound/ppc/burgundy.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/burgundy.c:				       &chip->speaker_sw_ctl->id);
+sound/ppc/burgundy.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/burgundy.c:				       &chip->hp_detect_ctl->id);
+sound/ppc/burgundy.c:	if ((in_le32(&chip->awacs->codec_ctrl) & MASK_ERRCODE) == 0xf0000) {
+sound/ppc/burgundy.c:	if (chip->hp_stat_mask == 0) {
+sound/ppc/burgundy.c:			chip->hp_stat_mask = BURGUNDY_HPDETECT_IMAC_UPPER
+sound/ppc/burgundy.c:			chip->hp_stat_mask = BURGUNDY_HPDETECT_PMAC_BACK;
+sound/ppc/burgundy.c:	strcpy(chip->card->mixername, "PowerMac Burgundy");
+sound/ppc/burgundy.c:		err = snd_ctl_add(chip->card,
+sound/ppc/burgundy.c:		err = snd_ctl_add(chip->card,
+sound/ppc/burgundy.c:	chip->master_sw_ctl = snd_ctl_new1(imac
+sound/ppc/burgundy.c:	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/burgundy.c:	chip->master_sw_ctl = snd_ctl_new1(imac
+sound/ppc/burgundy.c:	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/burgundy.c:		chip->master_sw_ctl = snd_ctl_new1(
+sound/ppc/burgundy.c:		err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/burgundy.c:	chip->speaker_sw_ctl = snd_ctl_new1(imac
+sound/ppc/burgundy.c:	err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+sound/ppc/burgundy.c:	chip->detect_headphone = snd_pmac_burgundy_detect_headphone;
+sound/ppc/burgundy.c:	chip->update_automute = snd_pmac_burgundy_update_automute;
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	struct pmac_daca *mix = chip->mixer_data;
+sound/ppc/daca.c:	struct pmac_daca *mix = chip->mixer_data;
+sound/ppc/daca.c:	chip->mixer_data = NULL;
+sound/ppc/daca.c:	chip->mixer_data = mix;
+sound/ppc/daca.c:	chip->mixer_free = daca_cleanup;
+sound/ppc/daca.c:	strcpy(chip->card->mixername, "PowerMac DACA");
+sound/ppc/daca.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&daca_mixers[i], chip))) < 0)
+sound/ppc/daca.c:	chip->resume = daca_resume;
+sound/ppc/pmac.c:	rec->space = dma_alloc_coherent(&chip->pdev->dev, rsize,
+sound/ppc/pmac.c:		dma_free_coherent(&chip->pdev->dev, rsize, rec->space, rec->dma_base);
+sound/ppc/pmac.c:	if (rate > chip->freq_table[0])
+sound/ppc/pmac.c:	for (i = 0; i < chip->num_freqs; i++, ok >>= 1) {
+sound/ppc/pmac.c:		if (rate >= chip->freq_table[i])
+sound/ppc/pmac.c:		return &chip->playback;
+sound/ppc/pmac.c:		return &chip->capture;
+sound/ppc/pmac.c:	out_le32(&chip->awacs->control, chip->control_mask | (chip->rate_index << 8));
+sound/ppc/pmac.c:	out_le32(&chip->awacs->byteswap, chip->format == SNDRV_PCM_FORMAT_S16_LE ? 1 : 0);
+sound/ppc/pmac.c:	if (chip->set_format)
+sound/ppc/pmac.c:		chip->set_format(chip);
+sound/ppc/pmac.c:	chip->rate_index = rate_index;
+sound/ppc/pmac.c:	chip->format = runtime->format;
+sound/ppc/pmac.c:	spin_lock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->command = cpu_to_le16(DBDMA_STOP);
+sound/ppc/pmac.c:	snd_pmac_dma_set_command(rec, &chip->extra_dma);
+sound/ppc/pmac.c:	spin_unlock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:	spin_lock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:	spin_unlock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:	return snd_pmac_pcm_prepare(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_trigger(chip, &chip->playback, subs, cmd);
+sound/ppc/pmac.c:	return snd_pmac_pcm_pointer(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_prepare(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_trigger(chip, &chip->capture, subs, cmd);
+sound/ppc/pmac.c:	return snd_pmac_pcm_pointer(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:			spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:			spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:	spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:	for (i = chip->num_freqs - 1; i >= 0; i--) {
+sound/ppc/pmac.c:			freq_table[num_freqs++] = chip->freq_table[i];
+sound/ppc/pmac.c:	for (i = 0; i < chip->num_freqs; i++)
+sound/ppc/pmac.c:		if (chip->freqs_ok & (1 << i))
+sound/ppc/pmac.c:				snd_pcm_rate_to_rate_bit(chip->freq_table[i]);
+sound/ppc/pmac.c:	for (i = 0; i < chip->num_freqs; i++) {
+sound/ppc/pmac.c:		if (chip->freqs_ok & (1 << i)) {
+sound/ppc/pmac.c:			runtime->hw.rate_max = chip->freq_table[i];
+sound/ppc/pmac.c:	for (i = chip->num_freqs - 1; i >= 0; i--) {
+sound/ppc/pmac.c:		if (chip->freqs_ok & (1 << i)) {
+sound/ppc/pmac.c:			runtime->hw.rate_min = chip->freq_table[i];
+sound/ppc/pmac.c:	runtime->hw.formats = chip->formats_ok;
+sound/ppc/pmac.c:	if (chip->can_capture) {
+sound/ppc/pmac.c:		if (! chip->can_duplex)
+sound/ppc/pmac.c:	astr->cur_freqs = chip->freqs_ok;
+sound/ppc/pmac.c:	astr->cur_formats = chip->formats_ok;
+sound/ppc/pmac.c:	return snd_pmac_pcm_open(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_open(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_close(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_close(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	if (! chip->can_capture)
+sound/ppc/pmac.c:	err = snd_pcm_new(chip->card, chip->card->driver, 0, 1, num_captures, &pcm);
+sound/ppc/pmac.c:	if (chip->can_capture)
+sound/ppc/pmac.c:	strcpy(pcm->name, chip->card->shortname);
+sound/ppc/pmac.c:	chip->pcm = pcm;
+sound/ppc/pmac.c:	chip->formats_ok = SNDRV_PCM_FMTBIT_S16_BE;
+sound/ppc/pmac.c:	if (chip->can_byte_swap)
+sound/ppc/pmac.c:		chip->formats_ok |= SNDRV_PCM_FMTBIT_S16_LE;
+sound/ppc/pmac.c:	chip->playback.cur_formats = chip->formats_ok;
+sound/ppc/pmac.c:	chip->capture.cur_formats = chip->formats_ok;
+sound/ppc/pmac.c:	chip->playback.cur_freqs = chip->freqs_ok;
+sound/ppc/pmac.c:	chip->capture.cur_freqs = chip->freqs_ok;
+sound/ppc/pmac.c:					      &chip->pdev->dev,
+sound/ppc/pmac.c:	out_le32(&chip->playback.dma->control, (RUN|PAUSE|FLUSH|WAKE|DEAD) << 16);
+sound/ppc/pmac.c:	snd_pmac_wait_ack(&chip->playback);
+sound/ppc/pmac.c:	out_le32(&chip->capture.dma->control, (RUN|PAUSE|FLUSH|WAKE|DEAD) << 16);
+sound/ppc/pmac.c:	snd_pmac_wait_ack(&chip->capture);
+sound/ppc/pmac.c:	struct pmac_stream *rec = &chip->playback;
+sound/ppc/pmac.c:	chip->extra_dma.cmds->req_count = cpu_to_le16(bytes);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->xfer_status = cpu_to_le16(0);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->cmd_dep = cpu_to_le32(chip->extra_dma.addr);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->phy_addr = cpu_to_le32(addr);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->command = cpu_to_le16(OUTPUT_MORE + BR_ALWAYS);
+sound/ppc/pmac.c:	out_le32(&chip->awacs->control,
+sound/ppc/pmac.c:		 (in_le32(&chip->awacs->control) & ~0x1f00)
+sound/ppc/pmac.c:	out_le32(&chip->awacs->byteswap, 0);
+sound/ppc/pmac.c:	snd_pmac_dma_set_command(rec, &chip->extra_dma);
+sound/ppc/pmac.c:	snd_pmac_dma_stop(&chip->playback);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->command = cpu_to_le16(DBDMA_STOP);
+sound/ppc/pmac.c:	snd_pmac_pcm_update(chip, &chip->playback);
+sound/ppc/pmac.c:	snd_pmac_pcm_update(chip, &chip->capture);
+sound/ppc/pmac.c:	int ctrl = in_le32(&chip->awacs->control);
+sound/ppc/pmac.c:		if (chip->update_automute)
+sound/ppc/pmac.c:			chip->update_automute(chip, 1);
+sound/ppc/pmac.c:		int err = (in_le32(&chip->awacs->codec_stat) & MASK_ERRCODE) >> 16;
+sound/ppc/pmac.c:		if (err && chip->model <= PMAC_SCREAMER)
+sound/ppc/pmac.c:	out_le32(&chip->awacs->control, ctrl);
+sound/ppc/pmac.c:		ppc_md.feature_call(PMAC_FTR_SOUND_CHIP_ENABLE, chip->node, 0, enable);
+sound/ppc/pmac.c:	if (chip->initialized) {
+sound/ppc/pmac.c:		out_le32(&chip->awacs->control, in_le32(&chip->awacs->control) & 0xfff);
+sound/ppc/pmac.c:	if (chip->node)
+sound/ppc/pmac.c:	if (chip->mixer_free)
+sound/ppc/pmac.c:		chip->mixer_free(chip);
+sound/ppc/pmac.c:	if (chip->irq >= 0)
+sound/ppc/pmac.c:		free_irq(chip->irq, (void*)chip);
+sound/ppc/pmac.c:	if (chip->tx_irq >= 0)
+sound/ppc/pmac.c:		free_irq(chip->tx_irq, (void*)chip);
+sound/ppc/pmac.c:	if (chip->rx_irq >= 0)
+sound/ppc/pmac.c:		free_irq(chip->rx_irq, (void*)chip);
+sound/ppc/pmac.c:	snd_pmac_dbdma_free(chip, &chip->playback.cmd);
+sound/ppc/pmac.c:	snd_pmac_dbdma_free(chip, &chip->capture.cmd);
+sound/ppc/pmac.c:	snd_pmac_dbdma_free(chip, &chip->extra_dma);
+sound/ppc/pmac.c:	iounmap(chip->macio_base);
+sound/ppc/pmac.c:	iounmap(chip->latch_base);
+sound/ppc/pmac.c:	iounmap(chip->awacs);
+sound/ppc/pmac.c:	iounmap(chip->playback.dma);
+sound/ppc/pmac.c:	iounmap(chip->capture.dma);
+sound/ppc/pmac.c:	if (chip->node) {
+sound/ppc/pmac.c:			if (chip->requested & (1 << i))
+sound/ppc/pmac.c:				release_mem_region(chip->rsrc[i].start,
+sound/ppc/pmac.c:						   resource_size(&chip->rsrc[i]));
+sound/ppc/pmac.c:	pci_dev_put(chip->pdev);
+sound/ppc/pmac.c:	of_node_put(chip->node);
+sound/ppc/pmac.c:	for (mio = chip->node->parent; mio; mio = mio->parent) {
+sound/ppc/pmac.c:				chip->can_byte_swap = 0;
+sound/ppc/pmac.c:		chip->can_byte_swap = 0 ;
+sound/ppc/pmac.c:		chip->can_duplex = 0;
+sound/ppc/pmac.c:	chip->subframe = 0;
+sound/ppc/pmac.c:	chip->revision = 0;
+sound/ppc/pmac.c:	chip->freqs_ok = 0xff; /* all ok */
+sound/ppc/pmac.c:	chip->model = PMAC_AWACS;
+sound/ppc/pmac.c:	chip->can_byte_swap = 1;
+sound/ppc/pmac.c:	chip->can_duplex = 1;
+sound/ppc/pmac.c:	chip->can_capture = 1;
+sound/ppc/pmac.c:	chip->num_freqs = ARRAY_SIZE(awacs_freqs);
+sound/ppc/pmac.c:	chip->freq_table = awacs_freqs;
+sound/ppc/pmac.c:	chip->pdev = NULL;
+sound/ppc/pmac.c:	chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */
+sound/ppc/pmac.c:		chip->is_pbook_3400 = 1;
+sound/ppc/pmac.c:		chip->is_pbook_G3 = 1;
+sound/ppc/pmac.c:	chip->node = of_find_node_by_name(NULL, "awacs");
+sound/ppc/pmac.c:	sound = of_node_get(chip->node);
+sound/ppc/pmac.c:	if (!chip->node)
+sound/ppc/pmac.c:		chip->node = of_find_node_by_name(NULL, "davbus");
+sound/ppc/pmac.c:	if (! chip->node) {
+sound/ppc/pmac.c:		chip->node = of_find_node_by_name(NULL, "i2s-a");
+sound/ppc/pmac.c:		if (chip->node && chip->node->parent &&
+sound/ppc/pmac.c:		    chip->node->parent->parent) {
+sound/ppc/pmac.c:			if (of_device_is_compatible(chip->node->parent->parent,
+sound/ppc/pmac.c:				chip->is_k2 = 1;
+sound/ppc/pmac.c:	if (! chip->node)
+sound/ppc/pmac.c:			if (sound->parent == chip->node)
+sound/ppc/pmac.c:		of_node_put(chip->node);
+sound/ppc/pmac.c:		chip->node = NULL;
+sound/ppc/pmac.c:		chip->subframe = *prop;
+sound/ppc/pmac.c:		of_node_put(chip->node);
+sound/ppc/pmac.c:		chip->node = NULL;
+sound/ppc/pmac.c:		chip->model = PMAC_SCREAMER;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->model = PMAC_BURGUNDY;
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->model = PMAC_DACA;
+sound/ppc/pmac.c:		chip->can_capture = 0;  /* no capture */
+sound/ppc/pmac.c:		chip->can_duplex = 0;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->model = PMAC_TUMBLER;
+sound/ppc/pmac.c:		chip->can_capture = of_machine_is_compatible("PowerMac4,2")
+sound/ppc/pmac.c:		chip->can_duplex = 0;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
+sound/ppc/pmac.c:		chip->freq_table = tumbler_freqs;
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->model = PMAC_SNAPPER;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
+sound/ppc/pmac.c:		chip->freq_table = tumbler_freqs;
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->device_id = *prop;
+sound/ppc/pmac.c:	chip->has_iic = (dn != NULL);
+sound/ppc/pmac.c:	macio = macio_find(chip->node, macio_unknown);
+sound/ppc/pmac.c:				chip->pdev = pdev;
+sound/ppc/pmac.c:	if (chip->pdev == NULL)
+sound/ppc/pmac.c:		chip->freqs_ok = 0;
+sound/ppc/pmac.c:			for (i = 0; i < chip->num_freqs; ++i) {
+sound/ppc/pmac.c:				if (r == chip->freq_table[i]) {
+sound/ppc/pmac.c:					chip->freqs_ok |= (1 << i);
+sound/ppc/pmac.c:		chip->freqs_ok = 1;
+sound/ppc/pmac.c:	ucontrol->value.integer.value[0] = chip->auto_mute;
+sound/ppc/pmac.c:	if (ucontrol->value.integer.value[0] != chip->auto_mute) {
+sound/ppc/pmac.c:		chip->auto_mute = !!ucontrol->value.integer.value[0];
+sound/ppc/pmac.c:		if (chip->update_automute)
+sound/ppc/pmac.c:			chip->update_automute(chip, 1);
+sound/ppc/pmac.c:	if (chip->detect_headphone)
+sound/ppc/pmac.c:		ucontrol->value.integer.value[0] = chip->detect_headphone(chip);
+sound/ppc/pmac.c:	chip->auto_mute = 1;
+sound/ppc/pmac.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&auto_mute_controls[0], chip));
+sound/ppc/pmac.c:	chip->hp_detect_ctl = snd_ctl_new1(&auto_mute_controls[1], chip);
+sound/ppc/pmac.c:	return snd_ctl_add(chip->card, chip->hp_detect_ctl);
+sound/ppc/pmac.c:	chip->card = card;
+sound/ppc/pmac.c:	spin_lock_init(&chip->reg_lock);
+sound/ppc/pmac.c:	chip->irq = chip->tx_irq = chip->rx_irq = -1;
+sound/ppc/pmac.c:	chip->playback.stream = SNDRV_PCM_STREAM_PLAYBACK;
+sound/ppc/pmac.c:	chip->capture.stream = SNDRV_PCM_STREAM_CAPTURE;
+sound/ppc/pmac.c:	if (snd_pmac_dbdma_alloc(chip, &chip->playback.cmd, PMAC_MAX_FRAGS + 1) < 0 ||
+sound/ppc/pmac.c:	    snd_pmac_dbdma_alloc(chip, &chip->capture.cmd, PMAC_MAX_FRAGS + 1) < 0 ||
+sound/ppc/pmac.c:	    snd_pmac_dbdma_alloc(chip, &chip->extra_dma, 2) < 0 ||
+sound/ppc/pmac.c:	np = chip->node;
+sound/ppc/pmac.c:	chip->requested = 0;
+sound/ppc/pmac.c:	if (chip->is_k2) {
+sound/ppc/pmac.c:						   &chip->rsrc[i])) {
+sound/ppc/pmac.c:			if (request_mem_region(chip->rsrc[i].start,
+sound/ppc/pmac.c:					       resource_size(&chip->rsrc[i]),
+sound/ppc/pmac.c:				       i, rnames[i], &chip->rsrc[i]);
+sound/ppc/pmac.c:			chip->requested |= (1 << i);
+sound/ppc/pmac.c:		ctrl_addr = chip->rsrc[0].start;
+sound/ppc/pmac.c:		txdma_addr = chip->rsrc[1].start;
+sound/ppc/pmac.c:						   &chip->rsrc[i])) {
+sound/ppc/pmac.c:			if (request_mem_region(chip->rsrc[i].start,
+sound/ppc/pmac.c:					       resource_size(&chip->rsrc[i]),
+sound/ppc/pmac.c:				       i, rnames[i], &chip->rsrc[i]);
+sound/ppc/pmac.c:			chip->requested |= (1 << i);
+sound/ppc/pmac.c:		ctrl_addr = chip->rsrc[0].start;
+sound/ppc/pmac.c:		txdma_addr = chip->rsrc[1].start;
+sound/ppc/pmac.c:		rxdma_addr = chip->rsrc[2].start;
+sound/ppc/pmac.c:	chip->awacs = ioremap(ctrl_addr, 0x1000);
+sound/ppc/pmac.c:	chip->playback.dma = ioremap(txdma_addr, 0x100);
+sound/ppc/pmac.c:	chip->capture.dma = ioremap(rxdma_addr, 0x100);
+sound/ppc/pmac.c:	if (chip->model <= PMAC_BURGUNDY) {
+sound/ppc/pmac.c:		chip->irq = irq;
+sound/ppc/pmac.c:	chip->tx_irq = irq;
+sound/ppc/pmac.c:	chip->rx_irq = irq;
+sound/ppc/pmac.c:	if (chip->model <= PMAC_BURGUNDY)
+sound/ppc/pmac.c:		out_le32(&chip->awacs->control, chip->control_mask);
+sound/ppc/pmac.c:	if (chip->is_pbook_3400) {
+sound/ppc/pmac.c:		chip->latch_base = ioremap (0xf301a000, 0x1000);
+sound/ppc/pmac.c:		in_8(chip->latch_base + 0x190);
+sound/ppc/pmac.c:	} else if (chip->is_pbook_G3) {
+sound/ppc/pmac.c:		for (mio = chip->node->parent; mio; mio = mio->parent) {
+sound/ppc/pmac.c:					chip->macio_base =
+sound/ppc/pmac.c:		if (chip->macio_base)
+sound/ppc/pmac.c:			out_8(chip->macio_base + 0x37, 3);
+sound/ppc/pmac.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/ppc/pmac.c:	if (chip->suspend)
+sound/ppc/pmac.c:		chip->suspend(chip);
+sound/ppc/pmac.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/pmac.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/pmac.c:	if (chip->irq >= 0)
+sound/ppc/pmac.c:		disable_irq(chip->irq);
+sound/ppc/pmac.c:	if (chip->tx_irq >= 0)
+sound/ppc/pmac.c:		disable_irq(chip->tx_irq);
+sound/ppc/pmac.c:	if (chip->rx_irq >= 0)
+sound/ppc/pmac.c:		disable_irq(chip->rx_irq);
+sound/ppc/pmac.c:	if (chip->resume)
+sound/ppc/pmac.c:		chip->resume(chip);
+sound/ppc/pmac.c:	if (chip->macio_base && chip->is_pbook_G3)
+sound/ppc/pmac.c:		out_8(chip->macio_base + 0x37, 3);
+sound/ppc/pmac.c:	else if (chip->is_pbook_3400)
+sound/ppc/pmac.c:		in_8(chip->latch_base + 0x190);
+sound/ppc/pmac.c:	if (chip->irq >= 0)
+sound/ppc/pmac.c:		enable_irq(chip->irq);
+sound/ppc/pmac.c:	if (chip->tx_irq >= 0)
+sound/ppc/pmac.c:		enable_irq(chip->tx_irq);
+sound/ppc/pmac.c:	if (chip->rx_irq >= 0)
+sound/ppc/pmac.c:		enable_irq(chip->rx_irq);
+sound/ppc/pmac.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/ppc/powermac.c:	switch (chip->model) {
+sound/ppc/powermac.c:			card->shortname, chip->device_id, chip->subframe);
+sound/ppc/powermac.c:			card->shortname, chip->device_id, chip->subframe);
+sound/ppc/powermac.c:		name_ext = chip->model == PMAC_TUMBLER ? "Tumbler" : "Snapper";
+sound/ppc/powermac.c:			card->shortname, chip->device_id, chip->subframe);
+sound/ppc/powermac.c:		name_ext = chip->model == PMAC_SCREAMER ? "Screamer" : "AWACS";
+sound/ppc/powermac.c:		if (chip->is_pbook_3400)
+sound/ppc/powermac.c:		else if (chip->is_pbook_G3)
+sound/ppc/powermac.c:			card->shortname, name_ext, chip->revision);
+sound/ppc/powermac.c:		snd_printk(KERN_ERR "unsupported hardware %d\n", chip->model);
+sound/ppc/powermac.c:	chip->initialized = 1;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:		chip->model == PMAC_TUMBLER ? TAS3001_DRC_MAX : TAS3004_DRC_MAX;
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:		if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:		if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (chip->update_automute && chip->auto_mute)
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/tumbler.c:	mix = chip->mixer_data;
+sound/ppc/tumbler.c:				   chip->master_sw_ctl);
+sound/ppc/tumbler.c:				   chip->lineout_sw_ctl);
+sound/ppc/tumbler.c:			   chip->speaker_sw_ctl);
+sound/ppc/tumbler.c:			   chip->speaker_sw_ctl);
+sound/ppc/tumbler.c:			   chip->master_sw_ctl);
+sound/ppc/tumbler.c:				   chip->lineout_sw_ctl);
+sound/ppc/tumbler.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/tumbler.c:				       &chip->hp_detect_ctl->id);
+sound/ppc/tumbler.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/tumbler.c:			       &chip->drc_sw_ctl->id);
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (chip->auto_mute) {
+sound/ppc/tumbler.c:		mix = chip->mixer_data;
+sound/ppc/tumbler.c:	if (chip->update_automute && chip->initialized) {
+sound/ppc/tumbler.c:		chip->update_automute(chip, 1);
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	if (chip->model == PMAC_SNAPPER) {
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:	if (chip->update_automute)
+sound/ppc/tumbler.c:		chip->update_automute(chip, 0);
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	chip->mixer_data = NULL;
+sound/ppc/tumbler.c:	chip->mixer_data = mix;
+sound/ppc/tumbler.c:	chip->mixer_free = tumbler_cleanup;
+sound/ppc/tumbler.c:	for_each_child_of_node(chip->node, np) {
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:	sprintf(chip->card->mixername, "PowerMac %s", chipname);
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&tumbler_mixers[i], chip))) < 0)
+sound/ppc/tumbler.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snapper_mixers[i], chip))) < 0)
+sound/ppc/tumbler.c:	chip->master_sw_ctl = snd_ctl_new1(&tumbler_hp_sw, chip);
+sound/ppc/tumbler.c:	if ((err = snd_ctl_add(chip->card, chip->master_sw_ctl)) < 0)
+sound/ppc/tumbler.c:	chip->speaker_sw_ctl = snd_ctl_new1(&tumbler_speaker_sw, chip);
+sound/ppc/tumbler.c:	if ((err = snd_ctl_add(chip->card, chip->speaker_sw_ctl)) < 0)
+sound/ppc/tumbler.c:		chip->lineout_sw_ctl = snd_ctl_new1(&tumbler_lineout_sw, chip);
+sound/ppc/tumbler.c:		if ((err = snd_ctl_add(chip->card, chip->lineout_sw_ctl)) < 0)
+sound/ppc/tumbler.c:	chip->drc_sw_ctl = snd_ctl_new1(&tumbler_drc_sw, chip);
+sound/ppc/tumbler.c:	if ((err = snd_ctl_add(chip->card, chip->drc_sw_ctl)) < 0)
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	chip->suspend = tumbler_suspend;
+sound/ppc/tumbler.c:	chip->resume = tumbler_resume;
+sound/ppc/tumbler.c:	chip->detect_headphone = tumbler_detect_headphone;
+sound/ppc/tumbler.c:	chip->update_automute = tumbler_update_automute;
+sound/sh/sh_dac_audio.c:	hrtimer_start(&chip->hrtimer, chip->wakeups_per_second,
+sound/sh/sh_dac_audio.c:	hrtimer_cancel(&chip->hrtimer);
+sound/sh/sh_dac_audio.c:	chip->buffer_begin = chip->buffer_end = chip->data_buffer;
+sound/sh/sh_dac_audio.c:	chip->processed = 0;
+sound/sh/sh_dac_audio.c:	chip->empty = 1;
+sound/sh/sh_dac_audio.c:	chip->wakeups_per_second = 1000000000 / chip->rate;
+sound/sh/sh_dac_audio.c:	chip->substream = substream;
+sound/sh/sh_dac_audio.c:	chip->buffer_begin = chip->buffer_end = chip->data_buffer;
+sound/sh/sh_dac_audio.c:	chip->processed = 0;
+sound/sh/sh_dac_audio.c:	chip->empty = 1;
+sound/sh/sh_dac_audio.c:	chip->pdata->start(chip->pdata);
+sound/sh/sh_dac_audio.c:	chip->substream = NULL;
+sound/sh/sh_dac_audio.c:	chip->pdata->stop(chip->pdata);
+sound/sh/sh_dac_audio.c:	struct snd_pcm_runtime *runtime = chip->substream->runtime;
+sound/sh/sh_dac_audio.c:	chip->buffer_size = runtime->buffer_size;
+sound/sh/sh_dac_audio.c:	memset(chip->data_buffer, 0, chip->pdata->buffer_size);
+sound/sh/sh_dac_audio.c:		chip->buffer_begin = chip->buffer_end = chip->data_buffer;
+sound/sh/sh_dac_audio.c:		chip->processed = 0;
+sound/sh/sh_dac_audio.c:		chip->empty = 1;
+sound/sh/sh_dac_audio.c:	if (copy_from_user_toio(chip->data_buffer + pos, src, count))
+sound/sh/sh_dac_audio.c:	chip->buffer_end = chip->data_buffer + pos + count;
+sound/sh/sh_dac_audio.c:	if (chip->empty) {
+sound/sh/sh_dac_audio.c:		chip->empty = 0;
+sound/sh/sh_dac_audio.c:	memcpy_toio(chip->data_buffer + pos, src, count);
+sound/sh/sh_dac_audio.c:	chip->buffer_end = chip->data_buffer + pos + count;
+sound/sh/sh_dac_audio.c:	if (chip->empty) {
+sound/sh/sh_dac_audio.c:		chip->empty = 0;
+sound/sh/sh_dac_audio.c:	memset_io(chip->data_buffer + pos, 0, count);
+sound/sh/sh_dac_audio.c:	chip->buffer_end = chip->data_buffer + pos + count;
+sound/sh/sh_dac_audio.c:	if (chip->empty) {
+sound/sh/sh_dac_audio.c:		chip->empty = 0;
+sound/sh/sh_dac_audio.c:	int pointer = chip->buffer_begin - chip->data_buffer;
+sound/sh/sh_dac_audio.c:	err = snd_pcm_new(chip->card, "SH_DAC PCM", device, 1, 0, &pcm);
+sound/sh/sh_dac_audio.c:	kfree(chip->data_buffer);
+sound/sh/sh_dac_audio.c:	struct snd_pcm_runtime *runtime = chip->substream->runtime;
+sound/sh/sh_dac_audio.c:	if (!chip->empty) {
+sound/sh/sh_dac_audio.c:		sh_dac_output(*chip->buffer_begin, chip->pdata->channel);
+sound/sh/sh_dac_audio.c:		chip->buffer_begin++;
+sound/sh/sh_dac_audio.c:		chip->processed++;
+sound/sh/sh_dac_audio.c:		if (chip->processed >= b_ps) {
+sound/sh/sh_dac_audio.c:			chip->processed -= b_ps;
+sound/sh/sh_dac_audio.c:			snd_pcm_period_elapsed(chip->substream);
+sound/sh/sh_dac_audio.c:		if (chip->buffer_begin == (chip->data_buffer +
+sound/sh/sh_dac_audio.c:					   chip->buffer_size - 1))
+sound/sh/sh_dac_audio.c:			chip->buffer_begin = chip->data_buffer;
+sound/sh/sh_dac_audio.c:		if (chip->buffer_begin == chip->buffer_end)
+sound/sh/sh_dac_audio.c:			chip->empty = 1;
+sound/sh/sh_dac_audio.c:	if (!chip->empty)
+sound/sh/sh_dac_audio.c:		hrtimer_start(&chip->hrtimer, chip->wakeups_per_second,
+sound/sh/sh_dac_audio.c:/* create  --  chip-specific constructor for the cards components */
+sound/sh/sh_dac_audio.c:	chip->card = card;
+sound/sh/sh_dac_audio.c:	hrtimer_init(&chip->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+sound/sh/sh_dac_audio.c:	chip->hrtimer.function = sh_dac_audio_timer;
+sound/sh/sh_dac_audio.c:	chip->rate = 8000;
+sound/sh/sh_dac_audio.c:	chip->pdata = devptr->dev.platform_data;
+sound/sh/sh_dac_audio.c:	chip->data_buffer = kmalloc(chip->pdata->buffer_size, GFP_KERNEL);
+sound/sh/sh_dac_audio.c:	if (chip->data_buffer == NULL) {
+sound/soc/codecs/88pm860x-codec.c:	pm860x->i2c = (chip->id == CHIP_PM8607) ? chip->client
+sound/soc/codecs/88pm860x-codec.c:			: chip->companion;
+sound/soc/codecs/88pm860x-codec.c:	pm860x->regmap = (chip->id == CHIP_PM8607) ? chip->regmap
+sound/soc/codecs/88pm860x-codec.c:			: chip->regmap_companion;
+sound/soc/codecs/88pm860x-codec.c:		pm860x->irq[i] = res->start + chip->irq_base;
+sound/soc/codecs/es7134.c:	for (i = 0; i < priv->chip->mode_num; i++) {
+sound/soc/codecs/es7134.c:		const struct es7134_clock_mode *mode = &priv->chip->modes[i];
+sound/soc/codecs/es7134.c:	if (chip->extra_widget_num) {
+sound/soc/codecs/es7134.c:		ret = snd_soc_dapm_new_controls(dapm, chip->extra_widgets,
+sound/soc/codecs/es7134.c:						chip->extra_widget_num);
+sound/soc/codecs/es7134.c:	if (chip->extra_route_num) {
+sound/soc/codecs/es7134.c:		ret = snd_soc_dapm_add_routes(dapm, chip->extra_routes,
+sound/soc/codecs/es7134.c:					      chip->extra_route_num);
+sound/soc/codecs/es7134.c:				      priv->chip->dai_drv, 1);
+sound/soc/codecs/es7241.c:	for (i = 0; i < priv->chip->mode_num; i++) {
+sound/soc/codecs/es7241.c:		const struct es7241_clock_mode *mode = &priv->chip->modes[i];
+sound/soc/codecs/tas571x.c:		return priv->chip->vol_reg_size;
+sound/soc/codecs/tas571x.c:	if (WARN_ON(priv->chip->num_supply_names > TAS571X_MAX_SUPPLIES))
+sound/soc/codecs/tas571x.c:	for (i = 0; i < priv->chip->num_supply_names; i++)
+sound/soc/codecs/tas571x.c:		priv->supplies[i].supply = priv->chip->supply_names[i];
+sound/soc/codecs/tas571x.c:	ret = devm_regulator_bulk_get(dev, priv->chip->num_supply_names,
+sound/soc/codecs/tas571x.c:	ret = regulator_bulk_enable(priv->chip->num_supply_names,
+sound/soc/codecs/tas571x.c:					priv->chip->regmap_config);
+sound/soc/codecs/tas571x.c:	priv->component_driver.controls = priv->chip->controls;
+sound/soc/codecs/tas571x.c:	priv->component_driver.num_controls = priv->chip->num_controls;
+sound/soc/codecs/tas571x.c:	if (priv->chip->vol_reg_size == 2) {
+sound/soc/codecs/tas571x.c:	regulator_bulk_disable(priv->chip->num_supply_names, priv->supplies);
+sound/soc/intel/common/sst-firmware.c:	chip->irq = irq;
+sound/soc/intel/common/sst-firmware.c:	chip->regs = devm_ioremap_resource(dev, mem);
+sound/soc/intel/common/sst-firmware.c:	if (IS_ERR(chip->regs))
+sound/soc/intel/common/sst-firmware.c:		return ERR_CAST(chip->regs);
+sound/soc/intel/common/sst-firmware.c:	chip->dev = dev;
+sound/soc/rockchip/Makefile:snd-soc-rockchip-i2s-objs := rockchip_i2s.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-pcm-objs := rockchip_pcm.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-pdm-objs := rockchip_pdm.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-spdif-objs := rockchip_spdif.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_I2S) += snd-soc-rockchip-i2s.o snd-soc-rockchip-pcm.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_PDM) += snd-soc-rockchip-pdm.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_SPDIF) += snd-soc-rockchip-spdif.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-max98090-objs := rockchip_max98090.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-rt5645-objs := rockchip_rt5645.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_MAX98090) += snd-soc-rockchip-max98090.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_RT5645) += snd-soc-rockchip-rt5645.o
+sound/soc/rockchip/rockchip_i2s.c:#define DRV_NAME "rockchip-i2s"
+sound/soc/rockchip/rockchip_max98090.c:#define DRV_NAME "rockchip-snd-max98090"
+sound/soc/rockchip/rockchip_max98090.c:	{ .compatible = "rockchip,rockchip-audio-max98090", },
+sound/soc/rockchip/rockchip_pdm.c:	.name = "rockchip-pdm",
+sound/soc/rockchip/rockchip_pdm.c:		.name = "rockchip-pdm",
+sound/soc/rockchip/rockchip_rt5645.c:#define DRV_NAME "rockchip-snd-rt5645"
+sound/soc/rockchip/rockchip_rt5645.c:	{ .compatible = "rockchip,rockchip-audio-rt5645", },
+sound/soc/rockchip/rockchip_spdif.c:	.name = "rockchip-spdif",
+sound/soc/rockchip/rockchip_spdif.c:		.name = "rockchip-spdif",
+sound/soc/rockchip/rockchip_spdif.c:MODULE_ALIAS("platform:rockchip-spdif");
+sound/soc/sof/intel/hda-dsp.c:	snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, chip->ipc_ctl,
+sound/soc/sof/intel/hda-dsp.c:	snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, chip->ipc_ctl,
+sound/soc/sof/intel/hda-dsp.c:	ret = hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
+sound/soc/sof/intel/hda-loader.c:	ret = hda_dsp_core_power_up(sdev, chip->cores_mask);
+sound/soc/sof/intel/hda-loader.c:	for (i = 0; i < chip->ssp_count; i++) {
+sound/soc/sof/intel/hda-loader.c:						 chip->ssp_base_offset
+sound/soc/sof/intel/hda-loader.c:	snd_sof_dsp_write(sdev, HDA_DSP_BAR, chip->ipc_req,
+sound/soc/sof/intel/hda-loader.c:			  chip->ipc_req_mask | (HDA_DSP_IPC_PURGE_FW |
+sound/soc/sof/intel/hda-loader.c:					    chip->ipc_ack, status,
+sound/soc/sof/intel/hda-loader.c:					    ((status & chip->ipc_ack_mask)
+sound/soc/sof/intel/hda-loader.c:						    == chip->ipc_ack_mask),
+sound/soc/sof/intel/hda-loader.c:				  chip->cores_mask & ~(HDA_DSP_CORE_MASK(0)));
+sound/soc/sof/intel/hda-loader.c:					chip->rom_init_timeout *
+sound/soc/sof/intel/hda-loader.c:	hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
+sound/soc/sof/intel/hda.c:		hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
+sound/soc/uniphier/aio-compress.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-compress.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = chip->regmap_sg;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = chip->regmap;
+sound/soc/uniphier/aio-core.c:	chip->plls[pll_id].freq = freq;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = chip->regmap;
+sound/soc/uniphier/aio-core.c:	if (chip->chip_spec->addr_ext)
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:			switch (chip->plls[sub->aio->pll_out].freq) {
+sound/soc/uniphier/aio-core.c:			switch (chip->plls[sub->aio->pll_out].freq) {
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:	if (pll_id < 0 || chip->num_plls <= pll_id) {
+sound/soc/uniphier/aio-cpu.c:	return chip->plls[pll_id].enable;
+sound/soc/uniphier/aio-cpu.c:	for (i = 0; i < chip->num_aios; i++) {
+sound/soc/uniphier/aio-cpu.c:		struct uniphier_aio_sub *sub = &chip->aios[i].sub[0];
+sound/soc/uniphier/aio-cpu.c:	const struct uniphier_aio_chip_spec *chip_spec = aio->chip->chip_spec;
+sound/soc/uniphier/aio-cpu.c:	pll = &aio->chip->plls[pll_id];
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:		for (pll_id = 0; pll_id < aio->chip->num_plls; pll_id++) {
+sound/soc/uniphier/aio-cpu.c:		if (pll_id == aio->chip->num_plls) {
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:	aio->chip->active = 1;
+sound/soc/uniphier/aio-cpu.c:	aio->chip->active = 0;
+sound/soc/uniphier/aio-cpu.c:	aio->chip->num_wup_aios--;
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios) {
+sound/soc/uniphier/aio-cpu.c:		reset_control_assert(aio->chip->rst);
+sound/soc/uniphier/aio-cpu.c:		clk_disable_unprepare(aio->chip->clk);
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->active)
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios) {
+sound/soc/uniphier/aio-cpu.c:		ret = clk_prepare_enable(aio->chip->clk);
+sound/soc/uniphier/aio-cpu.c:		ret = reset_control_deassert(aio->chip->rst);
+sound/soc/uniphier/aio-cpu.c:	aio->chip->num_wup_aios++;
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios)
+sound/soc/uniphier/aio-cpu.c:		reset_control_assert(aio->chip->rst);
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios)
+sound/soc/uniphier/aio-cpu.c:		clk_disable_unprepare(aio->chip->clk);
+sound/soc/uniphier/aio-cpu.c:	chip->chip_spec = of_device_get_match_data(dev);
+sound/soc/uniphier/aio-cpu.c:	if (!chip->chip_spec)
+sound/soc/uniphier/aio-cpu.c:	chip->regmap_sg = syscon_regmap_lookup_by_phandle(dev->of_node,
+sound/soc/uniphier/aio-cpu.c:	if (IS_ERR(chip->regmap_sg)) {
+sound/soc/uniphier/aio-cpu.c:		if (PTR_ERR(chip->regmap_sg) == -EPROBE_DEFER)
+sound/soc/uniphier/aio-cpu.c:		chip->regmap_sg = NULL;
+sound/soc/uniphier/aio-cpu.c:	chip->clk = devm_clk_get(dev, "aio");
+sound/soc/uniphier/aio-cpu.c:	if (IS_ERR(chip->clk))
+sound/soc/uniphier/aio-cpu.c:		return PTR_ERR(chip->clk);
+sound/soc/uniphier/aio-cpu.c:	chip->rst = devm_reset_control_get_shared(dev, "aio");
+sound/soc/uniphier/aio-cpu.c:	if (IS_ERR(chip->rst))
+sound/soc/uniphier/aio-cpu.c:		return PTR_ERR(chip->rst);
+sound/soc/uniphier/aio-cpu.c:	chip->num_aios = chip->chip_spec->num_dais;
+sound/soc/uniphier/aio-cpu.c:	chip->num_wup_aios = chip->num_aios;
+sound/soc/uniphier/aio-cpu.c:	chip->aios = devm_kcalloc(dev,
+sound/soc/uniphier/aio-cpu.c:				  chip->num_aios, sizeof(struct uniphier_aio),
+sound/soc/uniphier/aio-cpu.c:	if (!chip->aios)
+sound/soc/uniphier/aio-cpu.c:	chip->num_plls = chip->chip_spec->num_plls;
+sound/soc/uniphier/aio-cpu.c:	chip->plls = devm_kcalloc(dev,
+sound/soc/uniphier/aio-cpu.c:				  chip->num_plls,
+sound/soc/uniphier/aio-cpu.c:	if (!chip->plls)
+sound/soc/uniphier/aio-cpu.c:	memcpy(chip->plls, chip->chip_spec->plls,
+sound/soc/uniphier/aio-cpu.c:	       sizeof(struct uniphier_aio_pll) * chip->num_plls);
+sound/soc/uniphier/aio-cpu.c:	for (i = 0; i < chip->num_aios; i++) {
+sound/soc/uniphier/aio-cpu.c:		struct uniphier_aio *aio = &chip->aios[i];
+sound/soc/uniphier/aio-cpu.c:	chip->pdev = pdev;
+sound/soc/uniphier/aio-cpu.c:	ret = clk_prepare_enable(chip->clk);
+sound/soc/uniphier/aio-cpu.c:	ret = reset_control_deassert(chip->rst);
+sound/soc/uniphier/aio-cpu.c:					      chip->chip_spec->dais,
+sound/soc/uniphier/aio-cpu.c:					      chip->chip_spec->num_dais);
+sound/soc/uniphier/aio-cpu.c:	reset_control_assert(chip->rst);
+sound/soc/uniphier/aio-cpu.c:	clk_disable_unprepare(chip->clk);
+sound/soc/uniphier/aio-cpu.c:	reset_control_assert(chip->rst);
+sound/soc/uniphier/aio-cpu.c:	clk_disable_unprepare(chip->clk);
+sound/soc/uniphier/aio-dma.c:	for (i = 0; i < chip->num_aios; i++) {
+sound/soc/uniphier/aio-dma.c:		struct uniphier_aio *aio = &chip->aios[i];
+sound/soc/uniphier/aio-dma.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-dma.c:	chip->regmap = devm_regmap_init_mmio(dev, preg,
+sound/soc/uniphier/aio-dma.c:	if (IS_ERR(chip->regmap))
+sound/soc/uniphier/aio-dma.c:		return PTR_ERR(chip->regmap);
+sound/soc/uniphier/aio.h:	return &chip->aios[dai->id];
+sound/sparc/cs4231.c:	__cs4231_writeb(chip, chip->mce_bit | reg, CS4231U(chip, REGSEL));
+sound/sparc/cs4231.c:	unsigned char tmp = (chip->image[reg] & mask) | value;
+sound/sparc/cs4231.c:	chip->image[reg] = tmp;
+sound/sparc/cs4231.c:	if (!chip->calibrate_mute)
+sound/sparc/cs4231.c:	chip->image[reg] = value;
+sound/sparc/cs4231.c:	__cs4231_writeb(chip, chip->mce_bit | reg, CS4231U(chip, REGSEL));
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mce_bit |= CS4231_MCE;
+sound/sparc/cs4231.c:			    chip->port);
+sound/sparc/cs4231.c:		__cs4231_writeb(chip, chip->mce_bit | (timeout & 0x1f),
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mce_bit &= ~CS4231_MCE;
+sound/sparc/cs4231.c:	__cs4231_writeb(chip, chip->mce_bit | (reg & 0x1f),
+sound/sparc/cs4231.c:			    "- codec still busy\n", chip->port);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		dma_cont = &chip->p_dma;
+sound/sparc/cs4231.c:				chip->playback_substream,
+sound/sparc/cs4231.c:				&chip->p_periods_sent);
+sound/sparc/cs4231.c:		dma_cont = &chip->c_dma;
+sound/sparc/cs4231.c:				chip->capture_substream,
+sound/sparc/cs4231.c:				&chip->c_periods_sent);
+sound/sparc/cs4231.c:			if (s == chip->playback_substream) {
+sound/sparc/cs4231.c:			} else if (s == chip->capture_substream) {
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_IFACE_CTRL] |= what;
+sound/sparc/cs4231.c:			chip->image[CS4231_IFACE_CTRL] &= ~what;
+sound/sparc/cs4231.c:			       chip->image[CS4231_IFACE_CTRL]);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (chip->calibrate_mute == mute) {
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:				chip->image[CS4231_LEFT_INPUT]);
+sound/sparc/cs4231.c:				chip->image[CS4231_RIGHT_INPUT]);
+sound/sparc/cs4231.c:				chip->image[CS4231_LOOPBACK]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX1_LEFT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX1_RIGHT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX2_LEFT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX2_RIGHT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_LEFT_OUTPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_RIGHT_OUTPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_LEFT_LINE_IN]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_RIGHT_LINE_IN]);
+sound/sparc/cs4231.c:			mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
+sound/sparc/cs4231.c:	chip->calibrate_mute = mute;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_lock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		       (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE) ?
+sound/sparc/cs4231.c:		       (pdfr & 0xf0) | (chip->image[CS4231_REC_FORMAT] & 0x0f) :
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_unlock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	mutex_lock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE)) {
+sound/sparc/cs4231.c:			       ((chip->image[CS4231_PLAYBK_FORMAT]) & 0xf0) |
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_unlock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	return chip->image[CS4231_PLAYBK_FORMAT] & 1 ? 9969 : 9920;
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if ((chip->image[CS4231_ALT_FEATURE_1] & CS4231_TIMER_ENABLE) == 0 ||
+sound/sparc/cs4231.c:	    (unsigned char)(ticks >> 8) != chip->image[CS4231_TIMER_HIGH] ||
+sound/sparc/cs4231.c:	    (unsigned char)ticks != chip->image[CS4231_TIMER_LOW]) {
+sound/sparc/cs4231.c:			       chip->image[CS4231_TIMER_HIGH] =
+sound/sparc/cs4231.c:			       chip->image[CS4231_TIMER_LOW] =
+sound/sparc/cs4231.c:			       chip->image[CS4231_ALT_FEATURE_1] |
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_ALT_FEATURE_1] &= ~CS4231_TIMER_ENABLE;
+sound/sparc/cs4231.c:		       chip->image[CS4231_ALT_FEATURE_1]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE |
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] |= CS4231_AUTOCALIB;
+sound/sparc/cs4231.c:	snd_cs4231_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_ALT_FEATURE_1]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		    chip->image[CS4231_ALT_FEATURE_1]);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_ALT_FEATURE_2]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_PLAYBK_FORMAT]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	snd_cs4231_out(chip, CS4231_REC_FORMAT, chip->image[CS4231_REC_FORMAT]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_lock(&chip->open_mutex);
+sound/sparc/cs4231.c:	if ((chip->mode & mode)) {
+sound/sparc/cs4231.c:		mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	if (chip->mode & CS4231_MODE_OPEN) {
+sound/sparc/cs4231.c:		chip->mode |= mode;
+sound/sparc/cs4231.c:		mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mode = mode;
+sound/sparc/cs4231.c:	mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	mutex_lock(&chip->open_mutex);
+sound/sparc/cs4231.c:	chip->mode &= ~mode;
+sound/sparc/cs4231.c:	if (chip->mode & CS4231_MODE_OPEN) {
+sound/sparc/cs4231.c:		mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (chip->image[CS4231_IFACE_CTRL] &
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		chip->image[CS4231_IFACE_CTRL] &=
+sound/sparc/cs4231.c:				chip->image[CS4231_IFACE_CTRL]);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mode = 0;
+sound/sparc/cs4231.c:	mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE |
+sound/sparc/cs4231.c:	chip->p_periods_sent = 0;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_RECORD_ENABLE |
+sound/sparc/cs4231.c:	chip->c_periods_sent = 0;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		chip->capture_substream->runtime->overrange++;
+sound/sparc/cs4231.c:	if (chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE) {
+sound/sparc/cs4231.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/sparc/cs4231.c:		snd_cs4231_advance_dma(&chip->p_dma, chip->playback_substream,
+sound/sparc/cs4231.c:					    &chip->p_periods_sent);
+sound/sparc/cs4231.c:	if (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE) {
+sound/sparc/cs4231.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/sparc/cs4231.c:		snd_cs4231_advance_dma(&chip->c_dma, chip->capture_substream,
+sound/sparc/cs4231.c:					    &chip->c_periods_sent);
+sound/sparc/cs4231.c:	struct cs4231_dma_control *dma_cont = &chip->p_dma;
+sound/sparc/cs4231.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE))
+sound/sparc/cs4231.c:	struct cs4231_dma_control *dma_cont = &chip->c_dma;
+sound/sparc/cs4231.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE))
+sound/sparc/cs4231.c:			spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	snd_printdd("cs4231: port = %p, id = 0x%x\n", chip->port, id);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_MISC_INFO] = CS4231_MODE2;
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] =
+sound/sparc/cs4231.c:		chip->image[CS4231_IFACE_CTRL] & ~CS4231_SINGLE_DMA;
+sound/sparc/cs4231.c:	chip->image[CS4231_ALT_FEATURE_1] = 0x80;
+sound/sparc/cs4231.c:	chip->image[CS4231_ALT_FEATURE_2] = 0x01;
+sound/sparc/cs4231.c:		chip->image[CS4231_ALT_FEATURE_2] |= 0x02;
+sound/sparc/cs4231.c:	ptr = (unsigned char *) &chip->image;
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->playback_substream = substream;
+sound/sparc/cs4231.c:	chip->p_periods_sent = 0;
+sound/sparc/cs4231.c:	chip->capture_substream = substream;
+sound/sparc/cs4231.c:	chip->c_periods_sent = 0;
+sound/sparc/cs4231.c:	chip->playback_substream = NULL;
+sound/sparc/cs4231.c:	chip->capture_substream = NULL;
+sound/sparc/cs4231.c:					      &chip->op->dev,
+sound/sparc/cs4231.c:	chip->pcm = pcm;
+sound/sparc/cs4231.c:	chip->timer = timer;
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		(chip->image[CS4231_LEFT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/sparc/cs4231.c:		(chip->image[CS4231_RIGHT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	left = (chip->image[CS4231_LEFT_INPUT] & ~CS4231_MIXS_ALL) | left;
+sound/sparc/cs4231.c:	right = (chip->image[CS4231_RIGHT_INPUT] & ~CS4231_MIXS_ALL) | right;
+sound/sparc/cs4231.c:	change = left != chip->image[CS4231_LEFT_INPUT] ||
+sound/sparc/cs4231.c:		 right != chip->image[CS4231_RIGHT_INPUT];
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	ucontrol->value.integer.value[0] = (chip->image[reg] >> shift) & mask;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	val = (chip->image[reg] & ~(mask << shift)) | val;
+sound/sparc/cs4231.c:	change = val != chip->image[reg];
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		(chip->image[left_reg] >> shift_left) & mask;
+sound/sparc/cs4231.c:		(chip->image[right_reg] >> shift_right) & mask;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	val1 = (chip->image[left_reg] & ~(mask << shift_left)) | val1;
+sound/sparc/cs4231.c:	val2 = (chip->image[right_reg] & ~(mask << shift_right)) | val2;
+sound/sparc/cs4231.c:	change = val1 != chip->image[left_reg];
+sound/sparc/cs4231.c:	change |= val2 != chip->image[right_reg];
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (snd_BUG_ON(!chip || !chip->pcm))
+sound/sparc/cs4231.c:	strcpy(card->mixername, chip->pcm->name);
+sound/sparc/cs4231.c:	chip->card = card;
+sound/sparc/cs4231.c:	dev_set_drvdata(&chip->op->dev, chip);
+sound/sparc/cs4231.c:	csr = sbus_readl(chip->port + APCCSR);
+sound/sparc/cs4231.c:	sbus_writel(csr, chip->port + APCCSR);
+sound/sparc/cs4231.c:		if (chip->timer)
+sound/sparc/cs4231.c:			snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	struct platform_device *op = chip->op;
+sound/sparc/cs4231.c:	if (chip->irq[0])
+sound/sparc/cs4231.c:		free_irq(chip->irq[0], chip);
+sound/sparc/cs4231.c:	if (chip->port)
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[0], chip->port, chip->regs_size);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->c_dma.sbus_info.lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->p_dma.sbus_info.lock);
+sound/sparc/cs4231.c:	mutex_init(&chip->mce_mutex);
+sound/sparc/cs4231.c:	mutex_init(&chip->open_mutex);
+sound/sparc/cs4231.c:	chip->op = op;
+sound/sparc/cs4231.c:	chip->regs_size = resource_size(&op->resource[0]);
+sound/sparc/cs4231.c:	memcpy(&chip->image, &snd_cs4231_original_image,
+sound/sparc/cs4231.c:	chip->port = of_ioremap(&op->resource[0], 0,
+sound/sparc/cs4231.c:				chip->regs_size, "cs4231");
+sound/sparc/cs4231.c:	if (!chip->port) {
+sound/sparc/cs4231.c:	chip->c_dma.sbus_info.regs = chip->port;
+sound/sparc/cs4231.c:	chip->p_dma.sbus_info.regs = chip->port;
+sound/sparc/cs4231.c:	chip->c_dma.sbus_info.dir = APC_RECORD;
+sound/sparc/cs4231.c:	chip->p_dma.sbus_info.dir = APC_PLAY;
+sound/sparc/cs4231.c:	chip->p_dma.prepare = sbus_dma_prepare;
+sound/sparc/cs4231.c:	chip->p_dma.enable = sbus_dma_enable;
+sound/sparc/cs4231.c:	chip->p_dma.request = sbus_dma_request;
+sound/sparc/cs4231.c:	chip->p_dma.address = sbus_dma_addr;
+sound/sparc/cs4231.c:	chip->c_dma.prepare = sbus_dma_prepare;
+sound/sparc/cs4231.c:	chip->c_dma.enable = sbus_dma_enable;
+sound/sparc/cs4231.c:	chip->c_dma.request = sbus_dma_request;
+sound/sparc/cs4231.c:	chip->c_dma.address = sbus_dma_addr;
+sound/sparc/cs4231.c:	chip->irq[0] = op->archdata.irqs[0];
+sound/sparc/cs4231.c:	struct platform_device *op = chip->op;
+sound/sparc/cs4231.c:	if (chip->c_dma.ebus_info.regs) {
+sound/sparc/cs4231.c:		ebus_dma_unregister(&chip->c_dma.ebus_info);
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[2], chip->c_dma.ebus_info.regs, 0x10);
+sound/sparc/cs4231.c:	if (chip->p_dma.ebus_info.regs) {
+sound/sparc/cs4231.c:		ebus_dma_unregister(&chip->p_dma.ebus_info);
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[1], chip->p_dma.ebus_info.regs, 0x10);
+sound/sparc/cs4231.c:	if (chip->port)
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[0], chip->port, 0x10);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->c_dma.ebus_info.lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->p_dma.ebus_info.lock);
+sound/sparc/cs4231.c:	mutex_init(&chip->mce_mutex);
+sound/sparc/cs4231.c:	mutex_init(&chip->open_mutex);
+sound/sparc/cs4231.c:	chip->flags |= CS4231_FLAG_EBUS;
+sound/sparc/cs4231.c:	chip->op = op;
+sound/sparc/cs4231.c:	memcpy(&chip->image, &snd_cs4231_original_image,
+sound/sparc/cs4231.c:	strcpy(chip->c_dma.ebus_info.name, "cs4231(capture)");
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.flags = EBUS_DMA_FLAG_USE_EBDMA_HANDLER;
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.callback = snd_cs4231_ebus_capture_callback;
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.client_cookie = chip;
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.irq = op->archdata.irqs[0];
+sound/sparc/cs4231.c:	strcpy(chip->p_dma.ebus_info.name, "cs4231(play)");
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.flags = EBUS_DMA_FLAG_USE_EBDMA_HANDLER;
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.callback = snd_cs4231_ebus_play_callback;
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.client_cookie = chip;
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.irq = op->archdata.irqs[1];
+sound/sparc/cs4231.c:	chip->p_dma.prepare = _ebus_dma_prepare;
+sound/sparc/cs4231.c:	chip->p_dma.enable = _ebus_dma_enable;
+sound/sparc/cs4231.c:	chip->p_dma.request = _ebus_dma_request;
+sound/sparc/cs4231.c:	chip->p_dma.address = _ebus_dma_addr;
+sound/sparc/cs4231.c:	chip->c_dma.prepare = _ebus_dma_prepare;
+sound/sparc/cs4231.c:	chip->c_dma.enable = _ebus_dma_enable;
+sound/sparc/cs4231.c:	chip->c_dma.request = _ebus_dma_request;
+sound/sparc/cs4231.c:	chip->c_dma.address = _ebus_dma_addr;
+sound/sparc/cs4231.c:	chip->port = of_ioremap(&op->resource[0], 0, 0x10, "cs4231");
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.regs =
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.regs =
+sound/sparc/cs4231.c:	if (!chip->port || !chip->p_dma.ebus_info.regs ||
+sound/sparc/cs4231.c:	    !chip->c_dma.ebus_info.regs) {
+sound/sparc/cs4231.c:	if (ebus_dma_register(&chip->c_dma.ebus_info)) {
+sound/sparc/cs4231.c:	if (ebus_dma_irq_enable(&chip->c_dma.ebus_info, 1)) {
+sound/sparc/cs4231.c:	if (ebus_dma_register(&chip->p_dma.ebus_info)) {
+sound/sparc/cs4231.c:	if (ebus_dma_irq_enable(&chip->p_dma.ebus_info, 1)) {
+sound/sparc/cs4231.c:	snd_card_free(chip->card);
+sound/spi/at73c213.c:	chip->spi_wbuffer[0] = reg;
+sound/spi/at73c213.c:	chip->spi_wbuffer[1] = val;
+sound/spi/at73c213.c:	msg_xfer.tx_buf = chip->spi_wbuffer;
+sound/spi/at73c213.c:	msg_xfer.rx_buf = chip->spi_rbuffer;
+sound/spi/at73c213.c:	retval = spi_sync(chip->spi, &msg);
+sound/spi/at73c213.c:		chip->reg_image[reg] = val;
+sound/spi/at73c213.c:	.rate_min	= 8000,  /* Replaced by chip->bitrate later. */
+sound/spi/at73c213.c:	.rate_max	= 50000, /* Replaced by chip->bitrate later. */
+sound/spi/at73c213.c:	unsigned long ssc_rate = clk_get_rate(chip->ssc->clk);
+sound/spi/at73c213.c:		status = clk_round_rate(chip->board->dac_clk, dac_rate_new);
+sound/spi/at73c213.c:	status = clk_set_rate(chip->board->dac_clk, status);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CMR, ssc_div/2);
+sound/spi/at73c213.c:	chip->bitrate = ssc_rate / (ssc_div * 16 * 2);
+sound/spi/at73c213.c:	dev_info(&chip->spi->dev,
+sound/spi/at73c213.c:			chip->bitrate, ssc_div);
+sound/spi/at73c213.c:	snd_at73c213_playback_hw.rate_min = chip->bitrate;
+sound/spi/at73c213.c:	snd_at73c213_playback_hw.rate_max = chip->bitrate;
+sound/spi/at73c213.c:	chip->substream = substream;
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:	chip->substream = NULL;
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:	val = ssc_readl(chip->ssc->regs, TFMR);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, TFMR, val);
+sound/spi/at73c213.c:	chip->period = 0;
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TPR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TCR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TNPR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TNCR,
+sound/spi/at73c213.c:	spin_lock(&chip->lock);
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, IER, SSC_BIT(IER_ENDTX));
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_PTCR, SSC_BIT(PDC_PTCR_TXTEN));
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_PTCR, SSC_BIT(PDC_PTCR_TXTDIS));
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, IDR, SSC_BIT(IDR_ENDTX));
+sound/spi/at73c213.c:		dev_dbg(&chip->spi->dev, "spurious command %x\n", cmd);
+sound/spi/at73c213.c:	spin_unlock(&chip->lock);
+sound/spi/at73c213.c:	bytes = ssc_readl(chip->ssc->regs, PDC_TPR)
+sound/spi/at73c213.c:	retval = snd_pcm_new(chip->card, chip->card->shortname,
+sound/spi/at73c213.c:	chip->pcm = pcm;
+sound/spi/at73c213.c:	snd_pcm_lib_preallocate_pages_for_all(chip->pcm,
+sound/spi/at73c213.c:			SNDRV_DMA_TYPE_DEV, &chip->ssc->pdev->dev,
+sound/spi/at73c213.c:	struct snd_pcm_runtime *runtime = chip->substream->runtime;
+sound/spi/at73c213.c:	spin_lock(&chip->lock);
+sound/spi/at73c213.c:	status = ssc_readl(chip->ssc->regs, IMR);
+sound/spi/at73c213.c:		chip->period++;
+sound/spi/at73c213.c:		if (chip->period == runtime->periods)
+sound/spi/at73c213.c:			chip->period = 0;
+sound/spi/at73c213.c:		next_period = chip->period + 1;
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_TNPR,
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_TNCR,
+sound/spi/at73c213.c:	ssc_readl(chip->ssc->regs, IMR);
+sound/spi/at73c213.c:	spin_unlock(&chip->lock);
+sound/spi/at73c213.c:		snd_pcm_period_elapsed(chip->substream);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:		(chip->reg_image[reg] >> shift) & mask;
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:	val = (chip->reg_image[reg] & ~(mask << shift)) | val;
+sound/spi/at73c213.c:	change = val != chip->reg_image[reg];
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:		(chip->reg_image[left_reg] >> shift_left) & mask;
+sound/spi/at73c213.c:		(chip->reg_image[right_reg] >> shift_right) & mask;
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:	val1 = (chip->reg_image[left_reg] & ~(mask << shift_left)) | val1;
+sound/spi/at73c213.c:	val2 = (chip->reg_image[right_reg] & ~(mask << shift_right)) | val2;
+sound/spi/at73c213.c:	change = val1 != chip->reg_image[left_reg]
+sound/spi/at73c213.c:		|| val2 != chip->reg_image[right_reg];
+sound/spi/at73c213.c:		mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:		mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:		(chip->reg_image[reg] >> shift) & 0x01;
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:	val |= (chip->reg_image[reg] & ~(mask << shift));
+sound/spi/at73c213.c:	change = val != chip->reg_image[reg];
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	if (chip == NULL || chip->pcm == NULL)
+sound/spi/at73c213.c:	card = chip->card;
+sound/spi/at73c213.c:	strcpy(card->mixername, chip->pcm->name);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, TCMR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, TFMR,
+sound/spi/at73c213.c:	clk_enable(chip->board->dac_clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXEN));
+sound/spi/at73c213.c:	clk_disable(chip->board->dac_clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXDIS));
+sound/spi/at73c213.c:	if (chip->irq >= 0) {
+sound/spi/at73c213.c:		free_irq(chip->irq, chip);
+sound/spi/at73c213.c:		chip->irq = -1;
+sound/spi/at73c213.c:	irq = chip->ssc->irq;
+sound/spi/at73c213.c:	spin_lock_init(&chip->lock);
+sound/spi/at73c213.c:	mutex_init(&chip->mixer_lock);
+sound/spi/at73c213.c:	chip->card = card;
+sound/spi/at73c213.c:	chip->irq = -1;
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:		dev_dbg(&chip->spi->dev, "unable to request irq %d\n", irq);
+sound/spi/at73c213.c:	chip->irq = irq;
+sound/spi/at73c213.c:	memcpy(&chip->reg_image, &snd_at73c213_original_image,
+sound/spi/at73c213.c:	free_irq(chip->irq, chip);
+sound/spi/at73c213.c:	chip->irq = -1;
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:	chip->spi = spi;
+sound/spi/at73c213.c:	chip->board = board;
+sound/spi/at73c213.c:	chip->ssc = ssc_request(board->ssc_id);
+sound/spi/at73c213.c:	if (IS_ERR(chip->ssc)) {
+sound/spi/at73c213.c:		retval = PTR_ERR(chip->ssc);
+sound/spi/at73c213.c:	sprintf(card->longname, "%s on irq %d", card->shortname, chip->irq);
+sound/spi/at73c213.c:	ssc_free(chip->ssc);
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXDIS));
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:					chip->reg_image[PA_CTRL] | 0x0f);
+sound/spi/at73c213.c:	clk_disable(chip->board->dac_clk);
+sound/spi/at73c213.c:	ssc_free(chip->ssc);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXDIS));
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:	clk_disable(chip->board->dac_clk);
+sound/spi/at73c213.c:	clk_enable(chip->board->dac_clk);
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXEN));
+sound/usb/6fire/chip.c:		if (chip->pcm)
+sound/usb/6fire/chip.c:		if (chip->midi)
+sound/usb/6fire/chip.c:		if (chip->comm)
+sound/usb/6fire/chip.c:		if (chip->control)
+sound/usb/6fire/chip.c:		if (chip->card) {
+sound/usb/6fire/chip.c:			snd_card_disconnect(chip->card);
+sound/usb/6fire/chip.c:			snd_card_free_when_closed(chip->card);
+sound/usb/6fire/chip.c:			chip->card = NULL;
+sound/usb/6fire/chip.c:		if (chip->pcm)
+sound/usb/6fire/chip.c:		if (chip->midi)
+sound/usb/6fire/chip.c:		if (chip->comm)
+sound/usb/6fire/chip.c:		if (chip->control)
+sound/usb/6fire/chip.c:		if (chip->card)
+sound/usb/6fire/chip.c:			snd_card_free(chip->card);
+sound/usb/6fire/chip.c:	chip->dev = device;
+sound/usb/6fire/chip.c:	chip->regidx = regidx;
+sound/usb/6fire/chip.c:	chip->intf_count = 1;
+sound/usb/6fire/chip.c:	chip->card = card;
+sound/usb/6fire/chip.c:		chip->intf_count--;
+sound/usb/6fire/chip.c:		if (!chip->intf_count) {
+sound/usb/6fire/chip.c:			devices[chip->regidx] = NULL;
+sound/usb/6fire/chip.c:			chips[chip->regidx] = NULL;
+sound/usb/6fire/chip.c:			chip->shutdown = true;
+sound/usb/6fire/comm.c:	urb->pipe = usb_sndintpipe(rt->chip->dev, COMM_EP);
+sound/usb/6fire/comm.c:	urb->dev = rt->chip->dev;
+sound/usb/6fire/comm.c:	struct midi_runtime *midi_rt = rt->chip->midi;
+sound/usb/6fire/comm.c:	if (!rt->chip->shutdown) {
+sound/usb/6fire/comm.c:	ret = usb6fire_comm_send_buffer(buffer, rt->chip->dev);
+sound/usb/6fire/comm.c:	ret = usb6fire_comm_send_buffer(buffer, rt->chip->dev);
+sound/usb/6fire/comm.c:	urb->pipe = usb_rcvintpipe(chip->dev, COMM_EP);
+sound/usb/6fire/comm.c:	urb->dev = chip->dev;
+sound/usb/6fire/comm.c:		dev_err(&chip->dev->dev, "cannot create comm data receiver.");
+sound/usb/6fire/comm.c:	chip->comm = rt;
+sound/usb/6fire/comm.c:	struct comm_runtime *rt = chip->comm;
+sound/usb/6fire/comm.c:	struct comm_runtime *rt = chip->comm;
+sound/usb/6fire/comm.c:	chip->comm = NULL;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct usb_device *device = rt->chip->dev;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = chip->comm;
+sound/usb/6fire/control.c:	ret = usb6fire_control_add_virtual(rt, chip->card,
+sound/usb/6fire/control.c:		dev_err(&chip->dev->dev, "cannot add control.\n");
+sound/usb/6fire/control.c:	ret = usb6fire_control_add_virtual(rt, chip->card,
+sound/usb/6fire/control.c:		dev_err(&chip->dev->dev, "cannot add control.\n");
+sound/usb/6fire/control.c:		ret = snd_ctl_add(chip->card, snd_ctl_new1(&elements[i], rt));
+sound/usb/6fire/control.c:			dev_err(&chip->dev->dev, "cannot add control.\n");
+sound/usb/6fire/control.c:	chip->control = rt;
+sound/usb/6fire/control.c:	kfree(chip->control);
+sound/usb/6fire/control.c:	chip->control = NULL;
+sound/usb/6fire/midi.c:	struct comm_runtime *comm_rt = chip->comm;
+sound/usb/6fire/midi.c:	ret = snd_rawmidi_new(chip->card, "6FireUSB", 0, 1, 1, &rt->instance);
+sound/usb/6fire/midi.c:		dev_err(&chip->dev->dev, "unable to create midi.\n");
+sound/usb/6fire/midi.c:	chip->midi = rt;
+sound/usb/6fire/midi.c:	struct midi_runtime *rt = chip->midi;
+sound/usb/6fire/midi.c:	struct midi_runtime *rt = chip->midi;
+sound/usb/6fire/midi.c:	chip->midi = NULL;
+sound/usb/6fire/pcm.c:	struct control_runtime *ctrl_rt = rt->chip->control;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:	dev_err(&rt->chip->dev->dev, "error getting pcm substream slot.\n");
+sound/usb/6fire/pcm.c:	struct control_runtime *ctrl_rt = rt->chip->control;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev, "Unknown sample format.");
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = in_urb->chip->pcm;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = urb->chip->pcm;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev, "invalid stream type.\n");
+sound/usb/6fire/pcm.c:			dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:			dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:	urb->instance.dev = chip->dev;
+sound/usb/6fire/pcm.c:	urb->instance.pipe = in ? usb_rcvisocpipe(chip->dev, ep)
+sound/usb/6fire/pcm.c:			: usb_sndisocpipe(chip->dev, ep);
+sound/usb/6fire/pcm.c:	ret = snd_pcm_new(chip->card, "DMX6FireUSB", 0, 1, 1, &pcm);
+sound/usb/6fire/pcm.c:		dev_err(&chip->dev->dev, "cannot create pcm instance.\n");
+sound/usb/6fire/pcm.c:	chip->pcm = rt;
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/6fire/pcm.c:	chip->pcm = NULL;
+sound/usb/caiaq/control.c:	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
+sound/usb/caiaq/control.c:	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
+sound/usb/caiaq/control.c:	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
+sound/usb/card.c:	struct usb_device *dev = chip->dev;
+sound/usb/card.c:	if ((chip->usb_id == USB_ID(0x18d1, 0x2d04) ||
+sound/usb/card.c:	     chip->usb_id == USB_ID(0x18d1, 0x2d05)) &&
+sound/usb/card.c:		int err = __snd_usbmidi_create(chip->card, iface,
+sound/usb/card.c:					     &chip->midi_list, NULL,
+sound/usb/card.c:					     chip->usb_id);
+sound/usb/card.c:	struct usb_device *dev = chip->dev;
+sound/usb/card.c:			chip->badd_profile = badd;
+sound/usb/card.c:	list_for_each_entry_safe(ep, n, &chip->ep_list, list)
+sound/usb/card.c:	mutex_destroy(&chip->mutex);
+sound/usb/card.c:	if (!atomic_read(&chip->shutdown))
+sound/usb/card.c:		dev_set_drvdata(&chip->dev->dev, NULL);
+sound/usb/card.c:	struct snd_card *card = chip->card;
+sound/usb/card.c:			USB_ID_VENDOR(chip->usb_id),
+sound/usb/card.c:			USB_ID_PRODUCT(chip->usb_id));
+sound/usb/card.c:	struct snd_card *card = chip->card;
+sound/usb/card.c:	mutex_init(&chip->mutex);
+sound/usb/card.c:	init_waitqueue_head(&chip->shutdown_wait);
+sound/usb/card.c:	chip->index = idx;
+sound/usb/card.c:	chip->dev = dev;
+sound/usb/card.c:	chip->card = card;
+sound/usb/card.c:	chip->setup = device_setup[idx];
+sound/usb/card.c:	chip->autoclock = autoclock;
+sound/usb/card.c:	atomic_set(&chip->active, 1); /* avoid autopm during probing */
+sound/usb/card.c:	atomic_set(&chip->usage_count, 0);
+sound/usb/card.c:	atomic_set(&chip->shutdown, 0);
+sound/usb/card.c:	chip->usb_id = usb_id;
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->pcm_list);
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->ep_list);
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->midi_list);
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->mixer_list);
+sound/usb/card.c:		USB_ID_VENDOR(chip->usb_id), USB_ID_PRODUCT(chip->usb_id));
+sound/usb/card.c:			atomic_inc(&chip->active); /* avoid autopm */
+sound/usb/card.c:					chip->pm_intf = intf;
+sound/usb/card.c:	if (!chip->ctrl_intf)
+sound/usb/card.c:		chip->ctrl_intf = alts;
+sound/usb/card.c:	chip->txfr_quirk = 0;
+sound/usb/card.c:	err = snd_card_register(chip->card);
+sound/usb/card.c:	usb_chip[chip->index] = chip;
+sound/usb/card.c:	chip->num_interfaces++;
+sound/usb/card.c:	atomic_dec(&chip->active);
+sound/usb/card.c:		/* chip->active is inside the chip->card object,
+sound/usb/card.c:		atomic_dec(&chip->active);
+sound/usb/card.c:		if (!chip->num_interfaces)
+sound/usb/card.c:			snd_card_free(chip->card);
+sound/usb/card.c:	card = chip->card;
+sound/usb/card.c:	if (atomic_inc_return(&chip->shutdown) == 1) {
+sound/usb/card.c:		wait_event(chip->shutdown_wait,
+sound/usb/card.c:			   !atomic_read(&chip->usage_count));
+sound/usb/card.c:		list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/card.c:		list_for_each_entry(ep, &chip->ep_list, list) {
+sound/usb/card.c:		list_for_each(p, &chip->midi_list) {
+sound/usb/card.c:		list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/card.c:	chip->num_interfaces--;
+sound/usb/card.c:	if (chip->num_interfaces <= 0) {
+sound/usb/card.c:		usb_chip[chip->index] = NULL;
+sound/usb/card.c:	atomic_inc(&chip->usage_count);
+sound/usb/card.c:	if (atomic_read(&chip->shutdown)) {
+sound/usb/card.c:	if (atomic_dec_and_test(&chip->usage_count))
+sound/usb/card.c:		wake_up(&chip->shutdown_wait);
+sound/usb/card.c:	if (atomic_dec_and_test(&chip->usage_count))
+sound/usb/card.c:		wake_up(&chip->shutdown_wait);
+sound/usb/card.c:	if (atomic_read(&chip->shutdown))
+sound/usb/card.c:	if (atomic_inc_return(&chip->active) == 1)
+sound/usb/card.c:		return usb_autopm_get_interface(chip->pm_intf);
+sound/usb/card.c:	if (atomic_read(&chip->shutdown))
+sound/usb/card.c:	if (atomic_dec_and_test(&chip->active))
+sound/usb/card.c:		usb_autopm_put_interface(chip->pm_intf);
+sound/usb/card.c:	chip->autosuspended = !!PMSG_IS_AUTO(message);
+sound/usb/card.c:	if (!chip->autosuspended)
+sound/usb/card.c:		snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/usb/card.c:	if (!chip->num_suspended_intf++) {
+sound/usb/card.c:		list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/card.c:		list_for_each(p, &chip->midi_list)
+sound/usb/card.c:		list_for_each_entry(mixer, &chip->mixer_list, list)
+sound/usb/card.c:	if (--chip->num_suspended_intf)
+sound/usb/card.c:	atomic_inc(&chip->active); /* avoid autopm */
+sound/usb/card.c:	list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/card.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/card.c:	list_for_each(p, &chip->midi_list) {
+sound/usb/card.c:	if (!chip->autosuspended)
+sound/usb/card.c:		snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/usb/card.c:	chip->autosuspended = 0;
+sound/usb/card.c:	atomic_dec(&chip->active); /* allow autopm after this point */
+sound/usb/clock.c:	ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/clock.c:	ret = snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0),
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:			snd_usb_find_clock_source_v3(chip->ctrl_intf, source_id);
+sound/usb/clock.c:			snd_usb_find_clock_source(chip->ctrl_intf, source_id);
+sound/usb/clock.c:	source = snd_usb_find_clock_source(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:	selector = snd_usb_find_clock_selector(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:		if (!validate || ret > 0 || !chip->autoclock)
+sound/usb/clock.c:	multiplier = snd_usb_find_clock_multiplier(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:	source = snd_usb_find_clock_source_v3(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:	selector = snd_usb_find_clock_selector_v3(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:		if (!validate || ret > 0 || !chip->autoclock)
+sound/usb/clock.c:	multiplier = snd_usb_find_clock_multiplier_v3(chip->ctrl_intf,
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:	if (chip->sample_rate_read_error > 2)
+sound/usb/clock.c:		chip->sample_rate_read_error++;
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:		cs_desc = snd_usb_find_clock_source_v3(chip->ctrl_intf, clock);
+sound/usb/clock.c:		cs_desc = snd_usb_find_clock_source(chip->ctrl_intf, clock);
+sound/usb/clock.c:		if (chip->badd_profile >= UAC3_FUNCTION_SUBCLASS_GENERIC_IO) {
+sound/usb/endpoint.c:		usb_free_coherent(u->ep->chip->dev, u->buffer_size,
+sound/usb/endpoint.c:	if (ep->chip->tx_length_quirk)
+sound/usb/endpoint.c:	urb->dev = ep->chip->dev; /* we need to set this at each time */
+sound/usb/endpoint.c:		if (snd_usb_get_speed(ep->chip->dev) >= USB_SPEED_HIGH) {
+sound/usb/endpoint.c:	urb->dev = ep->chip->dev; /* we need to set this at each time */
+sound/usb/endpoint.c:	if (unlikely(atomic_read(&ep->chip->shutdown)))
+sound/usb/endpoint.c: * New endpoints will be added to chip->ep_list and must be freed by
+sound/usb/endpoint.c:	mutex_lock(&chip->mutex);
+sound/usb/endpoint.c:	list_for_each_entry(ep, &chip->ep_list, list) {
+sound/usb/endpoint.c:		ep->pipe = usb_sndisocpipe(chip->dev, ep_num);
+sound/usb/endpoint.c:		ep->pipe = usb_rcvisocpipe(chip->dev, ep_num);
+sound/usb/endpoint.c:		else if (snd_usb_get_speed(chip->dev) == USB_SPEED_FULL)
+sound/usb/endpoint.c:	list_add_tail(&ep->list, &chip->ep_list);
+sound/usb/endpoint.c:	mutex_unlock(&chip->mutex);
+sound/usb/endpoint.c:	if (!force && atomic_read(&ep->chip->shutdown)) /* to be sure... */
+sound/usb/endpoint.c:		usb_free_coherent(ep->chip->dev, SYNC_URBS * 4,
+sound/usb/endpoint.c:	int tx_length_quirk = (ep->chip->tx_length_quirk &&
+sound/usb/endpoint.c:	if (snd_usb_get_speed(ep->chip->dev) != USB_SPEED_FULL) {
+sound/usb/endpoint.c:		if (snd_usb_get_speed(ep->chip->dev) == USB_SPEED_WIRELESS) {
+sound/usb/endpoint.c:			usb_alloc_coherent(ep->chip->dev, u->buffer_size,
+sound/usb/endpoint.c:	ep->syncbuf = usb_alloc_coherent(ep->chip->dev, SYNC_URBS * 4,
+sound/usb/endpoint.c:	if (snd_usb_get_speed(ep->chip->dev) == USB_SPEED_FULL)
+sound/usb/endpoint.c:	if (atomic_read(&ep->chip->shutdown))
+sound/usb/format.c:		if (((chip->usb_id == USB_ID(0x0582, 0x0016)) ||
+sound/usb/format.c:		     (chip->usb_id == USB_ID(0x0582, 0x000c))) &&
+sound/usb/format.c:		if (chip->usb_id == USB_ID(0x04fa, 0x4201))
+sound/usb/format.c:			    (chip->usb_id == USB_ID(0x0d8c, 0x0201) ||
+sound/usb/format.c:			     chip->usb_id == USB_ID(0x0d8c, 0x0102) ||
+sound/usb/format.c:			     chip->usb_id == USB_ID(0x0ccd, 0x00b1)) &&
+sound/usb/format.c:			    (chip->usb_id == USB_ID(0x041e, 0x4064) ||
+sound/usb/format.c:			     chip->usb_id == USB_ID(0x041e, 0x4068)))
+sound/usb/format.c:	switch (chip->usb_id) {
+sound/usb/format.c:	struct usb_device *dev = chip->dev;
+sound/usb/format.c:		switch (chip->usb_id) {
+sound/usb/format.c:			if (chip->setup == 0x00 && 
+sound/usb/format.c:	if (chip->usb_id == USB_ID(0x041e, 0x3000) ||
+sound/usb/format.c:	    chip->usb_id == USB_ID(0x041e, 0x3020) ||
+sound/usb/format.c:	    chip->usb_id == USB_ID(0x041e, 0x3061)) {
+sound/usb/helper.c:	switch (snd_usb_get_speed(chip->dev)) {
+sound/usb/helper.h:	return get_iface_desc(chip->ctrl_intf)->bInterfaceNumber;
+sound/usb/hiface/chip.c:	chip->dev = device;
+sound/usb/hiface/chip.c:	chip->card = card;
+sound/usb/hiface/chip.c:	ret = snd_card_register(chip->card);
+sound/usb/hiface/chip.c:	snd_card_free(chip->card);
+sound/usb/hiface/chip.c:	card = chip->card;
+sound/usb/hiface/pcm.c:	struct usb_device *device = rt->chip->dev;
+sound/usb/hiface/pcm.c:	struct device *device = &rt->chip->dev->dev;
+sound/usb/hiface/pcm.c:			struct device *device = &rt->chip->dev->dev;
+sound/usb/hiface/pcm.c:	struct device *device = &urb->chip->dev->dev;
+sound/usb/hiface/pcm.c:	struct pcm_runtime *rt = out_urb->chip->pcm;
+sound/usb/hiface/pcm.c:		struct device *device = &rt->chip->dev->dev;
+sound/usb/hiface/pcm.c:	usb_fill_bulk_urb(&urb->instance, chip->dev,
+sound/usb/hiface/pcm.c:			  usb_sndbulkpipe(chip->dev, ep), (void *)urb->buffer,
+sound/usb/hiface/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/hiface/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/hiface/pcm.c:	kfree(chip->pcm);
+sound/usb/hiface/pcm.c:	chip->pcm = NULL;
+sound/usb/hiface/pcm.c:	ret = snd_pcm_new(chip->card, "USB-SPDIF Audio", 0, 1, 0, &pcm);
+sound/usb/hiface/pcm.c:		dev_err(&chip->dev->dev, "Cannot create pcm instance\n");
+sound/usb/hiface/pcm.c:	chip->pcm = rt;
+sound/usb/media.c:	mdev = subs->stream->chip->media_dev;
+sound/usb/media.c:	struct device *ctl_dev = &chip->card->ctl_dev;
+sound/usb/media.c:	struct media_device *mdev = chip->media_dev;
+sound/usb/media.c:	ctl_intf = chip->ctl_intf_media_devnode;
+sound/usb/media.c:		chip->ctl_intf_media_devnode = ctl_intf;
+sound/usb/media.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/media.c:		mctl->media_entity.name = chip->card->mixername;
+sound/usb/media.c:	struct media_device *mdev = chip->media_dev;
+sound/usb/media.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/media.c:		media_devnode_remove(chip->ctl_intf_media_devnode);
+sound/usb/media.c:	chip->ctl_intf_media_devnode = NULL;
+sound/usb/media.c:	if (chip->media_dev) {
+sound/usb/media.c:		mdev = chip->media_dev;
+sound/usb/media.c:	chip->media_dev = mdev;
+sound/usb/media.c:			chip->media_dev = NULL;
+sound/usb/media.c:	struct media_device *mdev = chip->media_dev;
+sound/usb/media.c:	list_for_each_entry(stream, &chip->pcm_list, list) {
+sound/usb/media.c:		chip->media_dev = NULL;
+sound/usb/mixer.c:	int len = usb_string(chip->dev, index, buf, maxlen - 1);
+sound/usb/mixer.c:		err = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), request,
+sound/usb/mixer.c:	ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), bRequest,
+sound/usb/mixer.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer.c:				      usb_sndctrlpipe(chip->dev, 0), request,
+sound/usb/mixer.c:	while (snd_ctl_find_id(mixer->chip->card, &kctl->id))
+sound/usb/mixer.c:	err = snd_ctl_add(mixer->chip->card, kctl);
+sound/usb/mixer.c:	err = snd_usb_ctl_msg(state->chip->dev,
+sound/usb/mixer.c:			usb_rcvctrlpipe(state->chip->dev, 0),
+sound/usb/mixer.c:	switch (chip->usb_id) {
+sound/usb/mixer.c:				snd_ctl_notify(cval->head.mixer->chip->card,
+sound/usb/mixer.c:		ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), UAC2_CS_CUR,
+sound/usb/mixer.c:		ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), UAC2_CS_CUR,
+sound/usb/mixer.c:			check_no_speaker_on_headset(kctl, mixer->chip->card);
+sound/usb/mixer.c:	switch (state->chip->usb_id) {
+sound/usb/mixer.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer.c:	int badd_profile = mixer->chip->badd_profile;
+sound/usb/mixer.c:		if (map->id == state.chip->usb_id) {
+sound/usb/mixer.c:		snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/mixer.c:				chip->usb_id, snd_usb_ctrl_intf(chip),
+sound/usb/mixer.c:		snd_iprintf(buffer, "Card: %s\n", chip->card->longname);
+sound/usb/mixer.c:			snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer.c:		urb->dev = mixer->chip->dev;
+sound/usb/mixer.c:	usb_fill_int_urb(mixer->urb, mixer->chip->dev,
+sound/usb/mixer.c:			 usb_rcvintpipe(mixer->chip->dev, epnum),
+sound/usb/mixer.c:	ucontrol->value.integer.value[0] = mixer->chip->keep_iface;
+sound/usb/mixer.c:	if (mixer->chip->keep_iface == keep_iface)
+sound/usb/mixer.c:	mixer->chip->keep_iface = keep_iface;
+sound/usb/mixer.c:	if (snd_ctl_find_id(mixer->chip->card, &kctl->id)) {
+sound/usb/mixer.c:	return snd_ctl_add(mixer->chip->card, kctl);
+sound/usb/mixer.c:	strcpy(chip->card->mixername, "USB Mixer");
+sound/usb/mixer.c:	mixer->hostif = &usb_ifnum_to_if(chip->dev, ctrlif)->altsetting[0];
+sound/usb/mixer.c:			chip->badd_profile >= UAC3_FUNCTION_SUBCLASS_GENERIC_IO) {
+sound/usb/mixer.c:	err = snd_device_new(chip->card, SNDRV_DEV_CODEC, mixer, &dev_ops);
+sound/usb/mixer.c:	if (list_empty(&chip->mixer_list))
+sound/usb/mixer.c:		snd_card_ro_proc_new(chip->card, "usbmixer", chip,
+sound/usb/mixer.c:	list_add(&mixer->list, &chip->mixer_list);
+sound/usb/mixer_quirks.c:		if (rc_configs[i].usb_id == mixer->chip->usb_id)
+sound/usb/mixer_quirks.c:	err = snd_hwdep_new(mixer->chip->card, "SB remote control", 0, &hwdep);
+sound/usb/mixer_quirks.c:		 "%s remote control", mixer->chip->card->shortname);
+sound/usb/mixer_quirks.c:	usb_fill_control_urb(mixer->rc_urb, mixer->chip->dev,
+sound/usb/mixer_quirks.c:			     usb_rcvctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_quirks.c:	if (chip->usb_id == USB_ID(0x041e, 0x3042))
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x24,
+sound/usb/mixer_quirks.c:	if (chip->usb_id == USB_ID(0x041e, 0x30df))
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x24,
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x24,
+sound/usb/mixer_quirks.c:		if ((mixer->chip->usb_id == USB_ID(0x041e, 0x3042)) && i == 0)
+sound/usb/mixer_quirks.c:		if ((mixer->chip->usb_id == USB_ID(0x041e, 0x30df)) && i == 0)
+sound/usb/mixer_quirks.c:			(mixer->chip->usb_id == USB_ID(0x041e, 0x3040) ||
+sound/usb/mixer_quirks.c:			 mixer->chip->usb_id == USB_ID(0x041e, 0x3042) ||
+sound/usb/mixer_quirks.c:			 mixer->chip->usb_id == USB_ID(0x041e, 0x30df) ||
+sound/usb/mixer_quirks.c:			 mixer->chip->usb_id == USB_ID(0x041e, 0x3048)))
+sound/usb/mixer_quirks.c:	snd_iprintf(buffer, "%s jacks\n\n", mixer->chip->card->shortname);
+sound/usb/mixer_quirks.c:	if (mixer->chip->usb_id == USB_ID(0x041e, 0x3020))
+sound/usb/mixer_quirks.c:	else if (mixer->chip->usb_id == USB_ID(0x041e, 0x3040) ||
+sound/usb/mixer_quirks.c:		 mixer->chip->usb_id == USB_ID(0x041e, 0x3048))
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_quirks.c:				      usb_rcvctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:		      usb_sndctrlpipe(chip->dev, 0), UAC_SET_CUR,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x08,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_sndctrlpipe(chip->dev, 0), 0x1,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer_quirks.c:	err = usb_control_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:	iface = usb_ifnum_to_if(chip->dev, 1);
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0), HID_REQ_SET_REPORT,
+sound/usb/mixer_quirks.c:	snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0), UAC_SET_CUR,
+sound/usb/mixer_quirks.c:	struct usb_device *dev = chip->dev;
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:		snd_card_ro_proc_new(mixer->chip->card, "audigy2nx",
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:		mixer->rc_urb->dev = mixer->chip->dev;
+sound/usb/mixer_quirks.c:		if (mixer->chip->usb_id == USB_ID(0x041e, 0x3040) ||
+sound/usb/mixer_quirks.c:		    mixer->chip->usb_id == USB_ID(0x041e, 0x3048))
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_scarlett.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_scarlett.c:				usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/mixer_scarlett.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_scarlett.c:	err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_scarlett.c:		usb_sndctrlpipe(mixer->chip->dev, 0), UAC2_CS_CUR,
+sound/usb/mixer_scarlett_gen2.c:	err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_scarlett_gen2.c:			usb_sndctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_scarlett_gen2.c:	err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_scarlett_gen2.c:			usb_sndctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_scarlett_gen2.c:	snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_INFO,
+sound/usb/mixer_scarlett_gen2.c:	snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer_scarlett_gen2.c:		snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer_scarlett_gen2.c:		snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer_scarlett_gen2.c:		urb->dev = mixer->chip->dev;
+sound/usb/mixer_scarlett_gen2.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer_scarlett_gen2.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_scarlett_gen2.c:	if (!(mixer->chip->setup & SCARLETT2_ENABLE)) {
+sound/usb/mixer_us16x08.c:	mutex_lock(&chip->mutex);
+sound/usb/mixer_us16x08.c:	snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_us16x08.c:		usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/mixer_us16x08.c:	mutex_unlock(&chip->mutex);
+sound/usb/mixer_us16x08.c:	return snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0),
+sound/usb/pcm.c:	if (atomic_read(&subs->stream->chip->shutdown))
+sound/usb/pcm.c:	struct usb_device *dev = chip->dev;
+sound/usb/pcm.c:	struct usb_device *dev = chip->dev;
+sound/usb/pcm.c:	switch (subs->stream->chip->usb_id) {
+sound/usb/pcm.c:	    USB_ID_VENDOR(subs->stream->chip->usb_id) == 0x0582 /* Roland */ &&
+sound/usb/pcm.c:		if (!subs->stream->chip->keep_iface) {
+sound/usb/pcm.c:	if (!as->chip->keep_iface &&
+sound/usb/power.c:	struct usb_device *dev = chip->dev;
+sound/usb/power.c:	err = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/power.c:	err = snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0), UAC2_CS_CUR,
+sound/usb/proc.c:	if (!atomic_read(&chip->shutdown))
+sound/usb/proc.c:		snd_iprintf(buffer, "%03d/%03d\n", chip->dev->bus->busnum, chip->dev->devnum);
+sound/usb/proc.c:	if (!atomic_read(&chip->shutdown))
+sound/usb/proc.c:			    USB_ID_VENDOR(chip->usb_id),
+sound/usb/proc.c:			    USB_ID_PRODUCT(chip->usb_id));
+sound/usb/proc.c:	snd_card_ro_proc_new(chip->card, "usbbus", chip,
+sound/usb/proc.c:	snd_card_ro_proc_new(chip->card, "usbid", chip,
+sound/usb/proc.c:	snd_iprintf(buffer, "%s : %s\n", stream->chip->card->longname, stream->pcm->name);
+sound/usb/proc.c:	struct snd_card *card = stream->chip->card;
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, quirk->ifnum);
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, quirk->ifnum);
+sound/usb/quirks.c:	chip->txfr_quirk = 1;
+sound/usb/quirks.c:	return snd_usbmidi_create(chip->card, intf, &chip->midi_list, quirk);
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x1686, 0x00dd)) /* Zoom R16/24 */
+sound/usb/quirks.c:		chip->tx_length_quirk = 1;
+sound/usb/quirks.c:	usb_set_interface(chip->dev, altsd->bInterfaceNumber, 0);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, fp->iface, 0);
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	ifcount = chip->dev->actconfig->desc.bNumInterfaces;
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, ifnum);
+sound/usb/quirks.c:			chip->usb_id == USB_ID(0x0582, 0x002b)
+sound/usb/quirks.c:		return __snd_usbmidi_create(chip->card, iface,
+sound/usb/quirks.c:					  &chip->midi_list, quirk,
+sound/usb/quirks.c:					  chip->usb_id);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, fp->iface, 0);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, iface, 0);
+sound/usb/quirks.c:	if (chip->setup & MAUDIO_SET) {
+sound/usb/quirks.c:		if (chip->setup & MAUDIO_SET_COMPATIBLE) {
+sound/usb/quirks.c:			if ((chip->setup & MAUDIO_SET_96K) && altno != 1)
+sound/usb/quirks.c:			mask = chip->setup & MAUDIO_SET_MASK;
+sound/usb/quirks.c:		    altno, iface, chip->setup);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, iface, 0);
+sound/usb/quirks.c:	if (chip->setup & MAUDIO_SET) {
+sound/usb/quirks.c:		if ((chip->setup & MAUDIO_SET_DTS) && altno != 6)
+sound/usb/quirks.c:		if ((chip->setup & MAUDIO_SET_96K) && altno != 1)
+sound/usb/quirks.c:		mask = chip->setup & MAUDIO_SET_MASK;
+sound/usb/quirks.c:	usb_set_interface(chip->dev, iface, 0);
+sound/usb/quirks.c:	if (chip->setup & (MAUDIO_SET | MAUDIO_SET_24B)) {
+sound/usb/quirks.c:		if (chip->setup & MAUDIO_SET_96K) {
+sound/usb/quirks.c:		} else if (chip->setup & MAUDIO_SET_DI) {
+sound/usb/quirks.c:		    altno, iface, chip->setup);
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x0763, 0x2003))
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x0763, 0x2001))
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x0763, 0x2012))
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/quirks.c:		if (chip->setup == 0x00 ||
+sound/usb/quirks.c:	switch (subs->stream->chip->usb_id) {
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	if (is_itf_usb_dsd_dac(subs->stream->chip->usb_id)) {
+sound/usb/quirks.c:	if (USB_ID_VENDOR(ep->chip->usb_id) == 0x23ba &&
+sound/usb/quirks.c:	if ((ep->chip->usb_id == USB_ID(0x0763, 0x2030) ||
+sound/usb/quirks.c:	     ep->chip->usb_id == USB_ID(0x0763, 0x2031)) &&
+sound/usb/quirks.c:	if ((ep->chip->usb_id == USB_ID(0x0644, 0x8038) ||  /* TEAC UD-H01 */
+sound/usb/quirks.c:	     ep->chip->usb_id == USB_ID(0x1852, 0x5034)) && /* T+A Dac8 */
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	if (USB_ID_VENDOR(chip->usb_id) == 0x23ba &&
+sound/usb/quirks.c:	if (USB_ID_VENDOR(chip->usb_id) == 0x0644 &&
+sound/usb/quirks.c:	if (is_itf_usb_dsd_dac(chip->usb_id)
+sound/usb/quirks.c:	if ((chip->usb_id == USB_ID(0x1686, 0x00dd) ||
+sound/usb/quirks.c:	     chip->usb_id == USB_ID(0x046d, 0x0a46) ||
+sound/usb/quirks.c:	     chip->usb_id == USB_ID(0x0b0e, 0x0349)) &&
+sound/usb/quirks.c:	if (USB_ID_VENDOR(chip->usb_id) == 0x23ba &&
+sound/usb/quirks.c:	    USB_ID_PRODUCT(chip->usb_id) < 0x0110) {
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/quirks.c:			switch (le16_to_cpu(chip->dev->descriptor.bcdDevice)) {
+sound/usb/quirks.c:	if (is_itf_usb_dsd_dac(chip->usb_id)) {
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, fp->iface);
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/stream.c:	subs->dev = as->chip->dev;
+sound/usb/stream.c:	subs->txfr_quirk = as->chip->txfr_quirk;
+sound/usb/stream.c:	subs->tx_length_quirk = as->chip->tx_length_quirk;
+sound/usb/stream.c:	list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/stream.c:	list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/stream.c:	as->pcm_index = chip->pcm_devs;
+sound/usb/stream.c:	err = snd_pcm_new(chip->card, "USB Audio", chip->pcm_devs,
+sound/usb/stream.c:	if (chip->pcm_devs > 0)
+sound/usb/stream.c:		sprintf(pcm->name, "USB Audio #%d", chip->pcm_devs);
+sound/usb/stream.c:	if (chip->usb_id == USB_ID(0x0763, 0x2003))
+sound/usb/stream.c:		list_add(&as->list, &chip->pcm_list);
+sound/usb/stream.c:		list_add_tail(&as->list, &chip->pcm_list);
+sound/usb/stream.c:	chip->pcm_devs++;
+sound/usb/stream.c:	if (snd_usb_get_speed(chip->dev) == USB_SPEED_HIGH)
+sound/usb/stream.c:	struct usb_device *dev = chip->dev;
+sound/usb/stream.c:		iterm = snd_usb_find_input_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:		input_term = snd_usb_find_input_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:		output_term = snd_usb_find_output_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:	struct usb_device *dev = chip->dev;
+sound/usb/stream.c:	badd_profile = chip->badd_profile;
+sound/usb/stream.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/stream.c:			usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/stream.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/stream.c:			usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/stream.c:	input_term = snd_usb_find_input_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:	output_term = snd_usb_find_output_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:		pd = snd_usb_find_power_domain(chip->ctrl_intf,
+sound/usb/stream.c:	dev = chip->dev;
+sound/usb/stream.c:	if (chip->usb_id == USB_ID(0x04fa, 0x4201))
+sound/usb/stream.c:		if (USB_ID_VENDOR(chip->usb_id) == 0x0582 &&
+sound/usb/stream.c:		usb_set_interface(chip->dev, iface_no, altno);
+tools/perf/tests/parse-events.c:	TEST_ASSERT_VAL("wrong complex name parsing", strcmp(evsel->name, "COMPLEX_CYCLES_NAME:orig=cycles,desc=chip-clock-ticks") == 0);
+tools/perf/tests/parse-events.c:		.name  = "cycles/name='COMPLEX_CYCLES_NAME:orig=cycles,desc=chip-clock-ticks'/Duk",
+tools/perf/tests/parse-events.c:		.name  = "cpu/name='COMPLEX_CYCLES_NAME:orig=cycles,desc=chip-clock-ticks',period=0x1,event=0x2/ukp",
diff --git a/databuf b/databuf
new file mode 100644
index 000000000000..778fac847dd4
--- /dev/null
+++ b/databuf
@@ -0,0 +1,29099 @@
+Documentation/ABI/testing/sysfs-firmware-opal-psr:		with chip-id X. This file gives the ratio (0-100)
+Documentation/PCI/pci.rst:Since each CPU architecture implements different chip-sets and PCI devices
+Documentation/PCI/pci.rst:or chip-sets may support Memory-Write-Invalidate.  Alternatively,
+Documentation/PCI/pci.rst:address by the arch/chip-set specific kernel support.
+Documentation/PCI/pci.rst:capability registers. Many architectures, chip-sets, or BIOSes do NOT
+Documentation/PCI/pci.rst:corruption, hangs, and on some chip-sets a hard crash.
+Documentation/core-api/genericirq.rst:and only need to add the chip-level specific code. The separation is
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_unmask(data);
+Documentation/core-api/genericirq.rst:            desc->irq_data.chip->irq_mask(data);
+Documentation/core-api/genericirq.rst:        chip->irq_ack(data);
+Documentation/core-api/genericirq.rst:        if (chip->irq_mask_ack) {
+Documentation/core-api/genericirq.rst:            chip->irq_mask_ack(data);
+Documentation/core-api/genericirq.rst:            chip->irq_mask(data);
+Documentation/core-api/genericirq.rst:            chip->irq_ack(data);
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_mask_ack();
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_unmask();
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_eoi();
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_mask_ack();
+Documentation/core-api/genericirq.rst:    desc->irq_data.chip->irq_ack();
+Documentation/core-api/genericirq.rst:            desc->irq_data.chip->irq_unmask();
+Documentation/core-api/genericirq.rst:    if (desc->irq_data.chip->irq_ack)
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_ack();
+Documentation/core-api/genericirq.rst:    if (desc->irq_data.chip->irq_eoi)
+Documentation/core-api/genericirq.rst:        desc->irq_data.chip->irq_eoi();
+Documentation/core-api/genericirq.rst:The chip-level hardware descriptor structure :c:type:`irq_chip` contains all
+Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.yaml:  amlogic,has-chip-id:
+Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.yaml:          amlogic,has-chip-id;
+Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-dcfg.txt:  - compatible: Should contain a chip-specific compatible string,
+Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt:  - compatible: Should contain a chip-specific compatible string,
+Documentation/devicetree/bindings/arm/sunxi.yaml:          - const: nextthing,chip-pro
+Documentation/devicetree/bindings/arm/syna.txt:chip: chip-control@ea0000 {
+Documentation/devicetree/bindings/bus/imx-weim.txt:			integer values for each chip-select line in use:
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:   for each chip-select line in use (only one entry is supported, see below
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:Note that the GMI controller does not have any internal chip-select address
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:decoding, because of that chip-selects either need to be managed via software
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:or by employing external chip-select decoding logic.
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:If external chip-select logic is used to support multiple devices it is assumed
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:child device is supported which represents the active chip-select line, see
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:The chip-select number is decoded from the child nodes second address cell of
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:'ranges' property, if 'ranges' property is not present or empty chip-select will
+Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt:chip-select (CS4), in this example external address decoding is provided:
+Documentation/devicetree/bindings/c6x/emifa.txt:- #address-cells: must be 2 (chip-select + offset)
+Documentation/devicetree/bindings/clock/qoriq-clock.txt:- compatible: Should contain a chip-specific clock block compatible
+Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt:			 rockchip-dfi.txt
+Documentation/devicetree/bindings/display/msm/gpu.txt:  with the chip-id.
+Documentation/devicetree/bindings/display/rockchip/rockchip-drm.txt:  Documentation/devicetree/bindings/display/rockchip/rockchip-vop.txt
+Documentation/devicetree/bindings/fpga/fpga-region.txt:			onchip-memory {
+Documentation/devicetree/bindings/fsi/fsi.txt:    chip-id = <0>;
+Documentation/devicetree/bindings/fsi/fsi.txt:	    chip-id = <0>;
+Documentation/devicetree/bindings/iio/potentiometer/max5481.txt:	reg = <0>; /* chip-select */
+Documentation/devicetree/bindings/interrupt-controller/arm,gic.yaml:          - const: arm,arm1176jzf-devchip-gic
+Documentation/devicetree/bindings/media/i2c/tda1997x.txt:pairs which map a chip-specific VP output register to a 4-bit pin group. If
+Documentation/devicetree/bindings/memory-controllers/arm,pl172.txt:Child chip-select (cs) nodes contain the memory devices nodes connected to
+Documentation/devicetree/bindings/memory-controllers/atmel,ebi.txt:- reg:			Contains the chip-select id, the offset and the length
+Documentation/devicetree/bindings/memory-controllers/fsl/ddr.txt:- compatible	: Should include "fsl,chip-memory-controller" where
+Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt:                        integer values for each chip-select line in use:
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt: - gpmc,num-cs:		The maximum number of chip-select lines that controller
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt:			integer values for each chip-select line in use:
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt: - gpmc,cycle2cycle-delay-ns:	Delay between chip-select pulses
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt:GPMC chip-select settings properties for child nodes. All are optional.
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt:			chip-select in bytes. The GPMC supports 8-bit
+Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt:Child chip-select (cs) nodes contain the memory devices nodes connected to
+Documentation/devicetree/bindings/memory-controllers/ti/emif.txt:  calibration resistor per chip-select.
+Documentation/devicetree/bindings/mfd/arizona.txt:  - compatible : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mfd/hi6421.txt:- compatible    : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mfd/madera.txt:  - compatible : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mfd/wm831x.txt:  - compatible : One of the following chip-specific strings:
+Documentation/devicetree/bindings/mips/mscc.txt:- compatible: Should be "mscc,ocelot-chip-regs", "simple-mfd", "syscon"
+Documentation/devicetree/bindings/mips/mscc.txt:		compatible = "mscc,ocelot-chip-regs", "simple-mfd", "syscon";
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:- #address-cells   : <1> - subnodes give the chip-select number
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:* NAND chip-select
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:to represent enabled chip-selects which (may) contain NAND flash chips. Their
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:- reg                       : a single integer representing the chip-select
+Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt:                              chip-select. See nand-controller.yaml
+Documentation/devicetree/bindings/mtd/diskonchip.txt: - compatible: should be "m-systems,diskonchip-g3"
+Documentation/devicetree/bindings/mtd/diskonchip.txt:		compatible = "m-systems,diskonchip-g3";
+Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt:- fsl,upm-wait-flags : add chip-dependent short delays after running the
+Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt:- chip-delay : chip dependent delay for transferring data from array to
+Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt:	chip-delay = <25>; // in micro-seconds
+Documentation/devicetree/bindings/mtd/gpio-control-nand.txt:- chip-delay : chip dependent delay for transferring data from array to
+Documentation/devicetree/bindings/mtd/gpmc-nor.txt:- reg:			Chip-select, base address (relative to chip-select)
+Documentation/devicetree/bindings/mtd/gpmc-nor.txt:			typically 0 as this is the start of the chip-select.
+Documentation/devicetree/bindings/mtd/marvell-nand.txt:- num-cs: Number of chip-select lines to use, all boards blindly set 1
+Documentation/devicetree/bindings/mtd/orion-nand.txt:- chip-delay : Chip dependent delay for transferring data from array to read
+Documentation/devicetree/bindings/mtd/orion-nand.txt:	chip-delay = <25>;
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:- #address-cells:	<1> - subnodes give the chip-select number
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:* NAND chip-select
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:chip-selects which (may) contain NAND flash chips. Their properties are as
+Documentation/devicetree/bindings/mtd/qcom_nandc.txt:- reg:			a single integer representing the chip-select
+Documentation/devicetree/bindings/mtd/spi-nand.txt:- reg: should encode the chip-select line used to access the NAND chip
+Documentation/devicetree/bindings/mux/mux-controller.txt:mux-ctrl-specifier typically encodes the chip-relative mux controller number.
+Documentation/devicetree/bindings/net/gpmc-eth.txt:- reg:			Chip-select, base address (relative to chip-select)
+Documentation/devicetree/bindings/net/gpmc-eth.txt:			is the start of the chip-select.
+Documentation/devicetree/bindings/net/microchip,lan78xx.txt:  are defined in "include/dt-bindings/net/microchip-lan78xx.h".
+Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt:- compatible: "rockchip,rockchip-efuse"
+Documentation/devicetree/bindings/pci/layerscape-pci.txt:which is used to describe the PLL settings at the time of chip-reset.
+Documentation/devicetree/bindings/pci/rockchip-pcie-ep.txt:  (see example below and you MUST also refer to ../phy/rockchip-pcie-phy.txt
+Documentation/devicetree/bindings/pci/rockchip-pcie-host.txt:  (see example below and you MUST also refer to ../phy/rockchip-pcie-phy.txt
+Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt:   - utmi-pads: The reset of the PHY containing the chip-wide UTMI pad control
+Documentation/devicetree/bindings/power/reset/ocelot-reset.txt: - compatible: "mscc,ocelot-chip-reset"
+Documentation/devicetree/bindings/power/reset/ocelot-reset.txt:		compatible = "mscc,ocelot-chip-reset";
+Documentation/devicetree/bindings/powerpc/4xx/reboot.txt:			reset-type = <2>;	/* Use chip-reset */
+Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt:The Interlaken is a narrow, high speed channelized chip-to-chip interface. To
+Documentation/devicetree/bindings/powerpc/opal/sensor-groups.txt:- ibm,chip-id : Chip ID
+Documentation/devicetree/bindings/pwm/pwm.txt:pwm-specifier typically encodes the chip-relative PWM number and the PWM
+Documentation/devicetree/bindings/soc/fsl/rcpm.txt:  - compatible : Must contain a chip-specific RCPM block compatible string
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:- compatible: "rockchip,rockchip-audio-max98090"
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:	compatible = "rockchip,rockchip-audio-max98090";
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:	compatible = "rockchip,rockchip-audio-max98090";
+Documentation/devicetree/bindings/sound/rockchip-max98090.txt:	compatible = "rockchip,rockchip-audio-max98090";
+Documentation/devicetree/bindings/sound/rockchip-rt5645.txt:- compatible: "rockchip,rockchip-audio-rt5645"
+Documentation/devicetree/bindings/sound/rockchip-rt5645.txt:	compatible = "rockchip,rockchip-audio-rt5645";
+Documentation/devicetree/bindings/spi/spi-orion.txt:	chip-select lines 0 through 7 respectively.
+Documentation/devicetree/bindings/spi/spi-orion.txt:and its chip-selects that are used in the direct mode instead of PIO
+Documentation/devicetree/bindings/usb/cdns-usb3.txt: - cdns,on-chip-buff-size : size of memory intended as internal memory for endpoints
+Documentation/devicetree/bindings/usb/rockchip,dwc3.txt:Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt - USB2.0 PHY
+Documentation/devicetree/bindings/usb/rockchip,dwc3.txt:Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt     - Type-C PHY
+Documentation/driver-api/edac.rst:*sockets, *socket sets*, *banks*, *rows*, *chip-select rows*, *channels*,
+Documentation/driver-api/edac.rst:accessed. Common chip-select rows for single channel are 64 bits, for
+Documentation/driver-api/edac.rst:A Single-ranked stick has 1 chip-select row of memory. Motherboards
+Documentation/driver-api/edac.rst:commonly drive two chip-select pins to a memory stick. A single-ranked
+Documentation/driver-api/edac.rst:A double-ranked stick has two chip-select rows which access different
+Documentation/driver-api/edac.rst:A double-sided stick has two chip-select rows which access different sets
+Documentation/driver-api/edac.rst:all of the memory sticks spanned by a chip-select row.  A single socket
+Documentation/driver-api/edac.rst:set has two chip-select rows and if double-sided sticks are used these
+Documentation/driver-api/edac.rst:will occupy those chip-select rows.
+Documentation/driver-api/edac.rst:between chip-select rows and socket sets.
+Documentation/driver-api/gpio/legacy.rst:this is highly chip-specific and nonportable.  One platform might not need
+Documentation/driver-api/pwm.rst:number of PWM devices provided by the chip and the chip-specific
+Documentation/hwmon/sysfs-interface.rst:completely chip-independent. It assumes that all the kernel drivers
+Documentation/hwmon/sysfs-interface.rst:For this reason, even if we aim at a chip-independent libsensors, it will
+Documentation/hwmon/sysfs-interface.rst:to cause an alarm) is chip-dependent.
+Documentation/hwmon/sysfs-interface.rst:		Number of trip points is chip-dependent. Use this for chips
+Documentation/hwmon/sysfs-interface.rst:		Number of trip points is chip-dependent. Use this for chips
+Documentation/hwmon/tmp103.rst:wafer chip-scale package (WCSP). The TMP103 is capable of reading
+Documentation/hwmon/tmp401.rst:* Minimum and Maximum temperature measured since power-on, chip-reset
+Documentation/hwmon/w83791d.rst:chip-specific options are documented here.
+Documentation/i2c/fault-codes.rst:	or SMBus (or chip-specific) protocol specifications.  One
+Documentation/media/uapi/v4l/user-func.rst:    vidioc-dbg-g-chip-info
+Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst:      - See :ref:`name-chip-match-types` for a list of possible types.
+Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst:.. _name-chip-match-types:
+Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst:      - See :ref:`chip-match-types` for a list of possible types.
+Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst:.. _chip-match-types:
+Documentation/networking/z8530drv.txt:	  specified within one chip-definition only.
+Documentation/sh/new-machine.txt:                    `-- cchip-specific files
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* definition of the chip-specific record */
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* chip-specific destructor
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* chip-specific constructor
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              /* allocate a chip-specific data with zero filled */
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->card = card;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      card->shortname, chip->port, chip->irq);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          card->shortname, chip->port, chip->irq);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:card->private_data for the chip-specific data. Note that these data are
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:example will show an implementation of chip-specific data.
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:pointer, or the irq number, is stored in the chip-specific record.
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->card = card;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:In this section, we'll complete the chip-specific constructor,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              if (chip->irq >= 0)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      free_irq(chip->irq, chip);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              pci_release_regions(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              pci_disable_device(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:      /* chip-specific constructor */
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->card = card;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->pci = pci;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->irq = -1;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->port = pci_resource_start(pci, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->irq = pci->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              card->sync_irq = chip->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->port = pci_resource_start(pci, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:The returned value, ``chip->res_port``, is allocated via
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->irq = pci->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:``chip->irq`` should be defined only when :c:func:`request_irq()`
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:passed to the interrupt handler. Usually, the chip-specific record is
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          card->irq = chip->irq;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  if (chip->irq >= 0)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          free_irq(chip->irq, chip);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:``chip->irq`` with a negative value (e.g. -1), so that you can check
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  pci_release_regions(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:chip->res_port, the release procedure looks like:
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  release_and_free_resource(chip->res_port);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:And finally, release the chip-specific record.
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:When the chip-data is assigned to the card using
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->iobase_phys = pci_resource_start(pci, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->iobase_virt = ioremap_nocache(chip->iobase_phys,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          if (chip->iobase_virt)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                  iounmap(chip->iobase_virt);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          pci_release_regions(chip->pci);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  chip->iobase_virt = pci_iomap(pci, 0, 0);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                   chip->buffer_size,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                   chip->period_size);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              err = snd_pcm_new(chip->card, "My Chip", 0, 1, 1, &pcm);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->pcm = pcm;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                             &chip->pci->dev,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          err = snd_pcm_new(chip->card, "My Chip", 0, 1, 1, &pcm);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          chip->pcm = pcm;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                 &chip->pci->dev,
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              kfree(chip->my_private_pcm_data);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              chip->my_private_pcm_data = kmalloc(...);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          if (chip->model == VERY_OLD_ONE)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      snd_pcm_period_elapsed(chip->substream);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      if (last_ptr < chip->last_ptr)
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                                       - chip->last_ptr;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              size = last_ptr - chip->last_ptr;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      chip->last_ptr = last_ptr;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      chip->size += size;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                      if (chip->size >= runtime->period_size) {
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              chip->size %= runtime->period_size;
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:                              spin_lock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              spin_unlock(&chip->lock);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              if (chip->current_value !=
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:              return snd_ac97_mixer(bus, &ac97, &chip->ac97);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  snd_ac97_mixer(bus, &ac97, &chip->ac97);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:where chip->ac97 is a pointer to a newly created ``ac97_t``
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:  err = snd_rawmidi_new(chip->card, "MyMIDI", 0, outs, ins, &rmidi);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          snd_iprintf(buffer, "Port = %ld\n", chip->port);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          snd_ac97_suspend(chip->ac97);
+Documentation/sound/kernel-api/writing-an-alsa-driver.rst:          snd_ac97_resume(chip->ac97);
+Documentation/spi/spi-summary.rst:is wired, plus chip-specific constraints like an important delay that's
+MAINTAINERS:F:	include/linux/platform_data/microchip-ksz.h
+MAINTAINERS:F:	Documentation/devicetree/bindings/pci/rockchip-pcie*
+MAINTAINERS:F:	Documentation/devicetree/bindings/media/rockchip-rga.txt
+MAINTAINERS:F:	Documentation/devicetree/bindings/media/rockchip-vpu.txt
+MAINTAINERS:F:	include/dt-bindings/net/microchip-lan78xx.h
+arch/alpha/kernel/core_polaris.c: * POLARIS chip-specific code
+arch/alpha/kernel/core_titan.c:	port = &pachip->g_port;
+arch/alpha/kernel/core_titan.c:		port = &pachip->a_port;
+arch/alpha/kernel/core_titan.c:	titan_pchip1_present = TITAN_cchip->csc.csr & 1L<<14;
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_CSC 0x%lx\n", __func__, TITAN_cchip->csc.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_MTR 0x%lx\n", __func__, TITAN_cchip->mtr.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_MISC 0x%lx\n", __func__, TITAN_cchip->misc.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIM0 0x%lx\n", __func__, TITAN_cchip->dim0.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIM1 0x%lx\n", __func__, TITAN_cchip->dim1.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIR0 0x%lx\n", __func__, TITAN_cchip->dir0.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DIR1 0x%lx\n", __func__, TITAN_cchip->dir1.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DRIR 0x%lx\n", __func__, TITAN_cchip->drir.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DSC 0x%lx\n", __func__, TITAN_dchip->dsc.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_STR 0x%lx\n", __func__, TITAN_dchip->str.csr);
+arch/alpha/kernel/core_titan.c:	printk("%s: CSR_DREV 0x%lx\n", __func__, TITAN_dchip->drev.csr);
+arch/alpha/kernel/core_tsunami.c:	csr = &pchip->tlbia.csr;
+arch/alpha/kernel/core_tsunami.c:		csr = &pchip->tlbiv.csr;
+arch/alpha/kernel/core_tsunami.c:	TSUNAMI_cchip->misc.csr |= (1L << 28); /* clear NXM... */
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->misc.csr & (1L << 28)) {
+arch/alpha/kernel/core_tsunami.c:		int source = (TSUNAMI_cchip->misc.csr >> 29) & 7;
+arch/alpha/kernel/core_tsunami.c:		TSUNAMI_cchip->misc.csr |= (1L << 28); /* ...and unlock NXS. */
+arch/alpha/kernel/core_tsunami.c:	if (tsunami_probe_read(&pchip->pctl.csr) == 0)
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[0] = pchip->wsba[0].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[0] = pchip->wsm[0].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[0] = pchip->tba[0].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[1] = pchip->wsba[1].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[1] = pchip->wsm[1].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[1] = pchip->tba[1].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[2] = pchip->wsba[2].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[2] = pchip->wsm[2].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[2] = pchip->tba[2].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsba[3] = pchip->wsba[3].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].wsm[3] = pchip->wsm[3].csr;
+arch/alpha/kernel/core_tsunami.c:	saved_config[index].tba[3] = pchip->tba[3].csr;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[0].csr = hose->sg_isa->dma_base | 3;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[0].csr  = (hose->sg_isa->size - 1) & 0xfff00000;
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[0].csr  = virt_to_phys(hose->sg_isa->ptes);
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[1].csr = hose->sg_pci->dma_base | 3;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[1].csr  = (hose->sg_pci->size - 1) & 0xfff00000;
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[1].csr  = virt_to_phys(hose->sg_pci->ptes);
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[2].csr = 0x80000000 | 1;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[2].csr  = (0x80000000 - 1) & 0xfff00000;
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[2].csr  = 0;
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[3].csr = 0;
+arch/alpha/kernel/core_tsunami.c:	pchip->pctl.csr |= pctl_m_mwin;
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_CSC 0x%lx\n", __func__, TSUNAMI_cchip->csc.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_MISC 0x%lx\n", __func__, TSUNAMI_cchip->misc.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIM0 0x%lx\n", __func__, TSUNAMI_cchip->dim0.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIM1 0x%lx\n", __func__, TSUNAMI_cchip->dim1.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIR0 0x%lx\n", __func__, TSUNAMI_cchip->dir0.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DIR1 0x%lx\n", __func__, TSUNAMI_cchip->dir1.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DRIR 0x%lx\n", __func__, TSUNAMI_cchip->drir.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DSC 0x%lx\n", __func__, TSUNAMI_dchip->dsc.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_STR 0x%lx\n", __func__, TSUNAMI_dchip->str.csr);
+arch/alpha/kernel/core_tsunami.c:	printk("%s: CSR_DREV 0x%lx\n", __func__, TSUNAMI_dchip->drev.csr);
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->csc.csr & 1L<<14)
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[0].csr = saved_config[index].wsba[0];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[0].csr = saved_config[index].wsm[0];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[0].csr = saved_config[index].tba[0];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[1].csr = saved_config[index].wsba[1];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[1].csr = saved_config[index].wsm[1];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[1].csr = saved_config[index].tba[1];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[2].csr = saved_config[index].wsba[2];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[2].csr = saved_config[index].wsm[2];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[2].csr = saved_config[index].tba[2];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsba[3].csr = saved_config[index].wsba[3];
+arch/alpha/kernel/core_tsunami.c:	pchip->wsm[3].csr = saved_config[index].wsm[3];
+arch/alpha/kernel/core_tsunami.c:	pchip->tba[3].csr = saved_config[index].tba[3];
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->csc.csr & 1L<<14)
+arch/alpha/kernel/core_tsunami.c:	pchip->perror.csr;
+arch/alpha/kernel/core_tsunami.c:	pchip->perror.csr = 0x040;
+arch/alpha/kernel/core_tsunami.c:	pchip->perror.csr;
+arch/alpha/kernel/core_tsunami.c:	if (TSUNAMI_cchip->csc.csr & 1L<<14)
+arch/alpha/kernel/irq.c:	if (!chip->irq_set_affinity || irq_user_affinity[irq])
+arch/alpha/kernel/irq.c:	chip->irq_set_affinity(data, cpumask_of(cpu), false);
+arch/alpha/kernel/sys_dp264.c:	dim0 = &cchip->dim0.csr;
+arch/alpha/kernel/sys_dp264.c:	dim1 = &cchip->dim1.csr;
+arch/alpha/kernel/sys_dp264.c:	dim2 = &cchip->dim2.csr;
+arch/alpha/kernel/sys_dp264.c:	dim3 = &cchip->dim3.csr;
+arch/alpha/kernel/sys_dp264.c:	if (bcpu == 0) dimB = &cchip->dim0.csr;
+arch/alpha/kernel/sys_dp264.c:	else if (bcpu == 1) dimB = &cchip->dim1.csr;
+arch/alpha/kernel/sys_dp264.c:	else if (bcpu == 2) dimB = &cchip->dim2.csr;
+arch/alpha/kernel/sys_dp264.c:	else dimB = &cchip->dim3.csr;
+arch/alpha/kernel/sys_dp264.c:	pld = TSUNAMI_cchip->dir0.csr;
+arch/alpha/kernel/sys_titan.c:	dim0 = &cchip->dim0.csr;
+arch/alpha/kernel/sys_titan.c:	dim1 = &cchip->dim1.csr;
+arch/alpha/kernel/sys_titan.c:	dim2 = &cchip->dim2.csr;
+arch/alpha/kernel/sys_titan.c:	dim3 = &cchip->dim3.csr;
+arch/alpha/kernel/sys_titan.c:	dimB = &cchip->dim0.csr;
+arch/alpha/kernel/sys_titan.c:	if (bcpu == 1) dimB = &cchip->dim1.csr;
+arch/alpha/kernel/sys_titan.c:	else if (bcpu == 2) dimB = &cchip->dim2.csr;
+arch/alpha/kernel/sys_titan.c:	else if (bcpu == 3) dimB = &cchip->dim3.csr;
+arch/arm/boot/dts/Makefile:	sun5i-gr8-chip-pro.dtb \
+arch/arm/boot/dts/arm-realview-pb1176.dts:			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
+arch/arm/boot/dts/arm-realview-pb1176.dts:			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
+arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts:		chip-id = <0>;
+arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts:		chip-id = <0>;
+arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts:		chip-id = <1>;
+arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi:#include <dt-bindings/net/microchip-lan78xx.h>
+arch/arm/boot/dts/berlin2.dtsi:		chip: chip-control@ea0000 {
+arch/arm/boot/dts/berlin2cd.dtsi:		chip: chip-control@ea0000 {
+arch/arm/boot/dts/berlin2q.dtsi:		chip: chip-control@ea0000 {
+arch/arm/boot/dts/da850.dtsi:		cfgchip: chip-controller@1417c {
+arch/arm/boot/dts/ibm-power9-dual.dtsi:		chip-id = <0>;
+arch/arm/boot/dts/ibm-power9-dual.dtsi:		chip-id = <1>;
+arch/arm/boot/dts/imx6q-kontron-samx6i.dtsi:/* Quad/Dual SoMs have 3 chip-select signals */
+arch/arm/boot/dts/kirkwood-db.dtsi:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-dnskw.dtsi:	chip-delay = <35>;
+arch/arm/boot/dts/kirkwood-goflexnet.dts:	chip-delay = <40>;
+arch/arm/boot/dts/kirkwood-km_common.dtsi:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-nas2big.dts:	chip-delay = <50>;
+arch/arm/boot/dts/kirkwood-nsa3x0-common.dtsi:	chip-delay = <35>;
+arch/arm/boot/dts/kirkwood-openblocks_a6.dts:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-openblocks_a7.dts:	chip-delay = <25>;
+arch/arm/boot/dts/kirkwood-pogo_e02.dts:	chip-delay = <40>;
+arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts:	chip-delay = <40>;
+arch/arm/boot/dts/kirkwood.dtsi:			chip-delay = <25>;
+arch/arm/boot/dts/kirkwood.dtsi:			/* set partition map and/or chip-delay in board dts */
+arch/arm/boot/dts/rk3036.dtsi:		compatible = "rockchip,rockchip-spi";
+arch/arm/boot/dts/rk3288-veyron-analog-audio.dtsi:		compatible = "rockchip,rockchip-audio-max98090";
+arch/arm/boot/dts/rk3288-veyron-mickey.dts:		compatible = "rockchip,rockchip-audio-max98090";
+arch/arm/boot/dts/sun5i-gr8-chip-pro.dts:	compatible = "nextthing,chip-pro", "nextthing,gr8";
+arch/arm/boot/dts/sun5i-gr8-chip-pro.dts:			label = "chip-pro:white:status";
+arch/arm/boot/dts/uniphier-ld4.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pro4.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pro4.dtsi:		/* chip-internal connection for HDMI */
+arch/arm/boot/dts/uniphier-pro5.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pro5.dtsi:		/* chip-internal connection for HDMI */
+arch/arm/boot/dts/uniphier-pxs2.dtsi:		/* chip-internal connection for DMD */
+arch/arm/boot/dts/uniphier-pxs2.dtsi:		/* chip-internal connection for STM */
+arch/arm/boot/dts/uniphier-pxs2.dtsi:		/* chip-internal connection for HDMI */
+arch/arm/boot/dts/uniphier-sld8.dtsi:		/* chip-internal connection for DMD */
+arch/arm/common/locomo.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/common/locomo.c:	req = locomo_readl(lchip->base + LOCOMO_ICR) & 0x0f00;
+arch/arm/common/locomo.c:		irq = lchip->irq_base;
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	r &= ~(0x0010 << (d->irq - lchip->irq_base));
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	r |= (0x0010 << (d->irq - lchip->irq_base));
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	int irq = lchip->irq_base;
+arch/arm/common/locomo.c:	irq_set_irq_type(lchip->irq, IRQ_TYPE_EDGE_FALLING);
+arch/arm/common/locomo.c:	irq_set_chained_handler_and_data(lchip->irq, locomo_handler, lchip);
+arch/arm/common/locomo.c:	for ( ; irq <= lchip->irq_base + 3; irq++) {
+arch/arm/common/locomo.c:	if (lchip->dev->dma_mask) {
+arch/arm/common/locomo.c:		dev->dma_mask = *lchip->dev->dma_mask;
+arch/arm/common/locomo.c:	dev->dev.parent  = lchip->dev;
+arch/arm/common/locomo.c:	dev->dev.coherent_dma_mask = lchip->dev->coherent_dma_mask;
+arch/arm/common/locomo.c:		dev->mapbase = lchip->base + info->offset;
+arch/arm/common/locomo.c:	dev->irq[0] = (lchip->irq_base == NO_IRQ) ?
+arch/arm/common/locomo.c:			NO_IRQ : lchip->irq_base + info->irq[0];
+arch/arm/common/locomo.c:	lchip->saved_state = save;
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	save->LCM_GPO     = locomo_readl(lchip->base + LOCOMO_GPO);	/* GPIO */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	save->LCM_SPICT   = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPICT);	/* SPI */
+arch/arm/common/locomo.c:	locomo_writel(0x40, lchip->base + LOCOMO_SPI + LOCOMO_SPICT);
+arch/arm/common/locomo.c:	save->LCM_GPE     = locomo_readl(lchip->base + LOCOMO_GPE);	/* GPIO */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	save->LCM_ASD     = locomo_readl(lchip->base + LOCOMO_ASD);	/* ADSTART */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	save->LCM_SPIMD   = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);	/* SPI */
+arch/arm/common/locomo.c:	locomo_writel(0x3C14, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_PAIF);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_DAC);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_BACKLIGHT + LOCOMO_TC);
+arch/arm/common/locomo.c:	if ((locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT0) & 0x88) && (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT1) & 0x88))
+arch/arm/common/locomo.c:		locomo_writel(0x00, lchip->base + LOCOMO_C32K); 	/* CLK32 off */
+arch/arm/common/locomo.c:		locomo_writel(0xc1, lchip->base + LOCOMO_C32K); 	/* CLK32 on */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_TADC);		/* 18MHz clock off*/
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_AUDIO + LOCOMO_ACC);			/* 22MHz/24MHz clock off */
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);			/* FL */
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	save = lchip->saved_state;
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_GPO, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_SPICT, lchip->base + LOCOMO_SPI + LOCOMO_SPICT);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_GPE, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_ASD, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	locomo_writel(save->LCM_SPIMD, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
+arch/arm/common/locomo.c:	locomo_writel(0x00, lchip->base + LOCOMO_C32K);
+arch/arm/common/locomo.c:	locomo_writel(0x90, lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KSC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_KEYBOARD + LOCOMO_KIC);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KIC);
+arch/arm/common/locomo.c:	locomo_writel(0x1, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KCMD);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	lchip->saved_state = NULL;
+arch/arm/common/locomo.c:	spin_lock_init(&lchip->lock);
+arch/arm/common/locomo.c:	lchip->dev = me;
+arch/arm/common/locomo.c:	dev_set_drvdata(lchip->dev, lchip);
+arch/arm/common/locomo.c:	lchip->phys = mem->start;
+arch/arm/common/locomo.c:	lchip->irq = irq;
+arch/arm/common/locomo.c:	lchip->irq_base = (pdata) ? pdata->irq_base : NO_IRQ;
+arch/arm/common/locomo.c:	lchip->base = ioremap(mem->start, PAGE_SIZE);
+arch/arm/common/locomo.c:	if (!lchip->base) {
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_ICR);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KIC);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:			, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:			, lchip->base + LOCOMO_GPD);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_GIE);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_LTINT);
+arch/arm/common/locomo.c:	locomo_writel(0, lchip->base + LOCOMO_SPI + LOCOMO_SPIIE);
+arch/arm/common/locomo.c:	locomo_writel(6 + 8 + 320 + 30 - 10, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_ASD);
+arch/arm/common/locomo.c:	locomo_writel(6 + 8 + 320 + 30 - 10 - 128 + 4, lchip->base + LOCOMO_HSD);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_HSD);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_HSD);
+arch/arm/common/locomo.c:	locomo_writel(128 / 8, lchip->base + LOCOMO_HSC);
+arch/arm/common/locomo.c:	locomo_writel(0x80, lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_TADC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_DAC);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_DAC);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_VER);
+arch/arm/common/locomo.c:	if (lchip->irq != NO_IRQ && lchip->irq_base != NO_IRQ)
+arch/arm/common/locomo.c:	device_for_each_child(lchip->dev, NULL, locomo_remove_child);
+arch/arm/common/locomo.c:	if (lchip->irq != NO_IRQ) {
+arch/arm/common/locomo.c:		irq_set_chained_handler_and_data(lchip->irq, NULL, NULL);
+arch/arm/common/locomo.c:	iounmap(lchip->base);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_GPD);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_GPD);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_GPE);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	ret = locomo_readl(lchip->base + LOCOMO_GPL);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	ret = locomo_readl(lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	r = locomo_readl(lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	locomo_writel(r, lchip->base + LOCOMO_GPO);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	void *mapbase = lchip->base;
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/locomo.c:	spin_lock_irqsave(&lchip->lock, flags);
+arch/arm/common/locomo.c:	locomo_writel(bpwf, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
+arch/arm/common/locomo.c:	locomo_writel(duty, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD);
+arch/arm/common/locomo.c:	locomo_writel(bpwf | LOCOMO_ALC_EN, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
+arch/arm/common/locomo.c:	spin_unlock_irqrestore(&lchip->lock, flags);
+arch/arm/common/sa1111.c:	return irq_create_mapping(sachip->irqdomain, hwirq);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/common/sa1111.c:	irqdomain = sachip->irqdomain;
+arch/arm/common/sa1111.c:	desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *mapbase = sachip->base + SA1111_INTC + sa1111_irqbank(d);
+arch/arm/common/sa1111.c:	void __iomem *irqbase = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	request_mem_region(sachip->phys + SA1111_INTC, 512, "irq");
+arch/arm/common/sa1111.c:		dev_err(sachip->dev, "unable to allocate %u irqs: %d\n",
+arch/arm/common/sa1111.c:	sachip->irq_base = ret;
+arch/arm/common/sa1111.c:	sachip->irqdomain = irq_domain_add_linear(NULL, SA1111_IRQ_NR,
+arch/arm/common/sa1111.c:	if (!sachip->irqdomain) {
+arch/arm/common/sa1111.c:		irq_free_descs(sachip->irq_base, SA1111_IRQ_NR);
+arch/arm/common/sa1111.c:	irq_domain_associate_many(sachip->irqdomain,
+arch/arm/common/sa1111.c:				  sachip->irq_base + IRQ_GPAIN0,
+arch/arm/common/sa1111.c:	irq_domain_associate_many(sachip->irqdomain,
+arch/arm/common/sa1111.c:				  sachip->irq_base + AUDXMTDMADONEA,
+arch/arm/common/sa1111.c:	irq_set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING);
+arch/arm/common/sa1111.c:	irq_set_chained_handler_and_data(sachip->irq, sa1111_irq_handler,
+arch/arm/common/sa1111.c:	dev_info(sachip->dev, "Providing IRQ%u-%u\n",
+arch/arm/common/sa1111.c:		sachip->irq_base, sachip->irq_base + SA1111_IRQ_NR - 1);
+arch/arm/common/sa1111.c:	struct irq_domain *domain = sachip->irqdomain;
+arch/arm/common/sa1111.c:	void __iomem *irqbase = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	irq_set_chained_handler_and_data(sachip->irq, NULL, NULL);
+arch/arm/common/sa1111.c:	release_mem_region(sachip->phys + SA1111_INTC, 512);
+arch/arm/common/sa1111.c:	void __iomem *reg = sachip->base + SA1111_GPIO;
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	void __iomem *reg = sachip->base + SA1111_GPIO;
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	sachip->gc.label = "sa1111";
+arch/arm/common/sa1111.c:	sachip->gc.parent = sachip->dev;
+arch/arm/common/sa1111.c:	sachip->gc.owner = THIS_MODULE;
+arch/arm/common/sa1111.c:	sachip->gc.get_direction = sa1111_gpio_get_direction;
+arch/arm/common/sa1111.c:	sachip->gc.direction_input = sa1111_gpio_direction_input;
+arch/arm/common/sa1111.c:	sachip->gc.direction_output = sa1111_gpio_direction_output;
+arch/arm/common/sa1111.c:	sachip->gc.get = sa1111_gpio_get;
+arch/arm/common/sa1111.c:	sachip->gc.set = sa1111_gpio_set;
+arch/arm/common/sa1111.c:	sachip->gc.set_multiple = sa1111_gpio_set_multiple;
+arch/arm/common/sa1111.c:	sachip->gc.to_irq = sa1111_gpio_to_irq;
+arch/arm/common/sa1111.c:	sachip->gc.base = -1;
+arch/arm/common/sa1111.c:	sachip->gc.ngpio = 18;
+arch/arm/common/sa1111.c:	return devm_gpiochip_add_data(sachip->dev, &sachip->gc, sachip);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	clk_enable(sachip->clk);
+arch/arm/common/sa1111.c:	r = readl_relaxed(sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(r, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(r, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(r, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	writel_relaxed(smcr, sachip->base + SA1111_SMCR);
+arch/arm/common/sa1111.c:	if (sachip->dev->dma_mask)
+arch/arm/common/sa1111.c:		*sachip->dev->dma_mask &= sa1111_dma_mask[drac >> 2];
+arch/arm/common/sa1111.c:	sachip->dev->coherent_dma_mask &= sa1111_dma_mask[drac >> 2];
+arch/arm/common/sa1111.c:	dev->dev.parent  = sachip->dev;
+arch/arm/common/sa1111.c:	dev->res.start   = sachip->phys + info->offset;
+arch/arm/common/sa1111.c:	dev->mapbase     = sachip->base + info->offset;
+arch/arm/common/sa1111.c:	if (info->dma && sachip->dev->dma_mask) {
+arch/arm/common/sa1111.c:		dev->dma_mask = *sachip->dev->dma_mask;
+arch/arm/common/sa1111.c:		dev->dev.coherent_dma_mask = sachip->dev->coherent_dma_mask;
+arch/arm/common/sa1111.c:		dev_err(sachip->dev, "failed to allocate resource for %s\n",
+arch/arm/common/sa1111.c:	sachip->clk = devm_clk_get(me, "SA1111_CLK");
+arch/arm/common/sa1111.c:	if (IS_ERR(sachip->clk))
+arch/arm/common/sa1111.c:		return PTR_ERR(sachip->clk);
+arch/arm/common/sa1111.c:	ret = clk_prepare(sachip->clk);
+arch/arm/common/sa1111.c:	spin_lock_init(&sachip->lock);
+arch/arm/common/sa1111.c:	sachip->dev = me;
+arch/arm/common/sa1111.c:	dev_set_drvdata(sachip->dev, sachip);
+arch/arm/common/sa1111.c:	sachip->pdata = pd;
+arch/arm/common/sa1111.c:	sachip->phys = mem->start;
+arch/arm/common/sa1111.c:	sachip->irq = irq;
+arch/arm/common/sa1111.c:	sachip->base = ioremap(mem->start, PAGE_SIZE * 2);
+arch/arm/common/sa1111.c:	if (!sachip->base) {
+arch/arm/common/sa1111.c:	id = readl_relaxed(sachip->base + SA1111_SKID);
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val | SKPCR_DCLKEN, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	clk_disable(sachip->clk);
+arch/arm/common/sa1111.c:	iounmap(sachip->base);
+arch/arm/common/sa1111.c:	clk_unprepare(sachip->clk);
+arch/arm/common/sa1111.c:	device_for_each_child(sachip->dev, NULL, sa1111_remove_one);
+arch/arm/common/sa1111.c:	clk_disable(sachip->clk);
+arch/arm/common/sa1111.c:	clk_unprepare(sachip->clk);
+arch/arm/common/sa1111.c:	iounmap(sachip->base);
+arch/arm/common/sa1111.c:	sachip->saved_state = save;
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	base = sachip->base;
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_SKPWM0);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_SKPWM1);
+arch/arm/common/sa1111.c:	base = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val | SKCR_SLEEP, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	clk_disable(sachip->clk);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	save = sachip->saved_state;
+arch/arm/common/sa1111.c:	id = readl_relaxed(sachip->base + SA1111_SKID);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_INTC + SA1111_INTEN0);
+arch/arm/common/sa1111.c:	writel_relaxed(0, sachip->base + SA1111_INTC + SA1111_INTEN1);
+arch/arm/common/sa1111.c:	base = sachip->base;
+arch/arm/common/sa1111.c:	base = sachip->base + SA1111_INTC;
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	sachip->saved_state = NULL;
+arch/arm/common/sa1111.c:		kfree(sachip->saved_state);
+arch/arm/common/sa1111.c:		sachip->saved_state = NULL;
+arch/arm/common/sa1111.c:	skcdr = readl_relaxed(sachip->base + SA1111_SKCDR);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val, sachip->base + SA1111_SKCR);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	writel_relaxed(div - 1, sachip->base + SA1111_SKAUD);
+arch/arm/common/sa1111.c:	div = readl_relaxed(sachip->base + SA1111_SKAUD) + 1;
+arch/arm/common/sa1111.c:	if (sachip->pdata && sachip->pdata->enable)
+arch/arm/common/sa1111.c:		ret = sachip->pdata->enable(sachip->pdata->data, sadev->devid);
+arch/arm/common/sa1111.c:		spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:		val = readl_relaxed(sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:		writel_relaxed(val | sadev->skpcr_mask, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:		spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	spin_lock_irqsave(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	val = readl_relaxed(sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	writel_relaxed(val & ~sadev->skpcr_mask, sachip->base + SA1111_SKPCR);
+arch/arm/common/sa1111.c:	spin_unlock_irqrestore(&sachip->lock, flags);
+arch/arm/common/sa1111.c:	if (sachip->pdata && sachip->pdata->disable)
+arch/arm/common/sa1111.c:		sachip->pdata->disable(sachip->pdata->data, sadev->devid);
+arch/arm/kernel/machine_kexec.c:		if (chip->irq_eoi && irqd_irq_inprogress(&desc->irq_data))
+arch/arm/kernel/machine_kexec.c:			chip->irq_eoi(&desc->irq_data);
+arch/arm/kernel/machine_kexec.c:		if (chip->irq_mask)
+arch/arm/kernel/machine_kexec.c:			chip->irq_mask(&desc->irq_data);
+arch/arm/kernel/machine_kexec.c:		if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data))
+arch/arm/kernel/machine_kexec.c:			chip->irq_disable(&desc->irq_data);
+arch/arm/mach-ep93xx/snappercl15.c:#define NAND_CTRL_ADDR(chip) 	(chip->legacy.IO_ADDR_W + 0x40)
+arch/arm/mach-ep93xx/snappercl15.c:			     chip->legacy.IO_ADDR_W);
+arch/arm/mach-ep93xx/ts72xx.c:		void __iomem *addr = chip->legacy.IO_ADDR_R;
+arch/arm/mach-ep93xx/ts72xx.c:		__raw_writeb(cmd, chip->legacy.IO_ADDR_W);
+arch/arm/mach-ep93xx/ts72xx.c:	void __iomem *addr = chip->legacy.IO_ADDR_R;
+arch/arm/mach-imx/3ds_debugboard.c:	desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-imx/3ds_debugboard.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-imx/3ds_debugboard.c:	desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->owner		= THIS_MODULE;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->label		= "LCD";
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->base		= MX27ADS_LCD_GPIO;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->ngpio		= 1;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->direction_output	= vgpio_dir_out;
+arch/arm/mach-imx/mach-mx27ads.c:	vchip->set		= vgpio_set;
+arch/arm/mach-imx/mach-mx35_3ds.c:	return !strcmp(chip->label, data);
+arch/arm/mach-imx/mach-mx35_3ds.c:				chip->base + GPIO_MC9S08DZ60_LCD_ENABLE;
+arch/arm/mach-imx/mach-qong.c:		writeb(cmd, nand_chip->legacy.IO_ADDR_W + (1 << 24));
+arch/arm/mach-imx/mach-qong.c:		writeb(cmd, nand_chip->legacy.IO_ADDR_W + (1 << 23));
+arch/arm/mach-omap1/ams-delta-fiq.c:			if (!WARN_ON_ONCE(!irq_chip->irq_unmask))
+arch/arm/mach-omap1/ams-delta-fiq.c:				irq_chip->irq_unmask(d);
+arch/arm/mach-omap1/ams-delta-fiq.c:	irq_chip = chip->irq.chip;
+arch/arm/mach-omap1/ams-delta-fiq.c:		       chip->label);
+arch/arm/mach-omap1/board-ams-delta.c:	return !strcmp(label, chip->label);
+arch/arm/mach-omap1/usb.c:/* These routines should handle the standard chip-specific modes
+arch/arm/mach-omap2/prm_common.c:	if (chip->irq_ack)
+arch/arm/mach-omap2/prm_common.c:		chip->irq_ack(&desc->irq_data);
+arch/arm/mach-omap2/prm_common.c:	if (chip->irq_eoi)
+arch/arm/mach-omap2/prm_common.c:		chip->irq_eoi(&desc->irq_data);
+arch/arm/mach-omap2/prm_common.c:	chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-orion5x/ts78xx-setup.c:	void __iomem *io_base = chip->legacy.IO_ADDR_W;
+arch/arm/mach-orion5x/ts78xx-setup.c:	void __iomem *io_base = chip->legacy.IO_ADDR_R;
+arch/arm/mach-pxa/balloon3.c:		if (chip->irq_ack)
+arch/arm/mach-pxa/balloon3.c:			chip->irq_ack(d);
+arch/arm/mach-pxa/cm-x2xx-pci.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/littleton.c:	GPIO17_GPIO,	/* SFRM as chip-select */
+arch/arm/mach-pxa/lpd270.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/pcm990-baseboard.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/viper.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-pxa/zeus.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-rockchip/platsmp.c:	.name = "rockchip-pmu",
+arch/arm/mach-rpc/ecard.c:			desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-rpc/ecard.c:	desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-rpc/ecard.c:	desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-s3c24xx/bast-irq.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-s3c24xx/bast-irq.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-s3c24xx/include/mach/map.h:/* physical addresses of all the chip-select areas */
+arch/arm/mach-s3c24xx/iotiming-s3c2410.c: * is actually being handled as a chip-select.
+arch/arm/mach-sa1100/neponset.c:		desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-sa1100/neponset.c:			desc->irq_data.chip->irq_mask(&desc->irq_data);
+arch/arm/mach-sa1100/neponset.c:			desc->irq_data.chip->irq_ack(&desc->irq_data);
+arch/arm/mach-sa1100/neponset.c:			desc->irq_data.chip->irq_unmask(&desc->irq_data);
+arch/arm/mach-u300/core.c:	for ( ; chip->chipid; chip++) {
+arch/arm/mach-u300/core.c:		if (chip->chipid == (val & 0xFF00U)) {
+arch/arm/mach-u300/core.c:			chipname = chip->name;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_OUT_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_IO_CONF_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_BLINK_EN_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_IN_POL_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_DATA_IN_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + GPIO_EDGE_CAUSE_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + ochip->mask_offset + GPIO_EDGE_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	return ochip->base + ochip->mask_offset + GPIO_LEVEL_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	if (pin >= ochip->chip.ngpio)
+arch/arm/plat-orion/gpio.c:	if ((mode & GPIO_INPUT_OK) && !test_bit(pin, &ochip->valid_input))
+arch/arm/plat-orion/gpio.c:	if ((mode & GPIO_OUTPUT_OK) && !test_bit(pin, &ochip->valid_output))
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	return irq_create_mapping(ochip->domain,
+arch/arm/plat-orion/gpio.c:				  ochip->secondary_irq_base + pin);
+arch/arm/plat-orion/gpio.c:		struct gpio_chip *chip = &ochip->chip;
+arch/arm/plat-orion/gpio.c:		if (pin >= chip->base && pin < chip->base + chip->ngpio)
+arch/arm/plat-orion/gpio.c:	pin -= ochip->chip.base;
+arch/arm/plat-orion/gpio.c:	pin -= ochip->chip.base;
+arch/arm/plat-orion/gpio.c:		__set_bit(pin, &ochip->valid_input);
+arch/arm/plat-orion/gpio.c:		__clear_bit(pin, &ochip->valid_input);
+arch/arm/plat-orion/gpio.c:		__set_bit(pin, &ochip->valid_output);
+arch/arm/plat-orion/gpio.c:		__clear_bit(pin, &ochip->valid_output);
+arch/arm/plat-orion/gpio.c:	spin_lock_irqsave(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	spin_unlock_irqrestore(&ochip->lock, flags);
+arch/arm/plat-orion/gpio.c:	pin = d->hwirq - ochip->secondary_irq_base;
+arch/arm/plat-orion/gpio.c:	for (i = 0; i < ochip->chip.ngpio; i++) {
+arch/arm/plat-orion/gpio.c:		irq = ochip->secondary_irq_base + i;
+arch/arm/plat-orion/gpio.c:	for (i = 0; i < chip->ngpio; i++) {
+arch/arm/plat-orion/gpio.c:		seq_printf(s, " gpio-%-3d (%-20.20s)", chip->base + i, label);
+arch/arm/plat-orion/gpio.c:	ochip->chip.label = kstrdup(gc_label, GFP_KERNEL);
+arch/arm/plat-orion/gpio.c:	ochip->chip.request = orion_gpio_request;
+arch/arm/plat-orion/gpio.c:	ochip->chip.direction_input = orion_gpio_direction_input;
+arch/arm/plat-orion/gpio.c:	ochip->chip.get = orion_gpio_get;
+arch/arm/plat-orion/gpio.c:	ochip->chip.direction_output = orion_gpio_direction_output;
+arch/arm/plat-orion/gpio.c:	ochip->chip.set = orion_gpio_set;
+arch/arm/plat-orion/gpio.c:	ochip->chip.to_irq = orion_gpio_to_irq;
+arch/arm/plat-orion/gpio.c:	ochip->chip.base = gpio_base;
+arch/arm/plat-orion/gpio.c:	ochip->chip.ngpio = ngpio;
+arch/arm/plat-orion/gpio.c:	ochip->chip.can_sleep = 0;
+arch/arm/plat-orion/gpio.c:	ochip->chip.of_node = np;
+arch/arm/plat-orion/gpio.c:	ochip->chip.dbg_show = orion_gpio_dbg_show;
+arch/arm/plat-orion/gpio.c:	spin_lock_init(&ochip->lock);
+arch/arm/plat-orion/gpio.c:	ochip->base = (void __iomem *)base;
+arch/arm/plat-orion/gpio.c:	ochip->valid_input = 0;
+arch/arm/plat-orion/gpio.c:	ochip->valid_output = 0;
+arch/arm/plat-orion/gpio.c:	ochip->mask_offset = mask_offset;
+arch/arm/plat-orion/gpio.c:	ochip->secondary_irq_base = secondary_irq_base;
+arch/arm/plat-orion/gpio.c:	gpiochip_add_data(&ochip->chip, ochip);
+arch/arm/plat-orion/gpio.c:				    ochip->base, handle_level_irq);
+arch/arm/plat-orion/gpio.c:	ct->regs.mask = ochip->mask_offset + GPIO_LEVEL_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	ct->chip.name = ochip->chip.label;
+arch/arm/plat-orion/gpio.c:	ct->regs.mask = ochip->mask_offset + GPIO_EDGE_MASK_OFF;
+arch/arm/plat-orion/gpio.c:	ct->chip.name = ochip->chip.label;
+arch/arm/plat-orion/gpio.c:	ochip->domain = irq_domain_add_legacy(np,
+arch/arm/plat-orion/gpio.c:					      ochip->chip.ngpio,
+arch/arm/plat-orion/gpio.c:					      ochip->secondary_irq_base,
+arch/arm/plat-orion/gpio.c:					      ochip->secondary_irq_base,
+arch/arm/plat-orion/gpio.c:	if (!ochip->domain)
+arch/arm/plat-orion/gpio.c:		      ochip->chip.label);
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base + 0x08;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	con = __raw_readl(chip->base);
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	if (off < 8 && chip->chip.ngpio > 8)
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	if (off < 8 && chip->chip.ngpio > 8)
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *reg = chip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	con = __raw_readl(chip->base);
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	if (ourchip->bitmap_gpio_int & BIT(offset))
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c: * the data register at ourchip->base + 0x04.
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	void __iomem *base = ourchip->base;
+arch/arm/plat-samsung/gpio-samsung.c:	val = __raw_readl(ourchip->base + 0x04);
+arch/arm/plat-samsung/gpio-samsung.c:	gpn = chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:	for (i = 0; i < chip->chip.ngpio; i++, gpn++) {
+arch/arm/plat-samsung/gpio-samsung.c:	struct gpio_chip *gc = &chip->chip;
+arch/arm/plat-samsung/gpio-samsung.c:	BUG_ON(!chip->base);
+arch/arm/plat-samsung/gpio-samsung.c:	spin_lock_init(&chip->lock);
+arch/arm/plat-samsung/gpio-samsung.c:	if (chip->pm != NULL) {
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm->save || !chip->pm->resume)
+arch/arm/plat-samsung/gpio-samsung.c:	struct gpio_chip *gc = &chip->chip;
+arch/arm/plat-samsung/gpio-samsung.c:		if (chip->chip.base >= S3C_GPIO_END)
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &s3c24xx_gpiocfg_default;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_2bit);
+arch/arm/plat-samsung/gpio-samsung.c:		if ((base != NULL) && (chip->base == NULL))
+arch/arm/plat-samsung/gpio-samsung.c:			chip->base = base + ((i) * 0x10);
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_input = samsung_gpiolib_2bit_input;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_output = samsung_gpiolib_2bit_output;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &samsung_gpio_cfgs[7];
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_2bit);
+arch/arm/plat-samsung/gpio-samsung.c:		if ((base != NULL) && (chip->base == NULL))
+arch/arm/plat-samsung/gpio-samsung.c:			chip->base = base + ((i) * offset);
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_input = samsung_gpiolib_4bit_input;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_output = samsung_gpiolib_4bit_output;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &samsung_gpio_cfgs[2];
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_4bit);
+arch/arm/plat-samsung/gpio-samsung.c:		if ((base != NULL) && (chip->base == NULL))
+arch/arm/plat-samsung/gpio-samsung.c:			chip->base = base + ((i) * 0x20);
+arch/arm/plat-samsung/gpio-samsung.c:		chip->bitmap_gpio_int = 0;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_input = samsung_gpiolib_4bit2_input;
+arch/arm/plat-samsung/gpio-samsung.c:		chip->chip.direction_output = samsung_gpiolib_4bit2_output;
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->config)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->config = &samsung_gpio_cfgs[2];
+arch/arm/plat-samsung/gpio-samsung.c:		if (!chip->pm)
+arch/arm/plat-samsung/gpio-samsung.c:			chip->pm = __gpio_pm(&samsung_gpio_pm_4bit);
+arch/arm/plat-samsung/gpio-samsung.c:	return samsung_chip->irq_base + offset;
+arch/arm/plat-samsung/gpio-samsung.c:	offset = pin - chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:		offset = pin - chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:	offset = pin - chip->chip.base;
+arch/arm/plat-samsung/gpio-samsung.c:		offset = pin - chip->chip.base;
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return (chip->config->set_config)(chip, off, config);
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return (chip->config->get_config)(chip, off);
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return (chip->config->set_pull)(chip, off, pull);
+arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h:	return chip->config->get_pull(chip, off);
+arch/arm/plat-samsung/include/plat/gpio-core.h: * This helper returns the irq number calculated from the chip->irq_base and
+arch/arm/plat-samsung/include/plat/gpio-core.h:	return ((pin - chip->chip.base) < chip->chip.ngpio) ? chip : NULL;
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[0] = __raw_readl(chip->base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[1] = __raw_readl(chip->base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *base = chip->base;
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpcon = chip->pm_save[0];
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpdat = chip->pm_save[1];
+arch/arm/plat-samsung/pm-gpio.c:		  chip->chip.label, old_gpcon, gps_gpcon, old_gpdat, gps_gpdat);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[0] = __raw_readl(chip->base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[1] = __raw_readl(chip->base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[2] = __raw_readl(chip->base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *base = chip->base;
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpcon = chip->pm_save[0];
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpdat = chip->pm_save[1];
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[2], base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:		  chip->chip.label, old_gpcon, gps_gpcon, old_gpdat, gps_gpdat);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[1] = __raw_readl(chip->base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[2] = __raw_readl(chip->base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	chip->pm_save[3] = __raw_readl(chip->base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8)
+arch/arm/plat-samsung/pm-gpio.c:		chip->pm_save[0] = __raw_readl(chip->base - 4);
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *con = chip->base + (index * 4);
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpcon = chip->pm_save[index + 1];
+arch/arm/plat-samsung/pm-gpio.c:	void __iomem *base = chip->base;
+arch/arm/plat-samsung/pm-gpio.c:	u32 gps_gpdat = chip->pm_save[2];
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8) {
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[2], base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[1], base + OFFS_CON);
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8)
+arch/arm/plat-samsung/pm-gpio.c:		__raw_writel(chip->pm_save[0], base - 4);
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[2], base + OFFS_DAT);
+arch/arm/plat-samsung/pm-gpio.c:	__raw_writel(chip->pm_save[3], base + OFFS_UP);
+arch/arm/plat-samsung/pm-gpio.c:	if (chip->chip.ngpio > 8) {
+arch/arm/plat-samsung/pm-gpio.c:			  chip->chip.label, old_gpcon[0], old_gpcon[1],
+arch/arm/plat-samsung/pm-gpio.c:			  chip->chip.label, old_gpcon[1],
+arch/arm/plat-samsung/pm-gpio.c:	struct samsung_gpio_pm *pm = ourchip->pm;
+arch/arm/plat-samsung/pm-gpio.c:		S3C_PMDBG("%s: no pm for %s\n", __func__, ourchip->chip.label);
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->chip.label,
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[0],
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[1],
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[2],
+arch/arm/plat-samsung/pm-gpio.c:			  ourchip->pm_save[3]);
+arch/arm/plat-samsung/pm-gpio.c:		gpio_nr += ourchip->chip.ngpio;
+arch/arm/plat-samsung/pm-gpio.c:	struct samsung_gpio_pm *pm = ourchip->pm;
+arch/arm/plat-samsung/pm-gpio.c:		S3C_PMDBG("%s: no pm for %s\n", __func__, ourchip->chip.label);
+arch/arm/plat-samsung/pm-gpio.c:		gpio_nr += ourchip->chip.ngpio;
+arch/arm64/boot/dts/amlogic/meson-axg.dtsi:				amlogic,has-chip-id;
+arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi:				amlogic,has-chip-id;
+arch/arm64/boot/dts/amlogic/meson-gx.dtsi:				amlogic,has-chip-id;
+arch/arm64/boot/dts/rockchip/rk3328-a1.dts:		chip_en: chip-en {
+arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi:	rockchip-key {
+arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi:		/* chip-internal connection for HDMI */
+arch/arm64/kernel/machine_kexec.c:		    chip->irq_eoi)
+arch/arm64/kernel/machine_kexec.c:			chip->irq_eoi(&desc->irq_data);
+arch/arm64/kernel/machine_kexec.c:		if (chip->irq_mask)
+arch/arm64/kernel/machine_kexec.c:			chip->irq_mask(&desc->irq_data);
+arch/arm64/kernel/machine_kexec.c:		if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data))
+arch/arm64/kernel/machine_kexec.c:			chip->irq_disable(&desc->irq_data);
+arch/ia64/kernel/iosapic.c:			       chip->name, irq_type->name);
+arch/ia64/kernel/irq.c:			if (chip && chip->irq_disable &&
+arch/ia64/kernel/irq.c:				chip->irq_enable && chip->irq_set_affinity) {
+arch/ia64/kernel/irq.c:				chip->irq_disable(data);
+arch/ia64/kernel/irq.c:				chip->irq_set_affinity(data,
+arch/ia64/kernel/irq.c:				chip->irq_enable(data);
+arch/ia64/kernel/irq.c:				WARN_ON((!chip || !chip->irq_disable ||
+arch/ia64/kernel/irq.c:					 !chip->irq_enable ||
+arch/ia64/kernel/irq.c:					 !chip->irq_set_affinity));
+arch/ia64/kernel/smpboot.c:				data->chip->irq_disable(data);
+arch/ia64/kernel/smpboot.c:				data->chip->irq_set_affinity(data, mask, false);
+arch/ia64/kernel/smpboot.c:				data->chip->irq_enable(data);
+arch/microblaze/mm/init.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/mips/bcm63xx/gpio.c:	if (gpio >= chip->ngpio)
+arch/mips/bcm63xx/gpio.c:	if (gpio >= chip->ngpio)
+arch/mips/bcm63xx/gpio.c:	if (gpio >= chip->ngpio)
+arch/mips/boot/dts/mscc/ocelot.dtsi:			compatible = "mscc,ocelot-chip-reset";
+arch/mips/cavium-octeon/octeon-irq.c:	data->chip->irq_ack(data);
+arch/mips/cavium-octeon/octeon-irq.c:	data->chip->irq_enable(data);
+arch/mips/loongson64/irq.c:	chip->irq_set_affinity = plat_set_irq_affinity;
+arch/mips/pmcs-msp71xx/msp_setup.c:	/* No chip-specific reset code, just jump to the ROM reset vector */
+arch/mips/rb532/devices.c:		writeb(cmd, chip->legacy.IO_ADDR_W);
+arch/mips/rb532/gpio.c:	rb532_set_bit(bit, gpio, rb532_gpio_chip->regbase + GPIOILEVEL);
+arch/mips/rb532/gpio.c:	rb532_set_bit(bit, gpio, rb532_gpio_chip->regbase + GPIOISTAT);
+arch/mips/rb532/gpio.c:       rb532_set_bit(1, gpio, rb532_gpio_chip->regbase + GPIOFUNC);
+arch/mips/rb532/gpio.c:	rb532_gpio_chip->regbase = ioremap_nocache(r->start, resource_size(r));
+arch/mips/rb532/gpio.c:	if (!rb532_gpio_chip->regbase) {
+arch/mips/rb532/gpio.c:	gpiochip_add_data(&rb532_gpio_chip->chip, rb532_gpio_chip);
+arch/mips/vr41xx/common/irq.c:		if (chip->irq_mask_ack)
+arch/mips/vr41xx/common/irq.c:			chip->irq_mask_ack(idata);
+arch/mips/vr41xx/common/irq.c:			chip->irq_mask(idata);
+arch/mips/vr41xx/common/irq.c:			chip->irq_ack(idata);
+arch/mips/vr41xx/common/irq.c:		if (!irqd_irq_disabled(idata) && chip->irq_unmask)
+arch/mips/vr41xx/common/irq.c:			chip->irq_unmask(idata);
+arch/powerpc/boot/dts/icon.dts:			reset-type = <2>;	/* Use chip-reset */
+arch/powerpc/boot/dts/katmai.dts:			reset-type = <2>;	/* Use chip-reset */
+arch/powerpc/boot/dts/tqm8548-bigflash.dts:			chip-delay = <25>; // in micro-seconds
+arch/powerpc/boot/dts/tqm8548.dts:			chip-delay = <25>; // in micro-seconds
+arch/powerpc/kernel/prom.c: * of_get_ibm_chip_id - Returns the IBM "chip-id" of a device
+arch/powerpc/kernel/prom.c: * This looks for a property "ibm,chip-id" in the node or any
+arch/powerpc/kernel/prom.c:		 * cell in chip-id, we only read the first one here.
+arch/powerpc/kernel/prom.c:		if (!of_property_read_u32(np, "ibm,chip-id", &chip_id)) {
+arch/powerpc/kernel/prom.c: * cpu_to_chip_id - Return the cpus chip-id
+arch/powerpc/kernel/prom.c: * Return the value of the ibm,chip-id property corresponding to the given
+arch/powerpc/kernel/prom.c: * logical cpu number. If the chip-id can not be found, returns -1.
+arch/powerpc/kexec/core.c:		if (chip->irq_eoi && irqd_irq_inprogress(&desc->irq_data))
+arch/powerpc/kexec/core.c:			chip->irq_eoi(&desc->irq_data);
+arch/powerpc/kexec/core.c:		if (chip->irq_mask)
+arch/powerpc/kexec/core.c:			chip->irq_mask(&desc->irq_data);
+arch/powerpc/kexec/core.c:		if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data))
+arch/powerpc/kexec/core.c:			chip->irq_disable(&desc->irq_data);
+arch/powerpc/mm/nohash/40x.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/powerpc/mm/nohash/8xx.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/powerpc/mm/nohash/fsl_booke.c: * MMU_init_hw does the chip-specific initialization of the MMU hardware.
+arch/powerpc/platforms/4xx/gpio.c:	spin_lock_irqsave(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_unlock_irqrestore(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_lock_irqsave(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_unlock_irqrestore(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_lock_irqsave(&chip->lock, flags);
+arch/powerpc/platforms/4xx/gpio.c:	spin_unlock_irqrestore(&chip->lock, flags);
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_mask(idata);
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_mask_ack(idata);
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_ack(idata);
+arch/powerpc/platforms/4xx/uic.c:	if (!irqd_irq_disabled(idata) && chip->irq_unmask)
+arch/powerpc/platforms/4xx/uic.c:		chip->irq_unmask(idata);
+arch/powerpc/platforms/52xx/media5200.c:	chip->irq_mask(&desc->irq_data);
+arch/powerpc/platforms/52xx/media5200.c:	chip->irq_ack(&desc->irq_data);
+arch/powerpc/platforms/52xx/media5200.c:		chip->irq_unmask(&desc->irq_data);
+arch/powerpc/platforms/85xx/common.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/85xx/mpc85xx_ds.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/85xx/socrates_fpga_pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/86xx/pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/cell/axon_msi.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/cell/interrupt.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/cell/spider-pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/chrp/setup.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:	chip->irq_mask(&desc->irq_data); /* IRQ_LEVEL */
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:	chip->irq_ack(&desc->irq_data); /* IRQ_LEVEL */
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:	if (!irqd_irq_disabled(&desc->irq_data) && chip->irq_unmask)
+arch/powerpc/platforms/embedded6xx/hlwd-pic.c:		chip->irq_unmask(&desc->irq_data);
+arch/powerpc/platforms/embedded6xx/mvme5100.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/pasemi/setup.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/platforms/powernv/opal-imc.c:	nr_chips = of_property_count_u32_elems(node, "chip-id");
+arch/powerpc/platforms/powernv/opal-imc.c:	if (of_property_read_u32_array(node, "chip-id", chipid_arr, nr_chips))
+arch/powerpc/platforms/powernv/opal-sensor-groups.c:		if (!of_property_read_u32(node, "ibm,chip-id", &chipid))
+arch/powerpc/platforms/powernv/pci-ioda.c:	return chip->irq_eoi == pnv_ioda2_msi_eoi;
+arch/powerpc/platforms/powernv/rng.c:		pr_warn("No ibm,chip-id found for %pOF.\n", dn);
+arch/powerpc/platforms/pseries/setup.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/ge/ge_pic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/mpic.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/tsi108_pci.c:	chip->irq_eoi(&desc->irq_data);
+arch/powerpc/sysdev/xics/xics-common.c:		if (!chip || !chip->irq_set_affinity)
+arch/powerpc/sysdev/xilinx_intc.c:	chip->irq_unmask(&desc->irq_data);
+arch/powerpc/sysdev/xive/spapr.c:	 * No chip-id for the sPAPR backend. This has an impact how we
+arch/s390/kernel/irq.c:		seq_printf(p, " %8s", desc->irq_data.chip->name);
+arch/sh/boards/mach-migor/setup.c:		writeb(cmd, chip->legacy.IO_ADDR_W + 0x00400000);
+arch/sh/boards/mach-migor/setup.c:		writeb(cmd, chip->legacy.IO_ADDR_W + 0x00800000);
+arch/sh/boards/mach-migor/setup.c:		writeb(cmd, chip->legacy.IO_ADDR_W);
+arch/sh/boards/mach-se/7343/irq.c:	chip->irq_mask_ack(data);
+arch/sh/boards/mach-se/7343/irq.c:	chip->irq_unmask(data);
+arch/sh/boards/mach-se/7722/irq.c:	chip->irq_mask_ack(data);
+arch/sh/boards/mach-se/7722/irq.c:	chip->irq_unmask(data);
+arch/sh/boards/mach-x3proto/gpio.c:	if (gpio < chip->ngpio)
+arch/sh/boards/mach-x3proto/gpio.c:	chip->irq_mask_ack(data);
+arch/sh/boards/mach-x3proto/gpio.c:	chip->irq_unmask(data);
+arch/sparc/kernel/irq_32.c: * up via the irq_chip->startup() method which gets invoked by
+arch/sparc/kernel/irq_64.c:			if (data->chip->irq_set_affinity)
+arch/sparc/kernel/irq_64.c:				data->chip->irq_set_affinity(data,
+arch/sparc/kernel/leon_pci_grpci1.c:		desc->irq_data.chip->irq_eoi(&desc->irq_data);
+arch/sparc/kernel/leon_pci_grpci2.c:		desc->irq_data.chip->irq_eoi(&desc->irq_data);
+arch/x86/Kconfig.cpu:	  - "Winchip-C6" for original IDT Winchip.
+arch/x86/Kconfig.cpu:	  - "Winchip-2" for IDT Winchips with 3dNow! capabilities.
+arch/x86/Kconfig.cpu:	bool "Winchip-C6"
+arch/x86/Kconfig.cpu:	bool "Winchip-2/Winchip-2A/Winchip-3"
+arch/x86/Kconfig.cpu:	  Select this for an IDT Winchip-2, 2A or 3.  Linux and GCC
+arch/x86/Makefile_32.cpu:cflags-$(CONFIG_MWINCHIPC6)	+= $(call cc-option,-march=winchip-c6,-march=i586)
+arch/x86/kernel/apic/io_apic.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+arch/x86/kernel/irq.c:			if (chip->irq_retrigger) {
+arch/x86/kernel/irq.c:				chip->irq_retrigger(data);
+arch/x86/kvm/x86.c:	switch (chip->chip_id) {
+arch/x86/kvm/x86.c:		memcpy(&chip->chip.pic, &pic->pics[0],
+arch/x86/kvm/x86.c:		memcpy(&chip->chip.pic, &pic->pics[1],
+arch/x86/kvm/x86.c:		kvm_get_ioapic(kvm, &chip->chip.ioapic);
+arch/x86/kvm/x86.c:	switch (chip->chip_id) {
+arch/x86/kvm/x86.c:		memcpy(&pic->pics[0], &chip->chip.pic,
+arch/x86/kvm/x86.c:		memcpy(&pic->pics[1], &chip->chip.pic,
+arch/x86/kvm/x86.c:		kvm_set_ioapic(kvm, &chip->chip.ioapic);
+arch/x86/platform/uv/uv_irq.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/acpi/arm64/iort.c:	its_msi_chip->fw_node = fw_node;
+drivers/acpi/arm64/iort.c:	its_msi_chip->translation_id = trans_id;
+drivers/acpi/arm64/iort.c:	its_msi_chip->base_addr = base;
+drivers/acpi/arm64/iort.c:	list_add(&its_msi_chip->list, &iort_msi_chip_list);
+drivers/acpi/arm64/iort.c:		if (its_msi_chip->translation_id == trans_id) {
+drivers/acpi/arm64/iort.c:			list_del(&its_msi_chip->list);
+drivers/acpi/arm64/iort.c:		if (its_msi_chip->translation_id == trans_id) {
+drivers/acpi/arm64/iort.c:			fw_node = its_msi_chip->fw_node;
+drivers/acpi/arm64/iort.c:		if (its_msi_chip->translation_id == its_id) {
+drivers/acpi/arm64/iort.c:			*base = its_msi_chip->base_addr;
+drivers/ata/sata_mv.c:	 * Handle chip-reported errors, or continue on to handle PIO.
+drivers/base/platform-msi.c:	if (!chip->irq_mask)
+drivers/base/platform-msi.c:		chip->irq_mask = irq_chip_mask_parent;
+drivers/base/platform-msi.c:	if (!chip->irq_unmask)
+drivers/base/platform-msi.c:		chip->irq_unmask = irq_chip_unmask_parent;
+drivers/base/platform-msi.c:	if (!chip->irq_eoi)
+drivers/base/platform-msi.c:		chip->irq_eoi = irq_chip_eoi_parent;
+drivers/base/platform-msi.c:	if (!chip->irq_set_affinity)
+drivers/base/platform-msi.c:		chip->irq_set_affinity = msi_domain_set_affinity;
+drivers/base/platform-msi.c:	if (!chip->irq_write_msi_msg)
+drivers/base/platform-msi.c:		chip->irq_write_msi_msg = platform_msi_write_msg;
+drivers/base/platform-msi.c:		    !(chip->flags & IRQCHIP_SUPPORTS_LEVEL_MSI)))
+drivers/base/regmap/regmap-irq.c:	return &data->chip->irqs[irq];
+drivers/base/regmap/regmap-irq.c:	if (d->chip->mask_writeonly)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->runtime_pm) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < d->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			reg = d->chip->status_base +
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < d->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (!d->chip->mask_base)
+drivers/base/regmap/regmap-irq.c:		reg = d->chip->mask_base +
+drivers/base/regmap/regmap-irq.c:		if (d->chip->mask_invert) {
+drivers/base/regmap/regmap-irq.c:		} else if (d->chip->unmask_base) {
+drivers/base/regmap/regmap-irq.c:			unmask_offset = d->chip->unmask_base -
+drivers/base/regmap/regmap-irq.c:							d->chip->mask_base;
+drivers/base/regmap/regmap-irq.c:		reg = d->chip->wake_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->wake_invert)
+drivers/base/regmap/regmap-irq.c:		if (!d->chip->init_ack_masked)
+drivers/base/regmap/regmap-irq.c:		if (d->mask_buf[i] && (d->chip->ack_base || d->chip->use_ack)) {
+drivers/base/regmap/regmap-irq.c:			reg = d->chip->ack_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->ack_invert)
+drivers/base/regmap/regmap-irq.c:	if (!d->chip->type_in_mask) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < d->chip->num_type_reg; i++) {
+drivers/base/regmap/regmap-irq.c:			reg = d->chip->type_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->type_invert)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->runtime_pm)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->type_in_mask && type)
+drivers/base/regmap/regmap-irq.c:	if (d->chip->clear_on_unmask)
+drivers/base/regmap/regmap-irq.c:	if (!chip->sub_reg_offsets) {
+drivers/base/regmap/regmap-irq.c:		ret = regmap_read(map, chip->status_base +
+drivers/base/regmap/regmap-irq.c:		subreg = &chip->sub_reg_offsets[b];
+drivers/base/regmap/regmap-irq.c:			ret = regmap_read(map, chip->status_base + offset,
+drivers/base/regmap/regmap-irq.c:	if (chip->handle_pre_irq)
+drivers/base/regmap/regmap-irq.c:		chip->handle_pre_irq(chip->irq_drv_data);
+drivers/base/regmap/regmap-irq.c:	if (chip->runtime_pm) {
+drivers/base/regmap/regmap-irq.c:	if (chip->num_main_regs) {
+drivers/base/regmap/regmap-irq.c:		size = chip->num_regs * sizeof(unsigned int);
+drivers/base/regmap/regmap-irq.c:		max_main_bits = (chip->num_main_status_bits) ?
+drivers/base/regmap/regmap-irq.c:				 chip->num_main_status_bits : chip->num_regs;
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_main_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			ret = regmap_read(map, chip->main_status +
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_main_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		ret = regmap_bulk_read(map, chip->status_base,
+drivers/base/regmap/regmap-irq.c:				       chip->num_regs);
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < data->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < data->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			ret = regmap_read(map, chip->status_base +
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < data->chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (data->status_buf[i] && (chip->ack_base || chip->use_ack)) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->ack_base +
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_irqs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (data->status_buf[chip->irqs[i].reg_offset /
+drivers/base/regmap/regmap-irq.c:				     map->reg_stride] & chip->irqs[i].mask) {
+drivers/base/regmap/regmap-irq.c:	if (chip->runtime_pm)
+drivers/base/regmap/regmap-irq.c:	if (chip->handle_post_irq)
+drivers/base/regmap/regmap-irq.c:		chip->handle_post_irq(chip->irq_drv_data);
+drivers/base/regmap/regmap-irq.c:	if (chip->num_regs <= 0)
+drivers/base/regmap/regmap-irq.c:	if (chip->clear_on_unmask && (chip->ack_base || chip->use_ack))
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_irqs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (chip->irqs[i].reg_offset % map->reg_stride)
+drivers/base/regmap/regmap-irq.c:		if (chip->irqs[i].reg_offset / map->reg_stride >=
+drivers/base/regmap/regmap-irq.c:		    chip->num_regs)
+drivers/base/regmap/regmap-irq.c:		irq_base = irq_alloc_descs(irq_base, 0, chip->num_irqs, 0);
+drivers/base/regmap/regmap-irq.c:	if (chip->num_main_regs) {
+drivers/base/regmap/regmap-irq.c:		d->main_status_buf = kcalloc(chip->num_main_regs,
+drivers/base/regmap/regmap-irq.c:	d->status_buf = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	d->mask_buf = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	d->mask_buf_def = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	if (chip->wake_base) {
+drivers/base/regmap/regmap-irq.c:		d->wake_buf = kcalloc(chip->num_regs, sizeof(unsigned int),
+drivers/base/regmap/regmap-irq.c:	num_type_reg = chip->type_in_mask ? chip->num_regs : chip->num_type_reg;
+drivers/base/regmap/regmap-irq.c:	d->irq_chip.name = chip->name;
+drivers/base/regmap/regmap-irq.c:	if (chip->irq_reg_stride)
+drivers/base/regmap/regmap-irq.c:		d->irq_reg_stride = chip->irq_reg_stride;
+drivers/base/regmap/regmap-irq.c:	if (chip->type_reg_stride)
+drivers/base/regmap/regmap-irq.c:		d->type_reg_stride = chip->type_reg_stride;
+drivers/base/regmap/regmap-irq.c:		d->status_reg_buf = kmalloc_array(chip->num_regs,
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_irqs; i++)
+drivers/base/regmap/regmap-irq.c:		d->mask_buf_def[chip->irqs[i].reg_offset / map->reg_stride]
+drivers/base/regmap/regmap-irq.c:			|= chip->irqs[i].mask;
+drivers/base/regmap/regmap-irq.c:	for (i = 0; i < chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:		if (!chip->mask_base)
+drivers/base/regmap/regmap-irq.c:		reg = chip->mask_base +
+drivers/base/regmap/regmap-irq.c:		if (chip->mask_invert)
+drivers/base/regmap/regmap-irq.c:		else if (d->chip->unmask_base) {
+drivers/base/regmap/regmap-irq.c:			unmask_offset = d->chip->unmask_base -
+drivers/base/regmap/regmap-irq.c:					d->chip->mask_base;
+drivers/base/regmap/regmap-irq.c:		if (!chip->init_ack_masked)
+drivers/base/regmap/regmap-irq.c:		reg = chip->status_base +
+drivers/base/regmap/regmap-irq.c:		if (d->status_buf[i] && (chip->ack_base || chip->use_ack)) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->ack_base +
+drivers/base/regmap/regmap-irq.c:			if (chip->ack_invert)
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_regs; i++) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->wake_base +
+drivers/base/regmap/regmap-irq.c:			if (chip->wake_invert)
+drivers/base/regmap/regmap-irq.c:	if (chip->num_type_reg && !chip->type_in_mask) {
+drivers/base/regmap/regmap-irq.c:		for (i = 0; i < chip->num_type_reg; ++i) {
+drivers/base/regmap/regmap-irq.c:			reg = chip->type_base +
+drivers/base/regmap/regmap-irq.c:			if (d->chip->type_invert)
+drivers/base/regmap/regmap-irq.c:						  chip->num_irqs, irq_base, 0,
+drivers/base/regmap/regmap-irq.c:						  chip->num_irqs,
+drivers/base/regmap/regmap-irq.c:				   chip->name, d);
+drivers/base/regmap/regmap-irq.c:			irq, chip->name, ret);
+drivers/base/regmap/regmap-irq.c:	for (hwirq = 0; hwirq < d->chip->num_irqs; hwirq++) {
+drivers/base/regmap/regmap-irq.c:		if (!d->chip->irqs[hwirq].mask)
+drivers/base/regmap/regmap-irq.c:	if (!data->chip->irqs[irq].mask)
+drivers/bcma/driver_gpio.c:	chip->label		= "bcma_gpio";
+drivers/bcma/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/bcma/driver_gpio.c:	chip->request		= bcma_gpio_request;
+drivers/bcma/driver_gpio.c:	chip->free		= bcma_gpio_free;
+drivers/bcma/driver_gpio.c:	chip->get		= bcma_gpio_get_value;
+drivers/bcma/driver_gpio.c:	chip->set		= bcma_gpio_set_value;
+drivers/bcma/driver_gpio.c:	chip->direction_input	= bcma_gpio_direction_input;
+drivers/bcma/driver_gpio.c:	chip->direction_output	= bcma_gpio_direction_output;
+drivers/bcma/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/bcma/driver_gpio.c:	chip->parent		= bus->dev;
+drivers/bcma/driver_gpio.c:	chip->of_node		= cc->core->dev.of_node;
+drivers/bcma/driver_gpio.c:		chip->ngpio	= 32;
+drivers/bcma/driver_gpio.c:		chip->ngpio	= 16;
+drivers/bcma/driver_gpio.c:		chip->base		= bus->num * BCMA_GPIO_MAX_PINS;
+drivers/bcma/driver_gpio.c:		chip->base		= -1;
+drivers/bus/fsl-mc/fsl-mc-msi.c:	if (!chip->irq_write_msi_msg)
+drivers/bus/fsl-mc/fsl-mc-msi.c:		chip->irq_write_msi_msg = fsl_mc_msi_write_msg;
+drivers/bus/tegra-gmi.c:	 * chip-select address decoding. Which means that we only have one
+drivers/bus/tegra-gmi.c:	 * chip-select line from the GMI controller.
+drivers/char/tpm/eventlog/acpi.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/eventlog/acpi.c:	log = &chip->log;
+drivers/char/tpm/eventlog/acpi.c:	if (!chip->acpi_dev_handle)
+drivers/char/tpm/eventlog/acpi.c:		dev_warn(&chip->dev, "%s: TCPA log area empty\n", __func__);
+drivers/char/tpm/eventlog/common.c:	get_device(&chip->dev);
+drivers/char/tpm/eventlog/common.c:	put_device(&chip->dev);
+drivers/char/tpm/eventlog/common.c:	if (chip->log.bios_event_log != NULL) {
+drivers/char/tpm/eventlog/common.c:		dev_dbg(&chip->dev,
+drivers/char/tpm/eventlog/common.c:	const char *name = dev_name(&chip->dev);
+drivers/char/tpm/eventlog/common.c:	chip->bios_dir[cnt] = securityfs_create_dir(name, NULL);
+drivers/char/tpm/eventlog/common.c:	if (IS_ERR(chip->bios_dir[cnt]))
+drivers/char/tpm/eventlog/common.c:	chip->bin_log_seqops.chip = chip;
+drivers/char/tpm/eventlog/common.c:		chip->bin_log_seqops.seqops =
+drivers/char/tpm/eventlog/common.c:		chip->bin_log_seqops.seqops =
+drivers/char/tpm/eventlog/common.c:	chip->bios_dir[cnt] =
+drivers/char/tpm/eventlog/common.c:				   0440, chip->bios_dir[0],
+drivers/char/tpm/eventlog/common.c:				   (void *)&chip->bin_log_seqops,
+drivers/char/tpm/eventlog/common.c:	if (IS_ERR(chip->bios_dir[cnt]))
+drivers/char/tpm/eventlog/common.c:	if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) {
+drivers/char/tpm/eventlog/common.c:		chip->ascii_log_seqops.chip = chip;
+drivers/char/tpm/eventlog/common.c:		chip->ascii_log_seqops.seqops =
+drivers/char/tpm/eventlog/common.c:		chip->bios_dir[cnt] =
+drivers/char/tpm/eventlog/common.c:					       0440, chip->bios_dir[0],
+drivers/char/tpm/eventlog/common.c:					       (void *)&chip->ascii_log_seqops,
+drivers/char/tpm/eventlog/common.c:		if (IS_ERR(chip->bios_dir[cnt]))
+drivers/char/tpm/eventlog/common.c:	rc = PTR_ERR(chip->bios_dir[cnt]);
+drivers/char/tpm/eventlog/common.c:	chip->bios_dir[cnt] = NULL;
+drivers/char/tpm/eventlog/common.c:		if (chip->bios_dir[i]) {
+drivers/char/tpm/eventlog/common.c:			inode = d_inode(chip->bios_dir[i]);
+drivers/char/tpm/eventlog/common.c:			securityfs_remove(chip->bios_dir[i]);
+drivers/char/tpm/eventlog/efi.c:	if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
+drivers/char/tpm/eventlog/efi.c:	log = &chip->log;
+drivers/char/tpm/eventlog/of.c:	log = &chip->log;
+drivers/char/tpm/eventlog/of.c:	if (chip->dev.parent && chip->dev.parent->of_node)
+drivers/char/tpm/eventlog/of.c:		np = chip->dev.parent->of_node;
+drivers/char/tpm/eventlog/of.c:		chip->flags |= TPM_CHIP_FLAG_ALWAYS_POWERED;
+drivers/char/tpm/eventlog/of.c:		dev_warn(&chip->dev, "%s: Event log area empty\n", __func__);
+drivers/char/tpm/eventlog/of.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/eventlog/tpm1.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm1.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm2.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm2.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/eventlog/tpm2.c:	struct tpm_bios_log *log = &chip->log;
+drivers/char/tpm/st33zp24/i2c.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/i2c.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/i2c.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/spi.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/spi.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/spi.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	stop = jiffies + chip->timeout_d;
+drivers/char/tpm/st33zp24/st33zp24.c:	u8 status = chip->ops->status(chip);
+drivers/char/tpm/st33zp24/st33zp24.c:	if (check_cancel && chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/st33zp24/st33zp24.c:			status = chip->ops->status(chip);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:			     chip->timeout_c,
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:		    (chip, TPM_STS_COMMAND_READY, chip->timeout_b,
+drivers/char/tpm/st33zp24/st33zp24.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/st33zp24/st33zp24.c:		dev_err(&chip->dev, "Unable to read header\n");
+drivers/char/tpm/st33zp24/st33zp24.c:		dev_err(&chip->dev, "Unable to read remainder of result\n");
+drivers/char/tpm/st33zp24/st33zp24.c:	dev_set_drvdata(&chip->dev, tpm_dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_a = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_b = msecs_to_jiffies(TIS_LONG_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:	chip->timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/st33zp24/st33zp24.c:			dev_err(&chip->dev, "TPM SERIRQ signals %d not available\n",
+drivers/char/tpm/st33zp24/st33zp24.c:		chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/st33zp24/st33zp24.c:	dev_info(&chip->dev, "TPM initialization fail\n");
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:	struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/st33zp24/st33zp24.c:				TPM_STS_VALID, chip->timeout_b,
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->request_locality)
+drivers/char/tpm/tpm-chip.c:	rc = chip->ops->request_locality(chip, 0);
+drivers/char/tpm/tpm-chip.c:	chip->locality = rc;
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->relinquish_locality)
+drivers/char/tpm/tpm-chip.c:	rc = chip->ops->relinquish_locality(chip, chip->locality);
+drivers/char/tpm/tpm-chip.c:		dev_err(&chip->dev, "%s: : error %d\n", __func__, rc);
+drivers/char/tpm/tpm-chip.c:	chip->locality = -1;
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->cmd_ready)
+drivers/char/tpm/tpm-chip.c:	return chip->ops->cmd_ready(chip);
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops->go_idle)
+drivers/char/tpm/tpm-chip.c:	return chip->ops->go_idle(chip);
+drivers/char/tpm/tpm-chip.c:	if (chip->ops->clk_enable)
+drivers/char/tpm/tpm-chip.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm-chip.c:	if (chip->ops->clk_enable)
+drivers/char/tpm/tpm-chip.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm-chip.c:	if (chip->locality == -1) {
+drivers/char/tpm/tpm-chip.c:	get_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	down_read(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (!chip->ops)
+drivers/char/tpm/tpm-chip.c:	mutex_lock(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	mutex_unlock(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	up_read(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	mutex_unlock(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	up_read(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:			get_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	idr_remove(&dev_nums_idr, chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->log.bios_event_log);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->work_space.context_buf);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->work_space.session_buf);
+drivers/char/tpm/tpm-chip.c:	kfree(chip->allocated_banks);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	down_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-chip.c:	chip->ops = NULL;
+drivers/char/tpm/tpm-chip.c:	up_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c: * device number for it. Must be paired with put_device(&chip->dev).
+drivers/char/tpm/tpm-chip.c:	mutex_init(&chip->tpm_mutex);
+drivers/char/tpm/tpm-chip.c:	init_rwsem(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	chip->ops = ops;
+drivers/char/tpm/tpm-chip.c:	chip->dev_num = rc;
+drivers/char/tpm/tpm-chip.c:	device_initialize(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	device_initialize(&chip->devs);
+drivers/char/tpm/tpm-chip.c:	chip->dev.class = tpm_class;
+drivers/char/tpm/tpm-chip.c:	chip->dev.class->shutdown_pre = tpm_class_shutdown;
+drivers/char/tpm/tpm-chip.c:	chip->dev.release = tpm_dev_release;
+drivers/char/tpm/tpm-chip.c:	chip->dev.parent = pdev;
+drivers/char/tpm/tpm-chip.c:	chip->dev.groups = chip->groups;
+drivers/char/tpm/tpm-chip.c:	chip->devs.parent = pdev;
+drivers/char/tpm/tpm-chip.c:	chip->devs.class = tpmrm_class;
+drivers/char/tpm/tpm-chip.c:	chip->devs.release = tpm_devs_release;
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-chip.c:		get_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:	if (chip->dev_num == 0)
+drivers/char/tpm/tpm-chip.c:		chip->dev.devt = MKDEV(MISC_MAJOR, TPM_MINOR);
+drivers/char/tpm/tpm-chip.c:		chip->dev.devt = MKDEV(MAJOR(tpm_devt), chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	chip->devs.devt =
+drivers/char/tpm/tpm-chip.c:		MKDEV(MAJOR(tpm_devt), chip->dev_num + TPM_NUM_DEVICES);
+drivers/char/tpm/tpm-chip.c:	rc = dev_set_name(&chip->dev, "tpm%d", chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	rc = dev_set_name(&chip->devs, "tpmrm%d", chip->dev_num);
+drivers/char/tpm/tpm-chip.c:		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
+drivers/char/tpm/tpm-chip.c:	cdev_init(&chip->cdev, &tpm_fops);
+drivers/char/tpm/tpm-chip.c:	cdev_init(&chip->cdevs, &tpmrm_fops);
+drivers/char/tpm/tpm-chip.c:	chip->cdev.owner = THIS_MODULE;
+drivers/char/tpm/tpm-chip.c:	chip->cdevs.owner = THIS_MODULE;
+drivers/char/tpm/tpm-chip.c:	chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
+drivers/char/tpm/tpm-chip.c:	if (!chip->work_space.context_buf) {
+drivers/char/tpm/tpm-chip.c:	chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
+drivers/char/tpm/tpm-chip.c:	if (!chip->work_space.session_buf) {
+drivers/char/tpm/tpm-chip.c:	chip->locality = -1;
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->devs);
+drivers/char/tpm/tpm-chip.c:	put_device(&chip->dev);
+drivers/char/tpm/tpm-chip.c:				      &chip->dev);
+drivers/char/tpm/tpm-chip.c:	rc = cdev_device_add(&chip->cdev, &chip->dev);
+drivers/char/tpm/tpm-chip.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm-chip.c:			dev_name(&chip->dev), MAJOR(chip->dev.devt),
+drivers/char/tpm/tpm-chip.c:			MINOR(chip->dev.devt), rc);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-chip.c:		rc = cdev_device_add(&chip->cdevs, &chip->devs);
+drivers/char/tpm/tpm-chip.c:			dev_err(&chip->devs,
+drivers/char/tpm/tpm-chip.c:				dev_name(&chip->devs), MAJOR(chip->devs.devt),
+drivers/char/tpm/tpm-chip.c:				MINOR(chip->devs.devt), rc);
+drivers/char/tpm/tpm-chip.c:	idr_replace(&dev_nums_idr, chip, chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	cdev_device_del(&chip->cdev, &chip->dev);
+drivers/char/tpm/tpm-chip.c:	idr_replace(&dev_nums_idr, NULL, chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	down_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-chip.c:	chip->ops = NULL;
+drivers/char/tpm/tpm-chip.c:	up_write(&chip->ops_sem);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & (TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_VIRTUAL))
+drivers/char/tpm/tpm-chip.c:	sysfs_remove_link(&chip->dev.parent->kobj, "ppi");
+drivers/char/tpm/tpm-chip.c:	for (i = chip->groups[0]->attrs; *i != NULL; ++i)
+drivers/char/tpm/tpm-chip.c:		sysfs_remove_link(&chip->dev.parent->kobj, (*i)->name);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & (TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_VIRTUAL))
+drivers/char/tpm/tpm-chip.c:		    &chip->dev.parent->kobj, &chip->dev.kobj, "ppi");
+drivers/char/tpm/tpm-chip.c:	for (i = chip->groups[0]->attrs; *i != NULL; ++i) {
+drivers/char/tpm/tpm-chip.c:		    &chip->dev.parent->kobj, &chip->dev.kobj, (*i)->name);
+drivers/char/tpm/tpm-chip.c:	snprintf(chip->hwrng_name, sizeof(chip->hwrng_name),
+drivers/char/tpm/tpm-chip.c:		 "tpm-rng-%d", chip->dev_num);
+drivers/char/tpm/tpm-chip.c:	chip->hwrng.name = chip->hwrng_name;
+drivers/char/tpm/tpm-chip.c:	chip->hwrng.read = tpm_hwrng_read;
+drivers/char/tpm/tpm-chip.c:	return hwrng_register(&chip->hwrng);
+drivers/char/tpm/tpm-chip.c:	rc = (chip->flags & TPM_CHIP_FLAG_TPM2) ?
+drivers/char/tpm/tpm-chip.c:		hwrng_unregister(&chip->hwrng);
+drivers/char/tpm/tpm-chip.c:		hwrng_unregister(&chip->hwrng);
+drivers/char/tpm/tpm-chip.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-chip.c:		cdev_device_del(&chip->cdevs, &chip->devs);
+drivers/char/tpm/tpm-dev.c:	if (test_and_set_bit(0, &chip->is_open)) {
+drivers/char/tpm/tpm-dev.c:		dev_dbg(&chip->dev, "Another process owns this TPM\n");
+drivers/char/tpm/tpm-dev.c:	clear_bit(0, &chip->is_open);
+drivers/char/tpm/tpm-dev.c:	clear_bit(0, &priv->chip->is_open);
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm-interface.c:	rc = chip->ops->send(chip, buf, count);
+drivers/char/tpm/tpm-interface.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm-interface.c:		dev_warn(&chip->dev,
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ)
+drivers/char/tpm/tpm-interface.c:		u8 status = chip->ops->status(chip);
+drivers/char/tpm/tpm-interface.c:		if ((status & chip->ops->req_complete_mask) ==
+drivers/char/tpm/tpm-interface.c:		    chip->ops->req_complete_val)
+drivers/char/tpm/tpm-interface.c:		if (chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/tpm-interface.c:			dev_err(&chip->dev, "Operation Canceled\n");
+drivers/char/tpm/tpm-interface.c:	chip->ops->cancel(chip);
+drivers/char/tpm/tpm-interface.c:	dev_err(&chip->dev, "Operation Timed out\n");
+drivers/char/tpm/tpm-interface.c:	len = chip->ops->recv(chip, buf, bufsiz);
+drivers/char/tpm/tpm-interface.c:		dev_err(&chip->dev, "tpm_transmit: tpm_recv: error %d\n", rc);
+drivers/char/tpm/tpm-interface.c:				dev_err(&chip->dev, "in retry loop\n");
+drivers/char/tpm/tpm-interface.c:				dev_err(&chip->dev,
+drivers/char/tpm/tpm-interface.c:		dev_err(&chip->dev, "A TPM error (%d) occurred %s\n", err,
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_HAVE_TIMEOUTS)
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:	rc = (chip->flags & TPM_CHIP_FLAG_TPM2) != 0;
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c: * order of the banks in chip->allocated_banks.
+drivers/char/tpm/tpm-interface.c:	for (i = 0; i < chip->nr_allocated_banks; i++) {
+drivers/char/tpm/tpm-interface.c:		if (digests[i].alg_id != chip->allocated_banks[i].alg_id) {
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm-interface.c:	if (!(chip->ops->flags & TPM_OPS_AUTO_STARTUP))
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_ALWAYS_POWERED)
+drivers/char/tpm/tpm-interface.c:	if ((chip->flags & TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED) &&
+drivers/char/tpm/tpm-interface.c:		if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-interface.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-sysfs.c:	chip->ops->cancel(chip);
+drivers/char/tpm/tpm-sysfs.c:	if (chip->duration[TPM_LONG] == 0)
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->duration[TPM_SHORT]),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->duration[TPM_MEDIUM]),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->duration[TPM_LONG]),
+drivers/char/tpm/tpm-sysfs.c:		       chip->duration_adjusted
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_a),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_b),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_c),
+drivers/char/tpm/tpm-sysfs.c:		       jiffies_to_usecs(chip->timeout_d),
+drivers/char/tpm/tpm-sysfs.c:		       chip->timeout_adjusted
+drivers/char/tpm/tpm-sysfs.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm-sysfs.c:	WARN_ON(chip->groups_cnt != 0);
+drivers/char/tpm/tpm-sysfs.c:	chip->groups[chip->groups_cnt++] = &tpm_dev_group;
+drivers/char/tpm/tpm1-cmd.c:		duration = chip->duration[duration_idx];
+drivers/char/tpm/tpm1-cmd.c:	dev_info(&chip->dev, "starting up the TPM manually\n");
+drivers/char/tpm/tpm1-cmd.c:		dev_err(&chip->dev, "A TPM error (%zd) occurred attempting to determine the timeouts\n",
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[0] = jiffies_to_usecs(chip->timeout_a);
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[1] = jiffies_to_usecs(chip->timeout_b);
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[2] = jiffies_to_usecs(chip->timeout_c);
+drivers/char/tpm/tpm1-cmd.c:	timeout_old[3] = jiffies_to_usecs(chip->timeout_d);
+drivers/char/tpm/tpm1-cmd.c:	if (chip->ops->update_timeouts)
+drivers/char/tpm/tpm1-cmd.c:		chip->ops->update_timeouts(chip, timeout_eff);
+drivers/char/tpm/tpm1-cmd.c:	if (!chip->timeout_adjusted) {
+drivers/char/tpm/tpm1-cmd.c:			chip->timeout_adjusted = true;
+drivers/char/tpm/tpm1-cmd.c:			chip->timeout_adjusted = true;
+drivers/char/tpm/tpm1-cmd.c:	if (chip->timeout_adjusted) {
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, HW_ERR "Adjusting reported timeouts: A %lu->%luus B %lu->%luus C %lu->%luus D %lu->%luus\n",
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_a = usecs_to_jiffies(timeout_eff[0]);
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_b = usecs_to_jiffies(timeout_eff[1]);
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_c = usecs_to_jiffies(timeout_eff[2]);
+drivers/char/tpm/tpm1-cmd.c:	chip->timeout_d = usecs_to_jiffies(timeout_eff[3]);
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_SHORT] =
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_MEDIUM] =
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_LONG] =
+drivers/char/tpm/tpm1-cmd.c:	chip->duration[TPM_LONG_LONG] = 0; /* not used under 1.2 */
+drivers/char/tpm/tpm1-cmd.c:	if (chip->ops->update_durations)
+drivers/char/tpm/tpm1-cmd.c:		chip->ops->update_durations(chip, durations);
+drivers/char/tpm/tpm1-cmd.c:	if (chip->duration_adjusted) {
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, HW_ERR "Adjusting reported durations.");
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_SHORT] = durations[0];
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_MEDIUM] = durations[1];
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_LONG] = durations[2];
+drivers/char/tpm/tpm1-cmd.c:	if (chip->duration[TPM_SHORT] < (HZ / 100)) {
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_SHORT] = HZ;
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_MEDIUM] *= 1000;
+drivers/char/tpm/tpm1-cmd.c:		chip->duration[TPM_LONG] *= 1000;
+drivers/char/tpm/tpm1-cmd.c:		chip->duration_adjusted = true;
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, "Adjusting TPM timeout parameters.");
+drivers/char/tpm/tpm1-cmd.c:	chip->flags |= TPM_CHIP_FLAG_HAVE_TIMEOUTS;
+drivers/char/tpm/tpm1-cmd.c:		chip->flags |= TPM_CHIP_FLAG_ALWAYS_POWERED;
+drivers/char/tpm/tpm1-cmd.c:		dev_info(&chip->dev, "TPM not ready (%d)\n", rc);
+drivers/char/tpm/tpm1-cmd.c:			dev_info(&chip->dev, HW_ERR "TPM command timed out during continue self test");
+drivers/char/tpm/tpm1-cmd.c:			dev_info(&chip->dev, "TPM is disabled/deactivated (0x%X)\n",
+drivers/char/tpm/tpm1-cmd.c:		dev_err(&chip->dev, "TPM self test failed\n");
+drivers/char/tpm/tpm1-cmd.c:		dev_err(&chip->dev, "Error (%d) sending savestate before suspend\n",
+drivers/char/tpm/tpm1-cmd.c:		dev_warn(&chip->dev, "TPM savestate took %dms\n",
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks = kcalloc(1, sizeof(*chip->allocated_banks),
+drivers/char/tpm/tpm1-cmd.c:	if (!chip->allocated_banks)
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks[0].alg_id = TPM_ALG_SHA1;
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks[0].digest_size = hash_digest_size[HASH_ALGO_SHA1];
+drivers/char/tpm/tpm1-cmd.c:	chip->allocated_banks[0].crypto_id = HASH_ALGO_SHA1;
+drivers/char/tpm/tpm1-cmd.c:	chip->nr_allocated_banks = 1;
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_a = msecs_to_jiffies(TPM2_TIMEOUT_A);
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_b = msecs_to_jiffies(TPM2_TIMEOUT_B);
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_c = msecs_to_jiffies(TPM2_TIMEOUT_C);
+drivers/char/tpm/tpm2-cmd.c:	chip->timeout_d = msecs_to_jiffies(TPM2_TIMEOUT_D);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_SHORT] = msecs_to_jiffies(TPM2_DURATION_SHORT);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_MEDIUM] = msecs_to_jiffies(TPM2_DURATION_MEDIUM);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_LONG] = msecs_to_jiffies(TPM2_DURATION_LONG);
+drivers/char/tpm/tpm2-cmd.c:	chip->duration[TPM_LONG_LONG] =
+drivers/char/tpm/tpm2-cmd.c:	chip->flags |= TPM_CHIP_FLAG_HAVE_TIMEOUTS;
+drivers/char/tpm/tpm2-cmd.c:		return chip->duration[index];
+drivers/char/tpm/tpm2-cmd.c:		for (i = 0; i < chip->nr_allocated_banks &&
+drivers/char/tpm/tpm2-cmd.c:		     chip->allocated_banks[i].alg_id != digest->alg_id; i++)
+drivers/char/tpm/tpm2-cmd.c:		if (i == chip->nr_allocated_banks)
+drivers/char/tpm/tpm2-cmd.c:		expected_digest_size = chip->allocated_banks[i].digest_size;
+drivers/char/tpm/tpm2-cmd.c:	tpm_buf_append_u32(&buf, chip->nr_allocated_banks);
+drivers/char/tpm/tpm2-cmd.c:	for (i = 0; i < chip->nr_allocated_banks; i++) {
+drivers/char/tpm/tpm2-cmd.c:			       chip->allocated_banks[i].digest_size);
+drivers/char/tpm/tpm2-cmd.c:		dev_warn(&chip->dev, "0x%08x was not flushed, out of memory\n",
+drivers/char/tpm/tpm2-cmd.c:			chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm2-cmd.c:	struct tpm_bank_info *bank = chip->allocated_banks + bank_index;
+drivers/char/tpm/tpm2-cmd.c:	chip->allocated_banks = kcalloc(nr_possible_banks,
+drivers/char/tpm/tpm2-cmd.c:					sizeof(*chip->allocated_banks),
+drivers/char/tpm/tpm2-cmd.c:	if (!chip->allocated_banks) {
+drivers/char/tpm/tpm2-cmd.c:			chip->allocated_banks[nr_alloc_banks].alg_id = hash_alg;
+drivers/char/tpm/tpm2-cmd.c:	chip->nr_allocated_banks = nr_alloc_banks;
+drivers/char/tpm/tpm2-cmd.c:	chip->cc_attrs_tbl = devm_kcalloc(&chip->dev, 4, nr_commands,
+drivers/char/tpm/tpm2-cmd.c:	if (!chip->cc_attrs_tbl) {
+drivers/char/tpm/tpm2-cmd.c:	chip->nr_commands = nr_commands;
+drivers/char/tpm/tpm2-cmd.c:		chip->cc_attrs_tbl[i] = be32_to_cpup(attrs);
+drivers/char/tpm/tpm2-cmd.c:		cc = chip->cc_attrs_tbl[i] & 0xFFFF;
+drivers/char/tpm/tpm2-cmd.c:			chip->cc_attrs_tbl[i] &=
+drivers/char/tpm/tpm2-cmd.c:			chip->cc_attrs_tbl[i] |= 1 << TPM2_CC_ATTR_CHANDLES;
+drivers/char/tpm/tpm2-cmd.c:	dev_info(&chip->dev, "starting up the TPM manually\n");
+drivers/char/tpm/tpm2-cmd.c:	for (i = 0; i < chip->nr_commands; i++)
+drivers/char/tpm/tpm2-cmd.c:		if (cc == (chip->cc_attrs_tbl[i] & GENMASK(15, 0)))
+drivers/char/tpm/tpm2-space.c:	mutex_lock(&chip->tpm_mutex);
+drivers/char/tpm/tpm2-space.c:	mutex_unlock(&chip->tpm_mutex);
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a system error %d\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a TPM error 0x%04X\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a system error %d\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: failed with a TPM error 0x%04X\n",
+drivers/char/tpm/tpm2-space.c:		dev_warn(&chip->dev, "%s: out of backing storage\n", __func__);
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:			dev_err(&chip->dev, "context table is inconsistent");
+drivers/char/tpm/tpm2-space.c:			dev_warn(&chip->dev, "session restored to wrong handle\n");
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	attrs = chip->cc_attrs_tbl[i];
+drivers/char/tpm/tpm2-space.c:	if (len < TPM_HEADER_SIZE || !chip->nr_commands)
+drivers/char/tpm/tpm2-space.c:		dev_dbg(&chip->dev, "0x%04X is an invalid command\n",
+drivers/char/tpm/tpm2-space.c:	attrs = chip->cc_attrs_tbl[i];
+drivers/char/tpm/tpm2-space.c:	dev_dbg(&chip->dev, "%s: insufficient command length %zu", __func__,
+drivers/char/tpm/tpm2-space.c:	memcpy(&chip->work_space.context_tbl, &space->context_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(&chip->work_space.session_tbl, &space->session_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(chip->work_space.context_buf, space->context_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	memcpy(chip->work_space.session_buf, space->session_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	chip->last_cc = cc;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	attrs = chip->cc_attrs_tbl[i];
+drivers/char/tpm/tpm2-space.c:		dev_err(&chip->dev, "%s: unknown handle 0x%08X\n",
+drivers/char/tpm/tpm2-space.c:	dev_warn(&chip->dev, "%s: out of slots for 0x%08X\n", __func__,
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	struct tpm_space *space = &chip->work_space;
+drivers/char/tpm/tpm2-space.c:	rc = tpm2_map_response_header(chip, chip->last_cc, buf, *bufsiz);
+drivers/char/tpm/tpm2-space.c:	rc = tpm2_map_response_body(chip, chip->last_cc, buf, *bufsiz);
+drivers/char/tpm/tpm2-space.c:	memcpy(&space->context_tbl, &chip->work_space.context_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(&space->session_tbl, &chip->work_space.session_tbl,
+drivers/char/tpm/tpm2-space.c:	memcpy(space->context_buf, chip->work_space.context_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	memcpy(space->session_buf, chip->work_space.session_buf, PAGE_SIZE);
+drivers/char/tpm/tpm2-space.c:	dev_err(&chip->dev, "%s: error %d\n", __func__, rc);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:			dev_err(&chip->dev, "error reading header\n");
+drivers/char/tpm/tpm_atmel.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_atmel.c:				dev_err(&chip->dev, "error reading data\n");
+drivers/char/tpm/tpm_atmel.c:			dev_err(&chip->dev, "error reading data\n");
+drivers/char/tpm/tpm_atmel.c:		dev_err(&chip->dev, "data available is stuck\n");
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	dev_dbg(&chip->dev, "tpm_atml_send:\n");
+drivers/char/tpm/tpm_atmel.c:		dev_dbg(&chip->dev, "%d 0x%x(%d)\n",  i, buf[i], buf[i]);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_atmel.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_crb.c:	struct device *dev = &chip->dev;
+drivers/char/tpm/tpm_crb.c:	struct device *dev = &chip->dev;
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	return __crb_request_locality(&chip->dev, priv, loc);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	return __crb_relinquish_locality(&chip->dev, priv, loc);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	obj = acpi_evaluate_dsm(chip->acpi_dev_handle,
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:		dev_err(&chip->dev, "invalid command count value %zd %d\n",
+drivers/char/tpm/tpm_crb.c:		rc = tpm_crb_smc_start(&chip->dev, priv->smc_func_id);
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:		dev_err(&chip->dev, "ACPI Start failed\n");
+drivers/char/tpm/tpm_crb.c:	struct crb_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_crb.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_crb.c:	chip->acpi_dev_handle = device->handle;
+drivers/char/tpm/tpm_crb.c:	chip->flags = TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_ftpm_tee.c:	struct ftpm_tee_private *pvt_data = dev_get_drvdata(chip->dev.parent);
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_ftpm_tee.c:	struct ftpm_tee_private *pvt_data = dev_get_drvdata(chip->dev.parent);
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: tee_shm_get_va failed for transmit\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: SUBMIT_COMMAND invoke error: 0x%x\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: tee_shm_get_va failed for receive\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev, "%s: tpm response header too small\n",
+drivers/char/tpm/tpm_ftpm_tee.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_ftpm_tee.c:	pvt_data->chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_ftpm_tee.c:	put_device(&pvt_data->chip->dev);
+drivers/char/tpm/tpm_ftpm_tee.c:	put_device(&pvt_data->chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_atmel.c:		dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_err(&chip->dev, "TPM operation cancellation was requested, but is not supported");
+drivers/char/tpm/tpm_i2c_atmel.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_atmel.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_dbg(&chip->dev,
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_a = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_b = msecs_to_jiffies(TPM_I2C_LONG_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_c = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	chip->timeout_d = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_atmel.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_i2c_infineon.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_i2c_infineon.c:	stop = jiffies + chip->timeout_d;
+drivers/char/tpm/tpm_i2c_infineon.c:		dev_err(&chip->dev, "Unable to read header\n");
+drivers/char/tpm/tpm_i2c_infineon.c:		dev_err(&chip->dev, "Unable to read remainder of result\n");
+drivers/char/tpm/tpm_i2c_infineon.c:	wait_for_stat(chip, TPM_STS_VALID, chip->timeout_c, &status);
+drivers/char/tpm/tpm_i2c_infineon.c:		dev_err(&chip->dev, "Error left over data\n");
+drivers/char/tpm/tpm_i2c_infineon.c:		     chip->timeout_b, &status) < 0) {
+drivers/char/tpm/tpm_i2c_infineon.c:			      chip->timeout_c, &status);
+drivers/char/tpm/tpm_i2c_infineon.c:	wait_for_stat(chip, TPM_STS_VALID, chip->timeout_c, &status);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_a = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_b = msecs_to_jiffies(TIS_LONG_TIMEOUT);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_infineon.c:	chip->timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_nuvoton.c:		dev_err(&chip->dev, "%s() error return %d\n", __func__,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct i2c_client *client = to_i2c_client(chip->dev.parent);
+drivers/char/tpm/tpm_i2c_nuvoton.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	unsigned long stop = jiffies + chip->timeout_d;
+drivers/char/tpm/tpm_i2c_nuvoton.c:	if ((chip->flags & TPM_CHIP_FLAG_IRQ) && queue) {
+drivers/char/tpm/tpm_i2c_nuvoton.c:		struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	dev_err(&chip->dev, "%s(%02x, %02x) -> timeout\n", __func__, mask,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:					       chip->timeout_c,
+drivers/char/tpm/tpm_i2c_nuvoton.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_i2c_nuvoton.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_i2c_nuvoton.c:		dev_dbg(&chip->dev, "%s(%d):", __func__, bytes2read);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct device *dev = chip->dev.parent;
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip, chip->timeout_c, &priv->read_queue);
+drivers/char/tpm/tpm_i2c_nuvoton.c:			    TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_i2c_nuvoton.c:	dev_dbg(&chip->dev, "%s() -> %d\n", __func__, size);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct device *dev = chip->dev.parent;
+drivers/char/tpm/tpm_i2c_nuvoton.c:					      chip->timeout_b, NULL)) {
+drivers/char/tpm/tpm_i2c_nuvoton.c:						       chip->timeout_c,
+drivers/char/tpm/tpm_i2c_nuvoton.c:					       chip->timeout_c, NULL);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	struct priv_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_a = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_b = msecs_to_jiffies(TPM_I2C_LONG_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_c = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	chip->timeout_d = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
+drivers/char/tpm/tpm_i2c_nuvoton.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_i2c_nuvoton.c:				      dev_name(&chip->dev),
+drivers/char/tpm/tpm_i2c_nuvoton.c:			chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_i2c_nuvoton.c:						       chip->timeout_b,
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:		ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_ibmvtpm.c:	dev_set_drvdata(&chip->dev, ibmvtpm);
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev, "Timeout in wait(STAT_XFE)\n");
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev, "Timeout in wait(STAT_RDA)\n");
+drivers/char/tpm/tpm_infineon.c:	dev_info(&chip->dev, "Granting WTX (%02d / %02d)\n",
+drivers/char/tpm/tpm_infineon.c:	dev_info(&chip->dev, "Aborting WTX\n");
+drivers/char/tpm/tpm_infineon.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev, "Error handling on vendor layer!\n");
+drivers/char/tpm/tpm_infineon.c:		dev_info(&chip->dev, "WTX-package received\n");
+drivers/char/tpm/tpm_infineon.c:		dev_info(&chip->dev, "WTX-abort acknowledged\n");
+drivers/char/tpm/tpm_infineon.c:		dev_err(&chip->dev, "ERROR-package received:\n");
+drivers/char/tpm/tpm_infineon.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_infineon.c:		dev_err(&chip->dev, "Timeout while clearing FIFO\n");
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	dev_info(&chip->dev, "wait for ready failed\n");
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "F0 timeout\n");
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "not in normal mode (0x%x)\n",
+drivers/char/tpm/tpm_nsc.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "F0 not set\n");
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "IBF timeout\n");
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "IBR timeout\n");
+drivers/char/tpm/tpm_nsc.c:			dev_err(&chip->dev,
+drivers/char/tpm/tpm_nsc.c:		dev_err(&chip->dev, "IBF timeout\n");
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	struct tpm_nsc_priv *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_nsc.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_ppi.c:	return scnprintf(buf, PAGE_SIZE, "%s\n", chip->ppi_version);
+drivers/char/tpm/tpm_ppi.c:	if (strcmp(chip->ppi_version, "1.2") < 0)
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, TPM_PPI_FN_GETREQ,
+drivers/char/tpm/tpm_ppi.c:	if (acpi_check_dsm(chip->acpi_dev_handle, &tpm_ppi_guid,
+drivers/char/tpm/tpm_ppi.c:	if (strcmp(chip->ppi_version, "1.3") == 0) {
+drivers/char/tpm/tpm_ppi.c:	} else if (strcmp(chip->ppi_version, "1.2") < 0) {
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, func, ACPI_TYPE_INTEGER,
+drivers/char/tpm/tpm_ppi.c:	if (strcmp(chip->ppi_version, "1.2") < 0)
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, TPM_PPI_FN_GETACT,
+drivers/char/tpm/tpm_ppi.c:	obj = tpm_eval_dsm(chip->acpi_dev_handle, TPM_PPI_FN_GETRSP,
+drivers/char/tpm/tpm_ppi.c:	return show_ppi_operations(chip->acpi_dev_handle, buf, 0,
+drivers/char/tpm/tpm_ppi.c:	return show_ppi_operations(chip->acpi_dev_handle, buf, PPI_VS_REQ_START,
+drivers/char/tpm/tpm_ppi.c:	if (!chip->acpi_dev_handle)
+drivers/char/tpm/tpm_ppi.c:	if (!acpi_check_dsm(chip->acpi_dev_handle, &tpm_ppi_guid,
+drivers/char/tpm/tpm_ppi.c:	obj = acpi_evaluate_dsm_typed(chip->acpi_dev_handle, &tpm_ppi_guid,
+drivers/char/tpm/tpm_ppi.c:		strlcpy(chip->ppi_version, obj->string.pointer,
+drivers/char/tpm/tpm_ppi.c:			sizeof(chip->ppi_version));
+drivers/char/tpm/tpm_ppi.c:	chip->groups[chip->groups_cnt++] = &ppi_attr_grp;
+drivers/char/tpm/tpm_tis_core.c:	u8 status = chip->ops->status(chip);
+drivers/char/tpm/tpm_tis_core.c:	if (check_cancel && chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/tpm_tis_core.c:	status = chip->ops->status(chip);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:			status = chip->ops->status(chip);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	unsigned long stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm_tis_core.c:		stop = jiffies + chip->timeout_a;
+drivers/char/tpm/tpm_tis_core.c:		stop = jiffies + chip->timeout_d;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:				 chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:			dev_err(&chip->dev, "Unable to read burstcount\n");
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:		dev_err(&chip->dev, "Unable to read header\n");
+drivers/char/tpm/tpm_tis_core.c:		dev_err(&chip->dev, "Unable to read remainder of result\n");
+drivers/char/tpm/tpm_tis_core.c:	if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:		dev_err(&chip->dev, "Error left over data\n");
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:		    (chip, TPM_STS_COMMAND_READY, chip->timeout_b,
+drivers/char/tpm/tpm_tis_core.c:			dev_err(&chip->dev, "Unable to read burstcount\n");
+drivers/char/tpm/tpm_tis_core.c:		if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:	if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	devm_free_irq(chip->dev.parent, priv->irq, chip);
+drivers/char/tpm/tpm_tis_core.c:	chip->flags &= ~TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (!(chip->flags & TPM_CHIP_FLAG_IRQ) || priv->irq_tested)
+drivers/char/tpm/tpm_tis_core.c:	chip->flags &= ~TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:	chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	chip->duration_adjusted = false;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:		dev_warn(&chip->dev, "%s: failed to read did_vid. %d\n",
+drivers/char/tpm/tpm_tis_core.c:			chip->duration_adjusted = true;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_adjusted = false;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:		dev_warn(&chip->dev, "%s: failed to read did_vid: %d\n",
+drivers/char/tpm/tpm_tis_core.c:		chip->timeout_adjusted = true;
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:		dev_info(&chip->dev, "Detected an iTPM.\n");
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (devm_request_irq(chip->dev.parent, irq, tis_int_handler, flags,
+drivers/char/tpm/tpm_tis_core.c:			     dev_name(&chip->dev), chip) != 0) {
+drivers/char/tpm/tpm_tis_core.c:		dev_info(&chip->dev, "Unable to request irq: %d for probe\n",
+drivers/char/tpm/tpm_tis_core.c:	if (!(chip->flags & TPM_CHIP_FLAG_IRQ)) {
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c: * path, since the chip->ops is set to NULL in tpm_chip_unregister().
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *data = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	chip->acpi_dev_handle = acpi_dev_handle;
+drivers/char/tpm/tpm_tis_core.c:	chip->hwrng.quality = priv->rng_quality;
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_a = msecs_to_jiffies(TIS_TIMEOUT_A_MAX);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_b = msecs_to_jiffies(TIS_TIMEOUT_B_MAX);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_c = msecs_to_jiffies(TIS_TIMEOUT_C_MAX);
+drivers/char/tpm/tpm_tis_core.c:	chip->timeout_d = msecs_to_jiffies(TIS_TIMEOUT_D_MAX);
+drivers/char/tpm/tpm_tis_core.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:		 (chip->flags & TPM_CHIP_FLAG_TPM2) ? "2.0" : "1.2",
+drivers/char/tpm/tpm_tis_core.c:		chip->flags |= TPM_CHIP_FLAG_IRQ;
+drivers/char/tpm/tpm_tis_core.c:			if (!(chip->flags & TPM_CHIP_FLAG_IRQ))
+drivers/char/tpm/tpm_tis_core.c:				dev_err(&chip->dev, FW_BUG
+drivers/char/tpm/tpm_tis_core.c:	if ((chip->ops != NULL) && (chip->ops->clk_enable != NULL))
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, true);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->ops->clk_enable != NULL)
+drivers/char/tpm/tpm_tis_core.c:		chip->ops->clk_enable(chip, false);
+drivers/char/tpm/tpm_tis_core.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ)
+drivers/char/tpm/tpm_tis_core.c:	if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
+drivers/char/tpm/tpm_tis_spi_cr50.c:	chip->flags |= TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED;
+drivers/char/tpm/tpm_tis_spi_cr50.c:	struct tpm_tis_data *data = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_vtpm_proxy.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:		dev_err(&chip->dev,
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+drivers/char/tpm/tpm_vtpm_proxy.c:	dev_set_drvdata(&chip->dev, proxy_dev);
+drivers/char/tpm/tpm_vtpm_proxy.c:	put_device(&proxy_dev->chip->dev); /* frees chip */
+drivers/char/tpm/tpm_vtpm_proxy.c:		proxy_dev->chip->flags |= TPM_CHIP_FLAG_TPM2;
+drivers/char/tpm/tpm_vtpm_proxy.c:	vtpm_new_dev->major = MAJOR(proxy_dev->chip->dev.devt);
+drivers/char/tpm/tpm_vtpm_proxy.c:	vtpm_new_dev->minor = MINOR(proxy_dev->chip->dev.devt);
+drivers/char/tpm/tpm_vtpm_proxy.c:	vtpm_new_dev->tpm_num = proxy_dev->chip->dev_num;
+drivers/char/tpm/xen-tpmfront.c:	u8 status = chip->ops->status(chip);
+drivers/char/tpm/xen-tpmfront.c:	if (check_cancel && chip->ops->req_canceled(chip, status)) {
+drivers/char/tpm/xen-tpmfront.c:	status = chip->ops->status(chip);
+drivers/char/tpm/xen-tpmfront.c:	if (chip->flags & TPM_CHIP_FLAG_IRQ) {
+drivers/char/tpm/xen-tpmfront.c:			status = chip->ops->status(chip);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	if (wait_for_tpm_stat(chip, VTPM_STATUS_IDLE, chip->timeout_c,
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	if (wait_for_tpm_stat(chip, VTPM_STATUS_RESULT, chip->timeout_c,
+drivers/char/tpm/xen-tpmfront.c:	dev_set_drvdata(&chip->dev, priv);
+drivers/char/tpm/xen-tpmfront.c:	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
+drivers/char/tpm/xen-tpmfront.c:	dev_set_drvdata(&chip->dev, NULL);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:			regmap_write(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:	regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_write(data->chip->regmap, 0x03, pdiv & 0xFF);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x16, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x17, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x26, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x27, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x36, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x37, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x46, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x47, 0x7F, pdiv);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap,
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x14, 0x03, 0x03);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x24, 0x03, 0x03);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x34, 0x03, 0x03);
+drivers/clk/clk-cdce925.c:		regmap_update_bits(data->chip->regmap, 0x44, 0x03, 0x03);
+drivers/clk/davinci/da8xx-cfgchip.c:		.name		= "da8xx-cfgchip-clk",
+drivers/cpufreq/powernv-cpufreq.c:	return sprintf(buf, "%u\n", chip->member);			\
+drivers/cpufreq/powernv-cpufreq.c:		if (chip->throttled)
+drivers/cpufreq/powernv-cpufreq.c:		chip->throttled = true;
+drivers/cpufreq/powernv-cpufreq.c:				     cpu, chip->id, pmsr_pmax,
+drivers/cpufreq/powernv-cpufreq.c:			chip->throttle_sub_turbo++;
+drivers/cpufreq/powernv-cpufreq.c:			chip->throttle_turbo++;
+drivers/cpufreq/powernv-cpufreq.c:		trace_powernv_throttle(chip->id,
+drivers/cpufreq/powernv-cpufreq.c:				      throttle_reason[chip->throttle_reason],
+drivers/cpufreq/powernv-cpufreq.c:	} else if (chip->throttled) {
+drivers/cpufreq/powernv-cpufreq.c:		chip->throttled = false;
+drivers/cpufreq/powernv-cpufreq.c:		trace_powernv_throttle(chip->id,
+drivers/cpufreq/powernv-cpufreq.c:				      throttle_reason[chip->throttle_reason],
+drivers/cpufreq/powernv-cpufreq.c:	cpumask_and(&mask, &chip->mask, cpu_online_mask);
+drivers/cpufreq/powernv-cpufreq.c:	if (!chip->restore)
+drivers/cpufreq/powernv-cpufreq.c:	chip->restore = false;
+drivers/crypto/nx/nx-842-powernv.c:		pr_err("ibm,chip-id missing\n");
+drivers/crypto/nx/nx-842-powernv.c:		pr_err("ibm,chip-id missing\n");
+drivers/devfreq/event/Makefile:obj-$(CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI) += rockchip-dfi.o
+drivers/devfreq/event/rockchip-dfi.c:		.name	= "rockchip-dfi",
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	iowrite32(val, chip->regs + reg);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	return ioread32(chip->regs + reg);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	for (i = 0; i < chip->dw->hdata->nr_channels; i++) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_irq_disable(&chip->dw->chan[i], DWAXIDMAC_IRQ_ALL);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_disable(&chip->dw->chan[i]);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	u32 max_width = chan->chip->dw->hdata->m_data_width;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chan->chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chan->chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	u32 priority = chan->chip->dw->hdata->priority[chan->id];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_get(chan->chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_put(chan->chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (desc->chan->chip->dw->hdata->nr_masters > 1)
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	max_block_ts = chan->chip->dw->hdata->block_size[chan->id];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		if (chan->chip->dw->hdata->restrict_axi_burst_len) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:			u32 burst_len = chan->chip->dw->hdata->axi_rw_burst_len;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		dev_vdbg(chip->dev, "%s %u IRQ status: 0x%08x\n",
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_disable_unprepare(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_disable_unprepare(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	ret = clk_prepare_enable(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	ret = clk_prepare_enable(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct device *dev = chip->dev;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata->nr_channels = tmp;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata->nr_masters = tmp;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata->m_data_width = tmp;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:					     chip->dw->hdata->nr_channels);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	for (tmp = 0; tmp < chip->dw->hdata->nr_channels; tmp++) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->block_size[tmp] = carr[tmp];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:					     chip->dw->hdata->nr_channels);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	for (tmp = 0; tmp < chip->dw->hdata->nr_channels; tmp++) {
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		if (carr[tmp] >= chip->dw->hdata->nr_channels)
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->priority[tmp] = carr[tmp];
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->restrict_axi_burst_len = true;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chip->dw->hdata->axi_rw_burst_len = tmp - 1;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw = dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dev = &pdev->dev;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->dw->hdata = hdata;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (chip->irq < 0)
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return chip->irq;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->regs = devm_ioremap_resource(chip->dev, mem);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (IS_ERR(chip->regs))
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return PTR_ERR(chip->regs);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->core_clk = devm_clk_get(chip->dev, "core-clk");
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (IS_ERR(chip->core_clk))
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return PTR_ERR(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	chip->cfgr_clk = devm_clk_get(chip->dev, "cfgr-clk");
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	if (IS_ERR(chip->cfgr_clk))
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		return PTR_ERR(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dw->chan = devm_kcalloc(chip->dev, hdata->nr_channels,
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	ret = devm_request_irq(chip->dev, chip->irq, dw_axi_dma_interrupt,
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dw->desc_pool = dmam_pool_create(KBUILD_MODNAME, chip->dev,
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		dev_err(chip->dev, "No memory for descriptors dma pool\n");
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		chan->chan_regs = chip->regs + COMMON_REG_LEN + i * CHAN_REG_LEN;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dw->dma.dev = chip->dev;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_enable(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_get_noresume(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_put(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	dev_info(chip->dev, "DesignWare AXI DMA Controller, %d channels\n",
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_disable(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	struct dw_axi_dma *dw = chip->dw;
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_prepare_enable(chip->cfgr_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	clk_prepare_enable(chip->core_clk);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_disable(&chip->dw->chan[i]);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:		axi_chan_irq_disable(&chip->dw->chan[i], DWAXIDMAC_IRQ_ALL);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	pm_runtime_disable(chip->dev);
+drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:	devm_free_irq(chip->dev, chip->irq, chip);
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	pm_runtime_get(chan->chip->dev);
+drivers/dma/dw-edma/dw-edma-core.c:	pm_runtime_put(chan->chip->dev);
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	dma->dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-core.c:	snprintf(dw->name, sizeof(dw->name), "dw-edma-core:%d", chip->id);
+drivers/dma/dw-edma/dw-edma-core.c:	struct device *dev = chip->dev;
+drivers/dma/dw-edma/dw-edma-core.c:	struct dw_edma *dw = chip->dw;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->dw = dw;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->dev = dev;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->id = pdev->devfn;
+drivers/dma/dw-edma/dw-edma-pcie.c:	chip->irq = pdev->irq;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-core.c:	struct dw_edma *dw = chan->chip->dw;
+drivers/dma/dw-edma/dw-edma-v0-debugfs.c:	dw = chip->dw;
+drivers/dma/dw/core.c:	struct dw_dma *dw = chip->dw;
+drivers/dma/dw/core.c:	dw->pdata = devm_kzalloc(chip->dev, sizeof(*dw->pdata), GFP_KERNEL);
+drivers/dma/dw/core.c:	dw->regs = chip->regs;
+drivers/dma/dw/core.c:	pm_runtime_get_sync(chip->dev);
+drivers/dma/dw/core.c:	if (!chip->pdata) {
+drivers/dma/dw/core.c:		dev_dbg(chip->dev, "DW_PARAMS: 0x%08x\n", dw_params);
+drivers/dma/dw/core.c:	} else if (chip->pdata->nr_channels > DW_DMA_MAX_NR_CHANNELS) {
+drivers/dma/dw/core.c:		memcpy(dw->pdata, chip->pdata, sizeof(*dw->pdata));
+drivers/dma/dw/core.c:	dw->chan = devm_kcalloc(chip->dev, pdata->nr_channels, sizeof(*dw->chan),
+drivers/dma/dw/core.c:	dw->set_device_name(dw, chip->id);
+drivers/dma/dw/core.c:	dw->desc_pool = dmam_pool_create(dw->name, chip->dev,
+drivers/dma/dw/core.c:		dev_err(chip->dev, "No memory for descriptors dma pool\n");
+drivers/dma/dw/core.c:	err = request_irq(chip->irq, dw_dma_interrupt, IRQF_SHARED,
+drivers/dma/dw/core.c:			dev_dbg(chip->dev, "DWC_PARAMS[%d]: 0x%08x\n", i,
+drivers/dma/dw/core.c:	dw->dma.dev = chip->dev;
+drivers/dma/dw/core.c:	dev_info(chip->dev, "DesignWare DMA Controller, %d channels\n",
+drivers/dma/dw/core.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/core.c:	free_irq(chip->irq, dw);
+drivers/dma/dw/core.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/core.c:	struct dw_dma		*dw = chip->dw;
+drivers/dma/dw/core.c:	pm_runtime_get_sync(chip->dev);
+drivers/dma/dw/core.c:	free_irq(chip->irq, dw);
+drivers/dma/dw/core.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/core.c:	struct dw_dma *dw = chip->dw;
+drivers/dma/dw/core.c:	struct dw_dma *dw = chip->dw;
+drivers/dma/dw/dw.c:	dw = devm_kzalloc(chip->dev, sizeof(*dw), GFP_KERNEL);
+drivers/dma/dw/dw.c:	chip->dw = dw;
+drivers/dma/dw/idma32.c:	dw = devm_kzalloc(chip->dev, sizeof(*dw), GFP_KERNEL);
+drivers/dma/dw/idma32.c:	chip->dw = dw;
+drivers/dma/dw/pci.c:	chip->dev = &pdev->dev;
+drivers/dma/dw/pci.c:	chip->id = pdev->devfn;
+drivers/dma/dw/pci.c:	chip->regs = pcim_iomap_table(pdev)[0];
+drivers/dma/dw/pci.c:	chip->irq = pdev->irq;
+drivers/dma/dw/pci.c:	chip->pdata = data->pdata;
+drivers/dma/dw/platform.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/dma/dw/platform.c:	if (chip->irq < 0)
+drivers/dma/dw/platform.c:		return chip->irq;
+drivers/dma/dw/platform.c:	chip->regs = devm_platform_ioremap_resource(pdev, 0);
+drivers/dma/dw/platform.c:	if (IS_ERR(chip->regs))
+drivers/dma/dw/platform.c:		return PTR_ERR(chip->regs);
+drivers/dma/dw/platform.c:	chip->dev = dev;
+drivers/dma/dw/platform.c:	chip->id = pdev->id;
+drivers/dma/dw/platform.c:	chip->pdata = data->pdata;
+drivers/dma/dw/platform.c:	chip->clk = devm_clk_get_optional(chip->dev, "hclk");
+drivers/dma/dw/platform.c:	if (IS_ERR(chip->clk))
+drivers/dma/dw/platform.c:		return PTR_ERR(chip->clk);
+drivers/dma/dw/platform.c:	err = clk_prepare_enable(chip->clk);
+drivers/dma/dw/platform.c:	dw_dma_of_controller_register(chip->dw);
+drivers/dma/dw/platform.c:	dw_dma_acpi_controller_register(chip->dw);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	dw_dma_acpi_controller_free(chip->dw);
+drivers/dma/dw/platform.c:	dw_dma_of_controller_free(chip->dw);
+drivers/dma/dw/platform.c:		dev_warn(chip->dev, "can't remove device properly: %d\n", ret);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	pm_runtime_get_sync(chip->dev);
+drivers/dma/dw/platform.c:	pm_runtime_put_sync_suspend(chip->dev);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	clk_disable_unprepare(chip->clk);
+drivers/dma/dw/platform.c:	ret = clk_prepare_enable(chip->clk);
+drivers/dma/hsu/hsu.c:	if (nr >= chip->hsu->nr_channels)
+drivers/dma/hsu/hsu.c:	hsuc = &chip->hsu->chan[nr];
+drivers/dma/hsu/hsu.c:	if (nr >= chip->hsu->nr_channels)
+drivers/dma/hsu/hsu.c:	hsuc = &chip->hsu->chan[nr];
+drivers/dma/hsu/hsu.c:	void __iomem *addr = chip->regs + chip->offset;
+drivers/dma/hsu/hsu.c:	hsu = devm_kzalloc(chip->dev, sizeof(*hsu), GFP_KERNEL);
+drivers/dma/hsu/hsu.c:	chip->hsu = hsu;
+drivers/dma/hsu/hsu.c:	hsu->nr_channels = (chip->length - chip->offset) / HSU_DMA_CHAN_LENGTH;
+drivers/dma/hsu/hsu.c:	hsu->chan = devm_kcalloc(chip->dev, hsu->nr_channels,
+drivers/dma/hsu/hsu.c:	hsu->dma.dev = chip->dev;
+drivers/dma/hsu/hsu.c:	dev_info(chip->dev, "Found HSU DMA, %d channels\n", hsu->nr_channels);
+drivers/dma/hsu/hsu.c:	struct hsu_dma *hsu = chip->hsu;
+drivers/dma/hsu/pci.c:	struct pci_dev *pdev = to_pci_dev(chip->dev);
+drivers/dma/hsu/pci.c:	dmaisr = readl(chip->regs + HSU_PCI_DMAISR);
+drivers/dma/hsu/pci.c:	for (i = 0; i < chip->hsu->nr_channels; i++) {
+drivers/dma/hsu/pci.c:	chip->dev = &pdev->dev;
+drivers/dma/hsu/pci.c:	chip->regs = pcim_iomap_table(pdev)[0];
+drivers/dma/hsu/pci.c:	chip->length = pci_resource_len(pdev, 0);
+drivers/dma/hsu/pci.c:	chip->offset = HSU_PCI_CHAN_OFFSET;
+drivers/dma/hsu/pci.c:	chip->irq = pci_irq_vector(pdev, 0);
+drivers/dma/hsu/pci.c:	ret = request_irq(chip->irq, hsu_pci_irq, 0, "hsu_dma_pci", chip);
+drivers/dma/hsu/pci.c:	free_irq(chip->irq, chip);
+drivers/dma/idma64.c:	idma64 = devm_kzalloc(chip->dev, sizeof(*idma64), GFP_KERNEL);
+drivers/dma/idma64.c:	idma64->regs = chip->regs;
+drivers/dma/idma64.c:	chip->idma64 = idma64;
+drivers/dma/idma64.c:	idma64->chan = devm_kcalloc(chip->dev, nr_chan, sizeof(*idma64->chan),
+drivers/dma/idma64.c:	ret = devm_request_irq(chip->dev, chip->irq, idma64_irq, IRQF_SHARED,
+drivers/dma/idma64.c:			       dev_name(chip->dev), idma64);
+drivers/dma/idma64.c:	idma64->dma.dev = chip->sysdev;
+drivers/dma/idma64.c:	dev_info(chip->dev, "Found Intel integrated DMA 64-bit\n");
+drivers/dma/idma64.c:	struct idma64 *idma64 = chip->idma64;
+drivers/dma/idma64.c:	devm_free_irq(chip->dev, chip->irq, idma64);
+drivers/dma/idma64.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/dma/idma64.c:	if (chip->irq < 0)
+drivers/dma/idma64.c:		return chip->irq;
+drivers/dma/idma64.c:	chip->regs = devm_ioremap_resource(dev, mem);
+drivers/dma/idma64.c:	if (IS_ERR(chip->regs))
+drivers/dma/idma64.c:		return PTR_ERR(chip->regs);
+drivers/dma/idma64.c:	chip->dev = dev;
+drivers/dma/idma64.c:	chip->sysdev = sysdev;
+drivers/dma/idma64.c:	idma64_off(chip->idma64);
+drivers/dma/idma64.c:	idma64_on(chip->idma64);
+drivers/edac/amd76x_edac.c:					 * 31:23 chip-select base
+drivers/edac/amd76x_edac.c:					 * 15:7  chip-select mask
+drivers/edac/amd76x_edac.c:					 *  0    chip-select enable
+drivers/edac/i5100_edac.c: * can not reflect this configuration so instead the chip-select
+drivers/firmware/meson/meson_sm.c:	const struct meson_sm_cmd *cmd = chip->cmd;
+drivers/firmware/meson/meson_sm.c:	if (!fw->chip->cmd_shmem_out_base)
+drivers/firmware/meson/meson_sm.c:	if (bsize > fw->chip->shmem_size)
+drivers/firmware/meson/meson_sm.c:	if (size > fw->chip->shmem_size)
+drivers/firmware/meson/meson_sm.c:	if (!fw->chip->cmd_shmem_in_base)
+drivers/firmware/meson/meson_sm.c:	if (chip->cmd_shmem_in_base) {
+drivers/firmware/meson/meson_sm.c:		fw->sm_shmem_in_base = meson_sm_map_shmem(chip->cmd_shmem_in_base,
+drivers/firmware/meson/meson_sm.c:							  chip->shmem_size);
+drivers/firmware/meson/meson_sm.c:	if (chip->cmd_shmem_out_base) {
+drivers/firmware/meson/meson_sm.c:		fw->sm_shmem_out_base = meson_sm_map_shmem(chip->cmd_shmem_out_base,
+drivers/firmware/meson/meson_sm.c:							   chip->shmem_size);
+drivers/firmware/tegra/bpmp-tegra210.c:	if (irq_data->chip->irq_retrigger)
+drivers/firmware/tegra/bpmp-tegra210.c:		return irq_data->chip->irq_retrigger(irq_data);
+drivers/fpga/ice40-spi.c:	/* Abort if the chip-select failed */
+drivers/fsi/fsi-core.c:		if (!of_property_read_u32(slave->dev.of_node, "chip-id", &prop))
+drivers/gpio/gpio-104-dio-48e.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-104-dio-48e.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-104-idi-48.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-104-idi-48.c:			generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-104-idio-16.c:	chip->set(chip, offset, value);
+drivers/gpio/gpio-104-idio-16.c:	for_each_set_bit(gpio, &idio16gpio->irq_mask, chip->ngpio)
+drivers/gpio/gpio-104-idio-16.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, gpio));
+drivers/gpio/gpio-74x164.c:	return spi_write(to_spi_device(chip->gpio_chip.parent), chip->buffer,
+drivers/gpio/gpio-74x164.c:			 chip->registers);
+drivers/gpio/gpio-74x164.c:	u8 bank = chip->registers - 1 - offset / 8;
+drivers/gpio/gpio-74x164.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	ret = (chip->buffer[bank] >> pin) & 0x1;
+drivers/gpio/gpio-74x164.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	u8 bank = chip->registers - 1 - offset / 8;
+drivers/gpio/gpio-74x164.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] |= (1 << pin);
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] &= ~(1 << pin);
+drivers/gpio/gpio-74x164.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	for_each_set_clump8(offset, bankmask, mask, chip->registers * 8) {
+drivers/gpio/gpio-74x164.c:		bank = chip->registers - 1 - offset / 8;
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] &= ~bankmask;
+drivers/gpio/gpio-74x164.c:		chip->buffer[bank] |= bitmask;
+drivers/gpio/gpio-74x164.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-74x164.c:	chip->gpiod_oe = devm_gpiod_get_optional(&spi->dev, "enable",
+drivers/gpio/gpio-74x164.c:	if (IS_ERR(chip->gpiod_oe))
+drivers/gpio/gpio-74x164.c:		return PTR_ERR(chip->gpiod_oe);
+drivers/gpio/gpio-74x164.c:	gpiod_set_value_cansleep(chip->gpiod_oe, 1);
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.label = spi->modalias;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.direction_output = gen_74x164_direction_output;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.get = gen_74x164_get_value;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.set = gen_74x164_set_value;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.set_multiple = gen_74x164_set_multiple;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.base = -1;
+drivers/gpio/gpio-74x164.c:	chip->registers = nregs;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.can_sleep = true;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.parent = &spi->dev;
+drivers/gpio/gpio-74x164.c:	chip->gpio_chip.owner = THIS_MODULE;
+drivers/gpio/gpio-74x164.c:	mutex_init(&chip->lock);
+drivers/gpio/gpio-74x164.c:	ret = gpiochip_add_data(&chip->gpio_chip, chip);
+drivers/gpio/gpio-74x164.c:	mutex_destroy(&chip->lock);
+drivers/gpio/gpio-74x164.c:	gpiod_set_value_cansleep(chip->gpiod_oe, 0);
+drivers/gpio/gpio-74x164.c:	gpiochip_remove(&chip->gpio_chip);
+drivers/gpio/gpio-74x164.c:	mutex_destroy(&chip->lock);
+drivers/gpio/gpio-adnp.c:	chip->direction_input = adnp_gpio_direction_input;
+drivers/gpio/gpio-adnp.c:	chip->direction_output = adnp_gpio_direction_output;
+drivers/gpio/gpio-adnp.c:	chip->get = adnp_gpio_get;
+drivers/gpio/gpio-adnp.c:	chip->set = adnp_gpio_set;
+drivers/gpio/gpio-adnp.c:	chip->can_sleep = true;
+drivers/gpio/gpio-adnp.c:		chip->dbg_show = adnp_gpio_dbg_show;
+drivers/gpio/gpio-adnp.c:	chip->base = -1;
+drivers/gpio/gpio-adnp.c:	chip->ngpio = num_gpios;
+drivers/gpio/gpio-adnp.c:	chip->label = adnp->client->name;
+drivers/gpio/gpio-adnp.c:	chip->parent = &adnp->client->dev;
+drivers/gpio/gpio-adnp.c:	chip->of_node = chip->parent->of_node;
+drivers/gpio/gpio-adnp.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-adnp.c:	adnp->irq_enable = devm_kcalloc(chip->parent, num_regs, 6,
+drivers/gpio/gpio-adnp.c:	err = devm_request_threaded_irq(chip->parent, adnp->client->irq,
+drivers/gpio/gpio-adnp.c:					dev_name(chip->parent), adnp);
+drivers/gpio/gpio-adnp.c:		dev_err(chip->parent, "can't request IRQ#%d: %d\n",
+drivers/gpio/gpio-adnp.c:		dev_err(chip->parent,
+drivers/gpio/gpio-adp5588.c:  * genirq core code can issue chip->mask/unmask from atomic context.
+drivers/gpio/gpio-altera.c:	raw_spin_lock_irqsave(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_lock_irqsave(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_lock_irqsave(&chip->gpio_lock, flags);
+drivers/gpio/gpio-altera.c:	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
+drivers/gpio/gpio-arizona.c:		pm_runtime_mark_last_busy(chip->parent);
+drivers/gpio/gpio-arizona.c:		pm_runtime_put_autosuspend(chip->parent);
+drivers/gpio/gpio-arizona.c:		ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-arizona.c:			dev_err(chip->parent, "Failed to resume: %d\n", ret);
+drivers/gpio/gpio-arizona.c:			dev_err(chip->parent, "Failed to drop cache: %d\n",
+drivers/gpio/gpio-arizona.c:		pm_runtime_mark_last_busy(chip->parent);
+drivers/gpio/gpio-arizona.c:		pm_runtime_put_autosuspend(chip->parent);
+drivers/gpio/gpio-arizona.c:		ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-arizona.c:			dev_err(chip->parent, "Failed to resume: %d\n", ret);
+drivers/gpio/gpio-aspeed.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-aspeed.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-aspeed.c:		dev_warn(chip->parent, "Failed to convert %luus to cycles at %luHz: %d\n",
+drivers/gpio/gpio-aspeed.c:			dev_warn(chip->parent,
+drivers/gpio/gpio-aspeed.c:		girq->chip->name = dev_name(&pdev->dev);
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_ack = aspeed_gpio_irq_ack;
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_mask = aspeed_gpio_irq_mask;
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_unmask = aspeed_gpio_irq_unmask;
+drivers/gpio/gpio-aspeed.c:		girq->chip->irq_set_type = aspeed_gpio_set_type;
+drivers/gpio/gpio-bcm-kona.c:		dev_err(chip->parent, "Debounce value %u not in range\n",
+drivers/gpio/gpio-bcm-kona.c:	chip->of_node = dev->of_node;
+drivers/gpio/gpio-bcm-kona.c:	chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
+drivers/gpio/gpio-bcm-kona.c:						      chip->ngpio,
+drivers/gpio/gpio-cadence.c:	spin_lock_irqsave(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_unlock_irqrestore(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_lock_irqsave(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_unlock_irqrestore(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_lock_irqsave(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	spin_unlock_irqrestore(&chip->bgpio_lock, flags);
+drivers/gpio/gpio-cadence.c:	for_each_set_bit(hwirq, &status, chip->ngpio)
+drivers/gpio/gpio-cadence.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, hwirq));
+drivers/gpio/gpio-cs5535.c:	unsigned long addr = chip->base + 0x80 + reg;
+drivers/gpio/gpio-cs5535.c:		outl(1 << offset, chip->base + reg);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:		outl(1 << (offset + 16), chip->base + reg);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:		val = inl(chip->base + reg);
+drivers/gpio/gpio-cs5535.c:		val = inl(chip->base + 0x80 + reg);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	val = inl(chip->base + offset);
+drivers/gpio/gpio-cs5535.c:	outl(val, chip->base + offset);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:		dev_info(&chip->pdev->dev,
+drivers/gpio/gpio-cs5535.c:		spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-cs5535.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-davinci.c:		irq_chip->name = "GPIO-AINTC";
+drivers/gpio/gpio-davinci.c:		irq_chip->irq_set_type = gpio_irq_type_unbanked;
+drivers/gpio/gpio-dwapb.c:	if (chip->irq_eoi)
+drivers/gpio/gpio-dwapb.c:		chip->irq_eoi(irq_desc_get_irq_data(desc));
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:		dev_warn(chip->parent, "EIC level was changed.\n");
+drivers/gpio/gpio-eic-sprd.c:	return !strcmp(chip->label, sprd_eic_label_name[type]);
+drivers/gpio/gpio-eic-sprd.c:	for (bank = 0; bank * SPRD_EIC_PER_BANK_NR < chip->ngpio; bank++) {
+drivers/gpio/gpio-eic-sprd.c:			dev_err(chip->parent, "Unsupported EIC type.\n");
+drivers/gpio/gpio-eic-sprd.c:			girq = irq_find_mapping(chip->irq.domain, offset);
+drivers/gpio/gpio-em.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-em.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-em.c:	gpio_chip->of_node = dev->of_node;
+drivers/gpio/gpio-em.c:	gpio_chip->direction_input = em_gio_direction_input;
+drivers/gpio/gpio-em.c:	gpio_chip->get = em_gio_get;
+drivers/gpio/gpio-em.c:	gpio_chip->direction_output = em_gio_direction_output;
+drivers/gpio/gpio-em.c:	gpio_chip->set = em_gio_set;
+drivers/gpio/gpio-em.c:	gpio_chip->to_irq = em_gio_to_irq;
+drivers/gpio/gpio-em.c:	gpio_chip->request = em_gio_request;
+drivers/gpio/gpio-em.c:	gpio_chip->free = em_gio_free;
+drivers/gpio/gpio-em.c:	gpio_chip->label = name;
+drivers/gpio/gpio-em.c:	gpio_chip->parent = dev;
+drivers/gpio/gpio-em.c:	gpio_chip->owner = THIS_MODULE;
+drivers/gpio/gpio-em.c:	gpio_chip->base = -1;
+drivers/gpio/gpio-em.c:	gpio_chip->ngpio = ngpios;
+drivers/gpio/gpio-em.c:	irq_chip->name = "gpio-em";
+drivers/gpio/gpio-em.c:	irq_chip->irq_mask = em_gio_irq_disable;
+drivers/gpio/gpio-em.c:	irq_chip->irq_unmask = em_gio_irq_enable;
+drivers/gpio/gpio-em.c:	irq_chip->irq_set_type = em_gio_irq_set_type;
+drivers/gpio/gpio-em.c:	irq_chip->irq_request_resources = em_gio_irq_reqres;
+drivers/gpio/gpio-em.c:	irq_chip->irq_release_resources = em_gio_irq_relres;
+drivers/gpio/gpio-em.c:	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
+drivers/gpio/gpio-gpio-mm.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-htc-egpio.c:	pr_debug("egpio_get_value(%d)\n", chip->base + offset);
+drivers/gpio/gpio-htc-egpio.c:			chip->label, offset, offset+chip->base, value);
+drivers/gpio/gpio-htc-egpio.c:		chip->label = devm_kasprintf(&pdev->dev, GFP_KERNEL,
+drivers/gpio/gpio-htc-egpio.c:		if (!chip->label)
+drivers/gpio/gpio-htc-egpio.c:		chip->parent          = &pdev->dev;
+drivers/gpio/gpio-htc-egpio.c:		chip->owner           = THIS_MODULE;
+drivers/gpio/gpio-htc-egpio.c:		chip->get             = egpio_get;
+drivers/gpio/gpio-htc-egpio.c:		chip->set             = egpio_set;
+drivers/gpio/gpio-htc-egpio.c:		chip->direction_input = egpio_direction_input;
+drivers/gpio/gpio-htc-egpio.c:		chip->direction_output = egpio_direction_output;
+drivers/gpio/gpio-htc-egpio.c:		chip->get_direction   = egpio_get_direction;
+drivers/gpio/gpio-htc-egpio.c:		chip->base            = pdata->chip[i].gpio_base;
+drivers/gpio/gpio-htc-egpio.c:		chip->ngpio           = pdata->chip[i].num_gpios;
+drivers/gpio/gpio-ich.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-ich.c:	chip->label = DRV_NAME;
+drivers/gpio/gpio-ich.c:	chip->parent = ichx_priv.dev;
+drivers/gpio/gpio-ich.c:	/* Allow chip-specific overrides of request()/get() */
+drivers/gpio/gpio-ich.c:	chip->request = ichx_priv.desc->request ?
+drivers/gpio/gpio-ich.c:	chip->get = ichx_priv.desc->get ?
+drivers/gpio/gpio-ich.c:	chip->set = ichx_gpio_set;
+drivers/gpio/gpio-ich.c:	chip->get_direction = ichx_gpio_get_direction;
+drivers/gpio/gpio-ich.c:	chip->direction_input = ichx_gpio_direction_input;
+drivers/gpio/gpio-ich.c:	chip->direction_output = ichx_gpio_direction_output;
+drivers/gpio/gpio-ich.c:	chip->base = modparam_gpiobase;
+drivers/gpio/gpio-ich.c:	chip->ngpio = ichx_priv.desc->ngpio;
+drivers/gpio/gpio-ich.c:	chip->can_sleep = false;
+drivers/gpio/gpio-ich.c:	chip->dbg_show = NULL;
+drivers/gpio/gpio-intel-mid.c:	unsigned nreg = chip->ngpio / 32;
+drivers/gpio/gpio-intel-mid.c:	unsigned nreg = chip->ngpio / 32;
+drivers/gpio/gpio-intel-mid.c:	chip->irq_eoi(data);
+drivers/gpio/gpio-kempld.c:	chip->label = "gpio-kempld";
+drivers/gpio/gpio-kempld.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-kempld.c:	chip->parent = dev;
+drivers/gpio/gpio-kempld.c:	chip->can_sleep = true;
+drivers/gpio/gpio-kempld.c:		chip->base = pdata->gpio_base;
+drivers/gpio/gpio-kempld.c:		chip->base = -1;
+drivers/gpio/gpio-kempld.c:	chip->direction_input = kempld_gpio_direction_input;
+drivers/gpio/gpio-kempld.c:	chip->direction_output = kempld_gpio_direction_output;
+drivers/gpio/gpio-kempld.c:	chip->get_direction = kempld_gpio_get_direction;
+drivers/gpio/gpio-kempld.c:	chip->get = kempld_gpio_get;
+drivers/gpio/gpio-kempld.c:	chip->set = kempld_gpio_set;
+drivers/gpio/gpio-kempld.c:	chip->ngpio = kempld_gpio_pincount(pld);
+drivers/gpio/gpio-kempld.c:	if (chip->ngpio == 0) {
+drivers/gpio/gpio-kempld.c:		 chip->ngpio);
+drivers/gpio/gpio-lpc32xx.c:	if (pin < chip->ngpio)
+drivers/gpio/gpio-lynxpoint.c:	chip->irq_eoi(data);
+drivers/gpio/gpio-max732x.c:	client = group_a ? chip->client_group_a : chip->client_group_b;
+drivers/gpio/gpio-max732x.c:	client = group_a ? chip->client_group_a : chip->client_group_b;
+drivers/gpio/gpio-max732x.c:	return (1u << off) & chip->mask_group_a;
+drivers/gpio/gpio-max732x.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	reg_out = (off > 7) ? chip->reg_out[1] : chip->reg_out[0];
+drivers/gpio/gpio-max732x.c:		chip->reg_out[1] = reg_out;
+drivers/gpio/gpio-max732x.c:		chip->reg_out[0] = reg_out;
+drivers/gpio/gpio-max732x.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	if ((mask & chip->dir_input) == 0) {
+drivers/gpio/gpio-max732x.c:		dev_dbg(&chip->client->dev, "%s port %d is output only\n",
+drivers/gpio/gpio-max732x.c:			chip->client->name, off);
+drivers/gpio/gpio-max732x.c:	if ((mask & chip->dir_output))
+drivers/gpio/gpio-max732x.c:	if ((mask & chip->dir_output) == 0) {
+drivers/gpio/gpio-max732x.c:		dev_dbg(&chip->client->dev, "%s port %d is input only\n",
+drivers/gpio/gpio-max732x.c:			chip->client->name, off);
+drivers/gpio/gpio-max732x.c:	ret = i2c_master_send(chip->client_group_a, (char *)&val, 2);
+drivers/gpio/gpio-max732x.c:		dev_err(&chip->client_group_a->dev, "failed writing\n");
+drivers/gpio/gpio-max732x.c:	ret = i2c_master_recv(chip->client_group_a, (char *)val, 2);
+drivers/gpio/gpio-max732x.c:		dev_err(&chip->client_group_a->dev, "failed reading\n");
+drivers/gpio/gpio-max732x.c:	if (chip->irq_mask == chip->irq_mask_cur)
+drivers/gpio/gpio-max732x.c:	chip->irq_mask = chip->irq_mask_cur;
+drivers/gpio/gpio-max732x.c:	if (chip->irq_features == INT_NO_MASK)
+drivers/gpio/gpio-max732x.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	switch (chip->irq_features) {
+drivers/gpio/gpio-max732x.c:		msg = (chip->irq_mask << 8) | chip->reg_out[0];
+drivers/gpio/gpio-max732x.c:		msg = chip->irq_mask | chip->reg_out[0];
+drivers/gpio/gpio-max732x.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-max732x.c:	chip->irq_mask_cur &= ~(1 << d->hwirq);
+drivers/gpio/gpio-max732x.c:	chip->irq_mask_cur |= 1 << d->hwirq;
+drivers/gpio/gpio-max732x.c:	mutex_lock(&chip->irq_lock);
+drivers/gpio/gpio-max732x.c:	chip->irq_mask_cur = chip->irq_mask;
+drivers/gpio/gpio-max732x.c:	new_irqs = chip->irq_trig_fall | chip->irq_trig_raise;
+drivers/gpio/gpio-max732x.c:		max732x_gpio_direction_input(&chip->gpio_chip, level);
+drivers/gpio/gpio-max732x.c:	mutex_unlock(&chip->irq_lock);
+drivers/gpio/gpio-max732x.c:	if (!(mask & chip->dir_input)) {
+drivers/gpio/gpio-max732x.c:		dev_dbg(&chip->client->dev, "%s port %d is output only\n",
+drivers/gpio/gpio-max732x.c:			chip->client->name, off);
+drivers/gpio/gpio-max732x.c:		dev_err(&chip->client->dev, "irq %d: unsupported type %d\n",
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_fall |= mask;
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_fall &= ~mask;
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_raise |= mask;
+drivers/gpio/gpio-max732x.c:		chip->irq_trig_raise &= ~mask;
+drivers/gpio/gpio-max732x.c:	irq_set_irq_wake(chip->client->irq, on);
+drivers/gpio/gpio-max732x.c:	trigger &= chip->irq_mask;
+drivers/gpio/gpio-max732x.c:	cur_stat &= chip->irq_mask;
+drivers/gpio/gpio-max732x.c:	pending = (old_stat & chip->irq_trig_fall) |
+drivers/gpio/gpio-max732x.c:		  (cur_stat & chip->irq_trig_raise);
+drivers/gpio/gpio-max732x.c:		handle_nested_irq(irq_find_mapping(chip->gpio_chip.irq.domain,
+drivers/gpio/gpio-max732x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-max732x.c:		chip->irq_features = has_irq;
+drivers/gpio/gpio-max732x.c:		mutex_init(&chip->irq_lock);
+drivers/gpio/gpio-max732x.c:		ret =  gpiochip_irqchip_add_nested(&chip->gpio_chip,
+drivers/gpio/gpio-max732x.c:		gpiochip_set_nested_irqchip(&chip->gpio_chip,
+drivers/gpio/gpio-max732x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-max732x.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/gpio/gpio-max732x.c:			chip->dir_output |= mask;
+drivers/gpio/gpio-max732x.c:			chip->dir_input |= mask;
+drivers/gpio/gpio-max732x.c:			chip->dir_output |= mask;
+drivers/gpio/gpio-max732x.c:			chip->dir_input |= mask;
+drivers/gpio/gpio-max732x.c:			chip->mask_group_a |= mask;
+drivers/gpio/gpio-max732x.c:	if (chip->dir_input)
+drivers/gpio/gpio-max732x.c:	if (chip->dir_output) {
+drivers/gpio/gpio-max732x.c:	gc->label = chip->client->name;
+drivers/gpio/gpio-max732x.c:	gc->parent = &chip->client->dev;
+drivers/gpio/gpio-max732x.c:	chip->client = client;
+drivers/gpio/gpio-max732x.c:	chip->gpio_chip.parent = &client->dev;
+drivers/gpio/gpio-max732x.c:		chip->client_group_a = client;
+drivers/gpio/gpio-max732x.c:			chip->client_group_b = chip->client_dummy = c;
+drivers/gpio/gpio-max732x.c:		chip->client_group_b = client;
+drivers/gpio/gpio-max732x.c:			chip->client_group_a = chip->client_dummy = c;
+drivers/gpio/gpio-max732x.c:	if (nr_port > 8 && !chip->client_dummy) {
+drivers/gpio/gpio-max732x.c:	mutex_init(&chip->lock);
+drivers/gpio/gpio-max732x.c:	ret = max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]);
+drivers/gpio/gpio-max732x.c:		ret = max732x_readb(chip, is_group_a(chip, 8), &chip->reg_out[1]);
+drivers/gpio/gpio-max732x.c:	ret = devm_gpiochip_add_data(&client->dev, &chip->gpio_chip, chip);
+drivers/gpio/gpio-max732x.c:		ret = pdata->setup(client, chip->gpio_chip.base,
+drivers/gpio/gpio-max732x.c:				chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-max732x.c:		ret = pdata->teardown(client, chip->gpio_chip.base,
+drivers/gpio/gpio-max732x.c:				chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-max77620.c:		dev_err(chip->parent, "failed to update interrupt mask: %d\n",
+drivers/gpio/gpio-max77620.c:	mgpio->rmap = chip->rmap;
+drivers/gpio/gpio-max77650.c:	return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:	return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:	rv = regmap_update_bits(chip->map, MAX77650_REG_CNFG_GPIO,
+drivers/gpio/gpio-max77650.c:	rv = regmap_read(chip->map, MAX77650_REG_CNFG_GPIO, &val);
+drivers/gpio/gpio-max77650.c:	rv = regmap_read(chip->map, MAX77650_REG_CNFG_GPIO, &val);
+drivers/gpio/gpio-max77650.c:		return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:		return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:		return regmap_update_bits(chip->map,
+drivers/gpio/gpio-max77650.c:	return chip->irq;
+drivers/gpio/gpio-max77650.c:	chip->map = dev_get_regmap(parent, NULL);
+drivers/gpio/gpio-max77650.c:	if (!chip->map)
+drivers/gpio/gpio-max77650.c:	chip->irq = platform_get_irq_byname(pdev, "GPI");
+drivers/gpio/gpio-max77650.c:	if (chip->irq < 0)
+drivers/gpio/gpio-max77650.c:		return chip->irq;
+drivers/gpio/gpio-max77650.c:	chip->gc.base = -1;
+drivers/gpio/gpio-max77650.c:	chip->gc.ngpio = 1;
+drivers/gpio/gpio-max77650.c:	chip->gc.label = i2c->name;
+drivers/gpio/gpio-max77650.c:	chip->gc.parent = dev;
+drivers/gpio/gpio-max77650.c:	chip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-max77650.c:	chip->gc.can_sleep = true;
+drivers/gpio/gpio-max77650.c:	chip->gc.direction_input = max77650_gpio_direction_input;
+drivers/gpio/gpio-max77650.c:	chip->gc.direction_output = max77650_gpio_direction_output;
+drivers/gpio/gpio-max77650.c:	chip->gc.set = max77650_gpio_set_value;
+drivers/gpio/gpio-max77650.c:	chip->gc.get = max77650_gpio_get_value;
+drivers/gpio/gpio-max77650.c:	chip->gc.get_direction = max77650_gpio_get_direction;
+drivers/gpio/gpio-max77650.c:	chip->gc.set_config = max77650_gpio_set_config;
+drivers/gpio/gpio-max77650.c:	chip->gc.to_irq = max77650_gpio_to_irq;
+drivers/gpio/gpio-max77650.c:	return devm_gpiochip_add_data(dev, &chip->gc, chip);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PFR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + DDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	return !!(readl(gchip->base + PDR(gpio)) & OFFSET(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_irqsave(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	val = readl(gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	writel(val, gchip->base + PDR(gpio));
+drivers/gpio/gpio-mb86s7x.c:	spin_unlock_irqrestore(&gchip->lock, flags);
+drivers/gpio/gpio-mb86s7x.c:	gchip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-mb86s7x.c:	if (IS_ERR(gchip->base))
+drivers/gpio/gpio-mb86s7x.c:		return PTR_ERR(gchip->base);
+drivers/gpio/gpio-mb86s7x.c:		gchip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/gpio/gpio-mb86s7x.c:		if (IS_ERR(gchip->clk))
+drivers/gpio/gpio-mb86s7x.c:			return PTR_ERR(gchip->clk);
+drivers/gpio/gpio-mb86s7x.c:		ret = clk_prepare_enable(gchip->clk);
+drivers/gpio/gpio-mb86s7x.c:	spin_lock_init(&gchip->lock);
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.direction_output = mb86s70_gpio_direction_output;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.direction_input = mb86s70_gpio_direction_input;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.request = mb86s70_gpio_request;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.free = mb86s70_gpio_free;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.get = mb86s70_gpio_get;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.set = mb86s70_gpio_set;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.label = dev_name(&pdev->dev);
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.ngpio = 32;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.parent = &pdev->dev;
+drivers/gpio/gpio-mb86s7x.c:	gchip->gc.base = -1;
+drivers/gpio/gpio-mb86s7x.c:		gchip->gc.to_irq = mb86s70_gpio_to_irq;
+drivers/gpio/gpio-mb86s7x.c:	ret = gpiochip_add_data(&gchip->gc, gchip);
+drivers/gpio/gpio-mb86s7x.c:		clk_disable_unprepare(gchip->clk);
+drivers/gpio/gpio-mb86s7x.c:		acpi_gpiochip_request_interrupts(&gchip->gc);
+drivers/gpio/gpio-mb86s7x.c:		acpi_gpiochip_free_interrupts(&gchip->gc);
+drivers/gpio/gpio-mb86s7x.c:	gpiochip_remove(&gchip->gc);
+drivers/gpio/gpio-mb86s7x.c:	clk_disable_unprepare(gchip->clk);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	reg_val = ioread32(&chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	return !!(ioread32(&chip->reg->regs[chip->ch].pi) & (1 << nr));
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	pm = ioread32(&chip->reg->regs[chip->ch].pm) &
+drivers/gpio/gpio-ml-ioh.c:					((1 << num_ports[chip->ch]) - 1);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(pm, &chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:	reg_val = ioread32(&chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	pm = ioread32(&chip->reg->regs[chip->ch].pm) &
+drivers/gpio/gpio-ml-ioh.c:				((1 << num_ports[chip->ch]) - 1);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(pm, &chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.po_reg =
+drivers/gpio/gpio-ml-ioh.c:					ioread32(&chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.pm_reg =
+drivers/gpio/gpio-ml-ioh.c:					ioread32(&chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.ien_reg =
+drivers/gpio/gpio-ml-ioh.c:				       ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.imask_reg =
+drivers/gpio/gpio-ml-ioh.c:				     ioread32(&chip->reg->regs[chip->ch].imask);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.im0_reg =
+drivers/gpio/gpio-ml-ioh.c:				      ioread32(&chip->reg->regs[chip->ch].im_0);
+drivers/gpio/gpio-ml-ioh.c:		chip->ioh_gpio_reg.im1_reg =
+drivers/gpio/gpio-ml-ioh.c:				      ioread32(&chip->reg->regs[chip->ch].im_1);
+drivers/gpio/gpio-ml-ioh.c:			chip->ioh_gpio_reg.use_sel_reg =
+drivers/gpio/gpio-ml-ioh.c:					   ioread32(&chip->reg->ioh_sel_reg[i]);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.po_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].po);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.pm_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].pm);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.ien_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.imask_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].imask);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.im0_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].im_0);
+drivers/gpio/gpio-ml-ioh.c:		iowrite32(chip->ioh_gpio_reg.im1_reg,
+drivers/gpio/gpio-ml-ioh.c:			  &chip->reg->regs[chip->ch].im_1);
+drivers/gpio/gpio-ml-ioh.c:			iowrite32(chip->ioh_gpio_reg.use_sel_reg,
+drivers/gpio/gpio-ml-ioh.c:				  &chip->reg->ioh_sel_reg[i]);
+drivers/gpio/gpio-ml-ioh.c:	return chip->irq_base + offset;
+drivers/gpio/gpio-ml-ioh.c:	struct gpio_chip *gpio = &chip->gpio;
+drivers/gpio/gpio-ml-ioh.c:	gpio->label = dev_name(chip->dev);
+drivers/gpio/gpio-ml-ioh.c:	ch = irq - chip->irq_base;
+drivers/gpio/gpio-ml-ioh.c:	if (irq <= chip->irq_base + 7) {
+drivers/gpio/gpio-ml-ioh.c:		im_reg = &chip->reg->regs[chip->ch].im_0;
+drivers/gpio/gpio-ml-ioh.c:		im_reg = &chip->reg->regs[chip->ch].im_1;
+drivers/gpio/gpio-ml-ioh.c:	dev_dbg(chip->dev, "%s:irq=%d type=%d ch=%d pos=%d type=%d\n",
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:		dev_warn(chip->dev, "%s: unknown type(%dd)",
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(BIT(ch), &chip->reg->regs[chip->ch].iclr);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(BIT(ch), &chip->reg->regs[chip->ch].imaskclr);
+drivers/gpio/gpio-ml-ioh.c:	ien = ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(ien | BIT(ch), &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(1 << (d->irq - chip->irq_base),
+drivers/gpio/gpio-ml-ioh.c:		  &chip->reg->regs[chip->ch].imaskclr);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(1 << (d->irq - chip->irq_base),
+drivers/gpio/gpio-ml-ioh.c:		  &chip->reg->regs[chip->ch].imask);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	ien = ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	ien &= ~(1 << (d->irq - chip->irq_base));
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(ien, &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	ien = ioread32(&chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	ien |= 1 << (d->irq - chip->irq_base);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(ien, &chip->reg->regs[chip->ch].ien);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:		reg_val = ioread32(&chip->reg->regs[i].istatus);
+drivers/gpio/gpio-ml-ioh.c:				dev_dbg(chip->dev,
+drivers/gpio/gpio-ml-ioh.c:					  &chip->reg->regs[chip->ch].iclr);
+drivers/gpio/gpio-ml-ioh.c:				generic_handle_irq(chip->irq_base + j);
+drivers/gpio/gpio-ml-ioh.c:	gc = devm_irq_alloc_generic_chip(chip->dev, "ioh_gpio", 1, irq_start,
+drivers/gpio/gpio-ml-ioh.c:					 chip->base, handle_simple_irq);
+drivers/gpio/gpio-ml-ioh.c:	rv = devm_irq_setup_generic_chip(chip->dev, gc, IRQ_MSK(num),
+drivers/gpio/gpio-ml-ioh.c:		chip->dev = &pdev->dev;
+drivers/gpio/gpio-ml-ioh.c:		chip->base = base;
+drivers/gpio/gpio-ml-ioh.c:		chip->reg = chip->base;
+drivers/gpio/gpio-ml-ioh.c:		chip->ch = i;
+drivers/gpio/gpio-ml-ioh.c:		spin_lock_init(&chip->spinlock);
+drivers/gpio/gpio-ml-ioh.c:		ret = gpiochip_add_data(&chip->gpio, chip);
+drivers/gpio/gpio-ml-ioh.c:		chip->irq_base = irq_base;
+drivers/gpio/gpio-ml-ioh.c:		gpiochip_remove(&chip->gpio);
+drivers/gpio/gpio-ml-ioh.c:		gpiochip_remove(&chip->gpio);
+drivers/gpio/gpio-ml-ioh.c:	pci_iounmap(pdev, chip->base);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(0x01, &chip->reg->srst);
+drivers/gpio/gpio-ml-ioh.c:	iowrite32(0x00, &chip->reg->srst);
+drivers/gpio/gpio-ml-ioh.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-mm-lantiq.c:	__raw_writew(chip->shadow, chip->mmchip.regs);
+drivers/gpio/gpio-mm-lantiq.c: * ltq_mm_set() - gpio_chip->set - set gpios.
+drivers/gpio/gpio-mm-lantiq.c:		chip->shadow |= (1 << offset);
+drivers/gpio/gpio-mm-lantiq.c:		chip->shadow &= ~(1 << offset);
+drivers/gpio/gpio-mm-lantiq.c: * ltq_mm_dir_out() - gpio_chip->dir_out - set gpio direction.
+drivers/gpio/gpio-mm-lantiq.c:	ltq_ebu_w32(CPHYSADDR(chip->mmchip.regs) | 0x1, LTQ_EBU_ADDRSEL1);
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.gc.ngpio = 16;
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.gc.direction_output = ltq_mm_dir_out;
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.gc.set = ltq_mm_set;
+drivers/gpio/gpio-mm-lantiq.c:	chip->mmchip.save_regs = ltq_mm_save_regs;
+drivers/gpio/gpio-mm-lantiq.c:		chip->shadow = shadow;
+drivers/gpio/gpio-mm-lantiq.c:	return of_mm_gpiochip_add_data(pdev->dev.of_node, &chip->mmchip, chip);
+drivers/gpio/gpio-mm-lantiq.c:	of_mm_gpiochip_remove(&chip->mmchip);
+drivers/gpio/gpio-mmio.c:	if (gpio_pin < chip->ngpio)
+drivers/gpio/gpio-mockup.c:	return chip->lines[offset].value;
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].value = !!value;
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	sim = &chip->irqsim;
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].pull = value;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].dir = GPIO_LINE_DIRECTION_OUT;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	chip->lines[offset].dir = GPIO_LINE_DIRECTION_IN;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	mutex_lock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	direction = chip->lines[offset].dir;
+drivers/gpio/gpio-mockup.c:	mutex_unlock(&chip->lock);
+drivers/gpio/gpio-mockup.c:	return irq_sim_irqnum(&chip->irqsim, offset);
+drivers/gpio/gpio-mockup.c:	__gpio_mockup_set(chip, offset, chip->lines[offset].pull);
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	chip->dbg_dir = debugfs_create_dir(devname, gpio_mockup_dbg_dir);
+drivers/gpio/gpio-mockup.c:		debugfs_create_file(name, 0200, chip->dbg_dir, priv,
+drivers/gpio/gpio-mockup.c:	struct gpio_chip *gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	rv = device_property_read_string(dev, "chip-name", &name);
+drivers/gpio/gpio-mockup.c:	mutex_init(&chip->lock);
+drivers/gpio/gpio-mockup.c:	gc = &chip->gc;
+drivers/gpio/gpio-mockup.c:	chip->lines = devm_kcalloc(dev, gc->ngpio,
+drivers/gpio/gpio-mockup.c:				   sizeof(*chip->lines), GFP_KERNEL);
+drivers/gpio/gpio-mockup.c:	if (!chip->lines)
+drivers/gpio/gpio-mockup.c:		chip->lines[i].dir = GPIO_LINE_DIRECTION_IN;
+drivers/gpio/gpio-mockup.c:	rv = devm_irq_sim_init(dev, &chip->irqsim, gc->ngpio);
+drivers/gpio/gpio-mockup.c:	rv = devm_gpiochip_add_data(dev, &chip->gc, chip);
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->in_mask & BIT(offset)) {
+drivers/gpio/gpio-moxtet.c:		ret = moxtet_device_read(chip->dev);
+drivers/gpio/gpio-moxtet.c:	} else if (chip->desc->out_mask & BIT(offset)) {
+drivers/gpio/gpio-moxtet.c:		ret = moxtet_device_written(chip->dev);
+drivers/gpio/gpio-moxtet.c:	state = moxtet_device_written(chip->dev);
+drivers/gpio/gpio-moxtet.c:	moxtet_device_write(chip->dev, state);
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->in_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	else if (chip->desc->out_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->in_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	else if (chip->desc->out_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	if (chip->desc->out_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	else if (chip->desc->in_mask & BIT(offset))
+drivers/gpio/gpio-moxtet.c:	chip->dev = dev;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.parent = dev;
+drivers/gpio/gpio-moxtet.c:	chip->desc = &descs[id];
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.label = dev_name(dev);
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.get_direction = moxtet_gpio_get_direction;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.direction_input = moxtet_gpio_direction_input;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.direction_output = moxtet_gpio_direction_output;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.get = moxtet_gpio_get_value;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.set = moxtet_gpio_set_value;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.base = -1;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.ngpio = MOXTET_GPIO_NGPIOS;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.can_sleep = true;
+drivers/gpio/gpio-moxtet.c:	chip->gpio_chip.owner = THIS_MODULE;
+drivers/gpio/gpio-moxtet.c:	return devm_gpiochip_add_data(dev, &chip->gpio_chip, chip);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo &= ~(1 << (7 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_dvo, chip->shadow_dvo);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr &= ~(1 << (7 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (7 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_8(&regs->wkup_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	gc = &chip->mmchip.gc;
+drivers/gpio/gpio-mpc5200.c:	ret = of_mm_gpiochip_add_data(ofdev->dev.of_node, &chip->mmchip, chip);
+drivers/gpio/gpio-mpc5200.c:	regs = chip->mmchip.regs;
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe = in_8(&regs->wkup_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr = in_8(&regs->wkup_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_dvo = in_8(&regs->wkup_dvo);
+drivers/gpio/gpio-mpc5200.c:	of_mm_gpiochip_remove(&chip->mmchip);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:		chip->shadow_dvo &= ~(1 << (31 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_dvo, chip->shadow_dvo);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr &= ~(1 << (31 - gpio));
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_ddr, chip->shadow_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe |= 1 << (31 - gpio);
+drivers/gpio/gpio-mpc5200.c:	out_be32(&regs->simple_gpioe, chip->shadow_gpioe);
+drivers/gpio/gpio-mpc5200.c:	gc = &chip->mmchip.gc;
+drivers/gpio/gpio-mpc5200.c:	ret = of_mm_gpiochip_add_data(ofdev->dev.of_node, &chip->mmchip, chip);
+drivers/gpio/gpio-mpc5200.c:	regs = chip->mmchip.regs;
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_gpioe = in_be32(&regs->simple_gpioe);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_ddr = in_be32(&regs->simple_ddr);
+drivers/gpio/gpio-mpc5200.c:	chip->shadow_dvo = in_be32(&regs->simple_dvo);
+drivers/gpio/gpio-msic.c:	chip->irq_eoi(data);
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*offset = GPIO_EDGE_CAUSE_OFF + mvchip->offset;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->percpu_regs;
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*offset = GPIO_EDGE_MASK_OFF + mvchip->offset;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->percpu_regs;
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*offset = GPIO_LEVEL_MASK_OFF + mvchip->offset;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->regs;
+drivers/gpio/gpio-mvebu.c:		*map = mvchip->percpu_regs;
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_OUT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_DATA_IN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_OUT_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	ret = pinctrl_gpio_direction_input(chip->base + pin);
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	ret = pinctrl_gpio_direction_output(chip->base + pin);
+drivers/gpio/gpio-mvebu.c:	regmap_update_bits(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:	return irq_create_mapping(mvchip->domain, pin);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:		regmap_update_bits(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				   GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_update_bits(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				   GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			    GPIO_IN_POL_OFF + mvchip->offset, &in_pol);
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			    GPIO_DATA_IN_OFF + mvchip->offset, &data_in);
+drivers/gpio/gpio-mvebu.c:		regmap_update_bits(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				   GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_DATA_IN_OFF + mvchip->offset, &data_in);
+drivers/gpio/gpio-mvebu.c:	for (i = 0; i < mvchip->chip.ngpio; i++) {
+drivers/gpio/gpio-mvebu.c:		irq = irq_find_mapping(mvchip->domain, i);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		desc = gpiochip_request_own_desc(&mvchip->chip,
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset, &u);
+drivers/gpio/gpio-mvebu.c:		mvebu_gpio_blink(&mvchip->chip, pwm->hwpwm, 1);
+drivers/gpio/gpio-mvebu.c:		mvebu_gpio_blink(&mvchip->chip, pwm->hwpwm, 0);
+drivers/gpio/gpio-mvebu.c:	struct mvebu_pwm *mvpwm = mvchip->mvpwm;
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	struct mvebu_pwm *mvpwm = mvchip->mvpwm;
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:	if (!of_device_is_compatible(mvchip->chip.of_node,
+drivers/gpio/gpio-mvebu.c:	if (IS_ERR(mvchip->clk))
+drivers/gpio/gpio-mvebu.c:		return PTR_ERR(mvchip->clk);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:		     GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset, set);
+drivers/gpio/gpio-mvebu.c:	mvchip->mvpwm = mvpwm;
+drivers/gpio/gpio-mvebu.c:	mvpwm->clk_rate = clk_get_rate(mvchip->clk);
+drivers/gpio/gpio-mvebu.c:	mvpwm->chip.npwm = mvchip->chip.ngpio;
+drivers/gpio/gpio-mvebu.c:	 * mvpwm->chip.base to a fixed point like mvchip->chip.base.
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_OUT_OFF + mvchip->offset, &out);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset, &io_conf);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset, &blink);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset, &in_pol);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_DATA_IN_OFF + mvchip->offset, &data_in);
+drivers/gpio/gpio-mvebu.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-mvebu.c:		seq_printf(s, " gpio-%-3d (%-20.20s)", chip->base + i, label);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_OUT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->out_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->io_conf_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->blink_en_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_read(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		    &mvchip->in_pol_reg);
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_EDGE_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			    &mvchip->edge_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:		regmap_read(mvchip->regs, GPIO_LEVEL_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			    &mvchip->level_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_read(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				    &mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_OUT_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->out_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_IO_CONF_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->io_conf_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->blink_en_reg);
+drivers/gpio/gpio-mvebu.c:	regmap_write(mvchip->regs, GPIO_IN_POL_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:		     mvchip->in_pol_reg);
+drivers/gpio/gpio-mvebu.c:	switch (mvchip->soc_variant) {
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			     mvchip->edge_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_LEVEL_MASK_OFF + mvchip->offset,
+drivers/gpio/gpio-mvebu.c:			     mvchip->level_mask_regs[0]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->edge_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:				     mvchip->level_mask_regs[i]);
+drivers/gpio/gpio-mvebu.c:	mvchip->regs = devm_regmap_init_mmio(&pdev->dev, base,
+drivers/gpio/gpio-mvebu.c:	if (IS_ERR(mvchip->regs))
+drivers/gpio/gpio-mvebu.c:		return PTR_ERR(mvchip->regs);
+drivers/gpio/gpio-mvebu.c:	mvchip->offset = 0;
+drivers/gpio/gpio-mvebu.c:	if (mvchip->soc_variant == MVEBU_GPIO_SOC_VARIANT_ARMADAXP) {
+drivers/gpio/gpio-mvebu.c:		mvchip->percpu_regs =
+drivers/gpio/gpio-mvebu.c:		if (IS_ERR(mvchip->percpu_regs))
+drivers/gpio/gpio-mvebu.c:			return PTR_ERR(mvchip->percpu_regs);
+drivers/gpio/gpio-mvebu.c:	mvchip->regs = syscon_node_to_regmap(pdev->dev.parent->of_node);
+drivers/gpio/gpio-mvebu.c:	if (IS_ERR(mvchip->regs))
+drivers/gpio/gpio-mvebu.c:		return PTR_ERR(mvchip->regs);
+drivers/gpio/gpio-mvebu.c:	if (of_property_read_u32(pdev->dev.of_node, "offset", &mvchip->offset))
+drivers/gpio/gpio-mvebu.c:	mvchip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/gpio/gpio-mvebu.c:	if (!IS_ERR(mvchip->clk))
+drivers/gpio/gpio-mvebu.c:		clk_prepare_enable(mvchip->clk);
+drivers/gpio/gpio-mvebu.c:	mvchip->soc_variant = soc_variant;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.label = dev_name(&pdev->dev);
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.parent = &pdev->dev;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.request = gpiochip_generic_request;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.free = gpiochip_generic_free;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.get_direction = mvebu_gpio_get_direction;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.direction_input = mvebu_gpio_direction_input;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.get = mvebu_gpio_get;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.direction_output = mvebu_gpio_direction_output;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.set = mvebu_gpio_set;
+drivers/gpio/gpio-mvebu.c:		mvchip->chip.to_irq = mvebu_gpio_to_irq;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.base = id * MVEBU_MAX_GPIO_PER_BANK;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.ngpio = ngpios;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.can_sleep = false;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.of_node = np;
+drivers/gpio/gpio-mvebu.c:	mvchip->chip.dbg_show = mvebu_gpio_dbg_show;
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			     GPIO_EDGE_CAUSE_OFF + mvchip->offset, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			     GPIO_EDGE_MASK_OFF + mvchip->offset, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			     GPIO_LEVEL_MASK_OFF + mvchip->offset, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_CAUSE_OFF, 0);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->regs,
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_CAUSE_OFF, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_EDGE_MASK_OFF, 0);
+drivers/gpio/gpio-mvebu.c:		regmap_write(mvchip->regs, GPIO_LEVEL_MASK_OFF, 0);
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->percpu_regs,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->percpu_regs,
+drivers/gpio/gpio-mvebu.c:			regmap_write(mvchip->percpu_regs,
+drivers/gpio/gpio-mvebu.c:	devm_gpiochip_add_data(&pdev->dev, &mvchip->chip, mvchip);
+drivers/gpio/gpio-mvebu.c:	mvchip->domain =
+drivers/gpio/gpio-mvebu.c:	if (!mvchip->domain) {
+drivers/gpio/gpio-mvebu.c:			mvchip->chip.label);
+drivers/gpio/gpio-mvebu.c:	    mvchip->domain, ngpios, 2, np->name, handle_level_irq,
+drivers/gpio/gpio-mvebu.c:			mvchip->chip.label);
+drivers/gpio/gpio-mvebu.c:	gc = irq_get_domain_generic_chip(mvchip->domain, 0);
+drivers/gpio/gpio-mvebu.c:	ct->chip.name = mvchip->chip.label;
+drivers/gpio/gpio-mvebu.c:	ct->chip.name = mvchip->chip.label;
+drivers/gpio/gpio-mvebu.c:	irq_domain_remove(mvchip->domain);
+drivers/gpio/gpio-mxs.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+drivers/gpio/gpio-octeon.c:	chip->label = "octeon-gpio";
+drivers/gpio/gpio-octeon.c:	chip->parent = &pdev->dev;
+drivers/gpio/gpio-octeon.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-octeon.c:	chip->base = 0;
+drivers/gpio/gpio-octeon.c:	chip->can_sleep = false;
+drivers/gpio/gpio-octeon.c:	chip->ngpio = 20;
+drivers/gpio/gpio-octeon.c:	chip->direction_input = octeon_gpio_dir_in;
+drivers/gpio/gpio-octeon.c:	chip->get = octeon_gpio_get;
+drivers/gpio/gpio-octeon.c:	chip->direction_output = octeon_gpio_dir_out;
+drivers/gpio/gpio-octeon.c:	chip->set = octeon_gpio_set;
+drivers/gpio/gpio-omap.c:	pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-omap.c:	pm_runtime_put(chip->parent);
+drivers/gpio/gpio-omap.c:		dev_info(chip->parent,
+drivers/gpio/gpio-pca953x.c:#define NBANK(chip) DIV_ROUND_UP(chip->gpio_chip.ngpio, BANK_SZ)
+drivers/gpio/gpio-pca953x.c:	return fls((chip->gpio_chip.ngpio - 1) / BANK_SZ);
+drivers/gpio/gpio-pca953x.c:		if (!(chip->driver_data & PCA_PCAL))
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) {
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) {
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL)
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE)
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL)
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE)
+drivers/gpio/gpio-pca953x.c:	ret = regmap_bulk_write(chip->regmap, regaddr, value, NBANK(chip));
+drivers/gpio/gpio-pca953x.c:		dev_err(&chip->client->dev, "failed writing register\n");
+drivers/gpio/gpio-pca953x.c:	ret = regmap_bulk_read(chip->regmap, regaddr, value, NBANK(chip));
+drivers/gpio/gpio-pca953x.c:		dev_err(&chip->client->dev, "failed reading register\n");
+drivers/gpio/gpio-pca953x.c:	u8 dirreg = pca953x_recalc_addr(chip, chip->regs->direction, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, dirreg, bit, bit);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 dirreg = pca953x_recalc_addr(chip, chip->regs->direction, off,
+drivers/gpio/gpio-pca953x.c:	u8 outreg = pca953x_recalc_addr(chip, chip->regs->output, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, outreg, bit, val ? bit : 0);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, dirreg, bit, 0);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 inreg = pca953x_recalc_addr(chip, chip->regs->input, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_read(chip->regmap, inreg, &reg_val);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 outreg = pca953x_recalc_addr(chip, chip->regs->output, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	regmap_write_bits(chip->regmap, outreg, bit, val ? bit : 0);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	u8 dirreg = pca953x_recalc_addr(chip, chip->regs->direction, off,
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_read(chip->regmap, dirreg, &reg_val);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_read_regs(chip, chip->regs->output, reg_val);
+drivers/gpio/gpio-pca953x.c:	pca953x_write_regs(chip, chip->regs->output, reg_val);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	if (!(chip->driver_data & PCA_PCAL))
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, pull_en_reg, bit, 0);
+drivers/gpio/gpio-pca953x.c:		ret = regmap_write_bits(chip->regmap, pull_sel_reg, bit, bit);
+drivers/gpio/gpio-pca953x.c:		ret = regmap_write_bits(chip->regmap, pull_sel_reg, bit, 0);
+drivers/gpio/gpio-pca953x.c:	ret = regmap_write_bits(chip->regmap, pull_en_reg, bit, bit);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	gc = &chip->gpio_chip;
+drivers/gpio/gpio-pca953x.c:	gc->base = chip->gpio_start;
+drivers/gpio/gpio-pca953x.c:	gc->label = dev_name(&chip->client->dev);
+drivers/gpio/gpio-pca953x.c:	gc->parent = &chip->client->dev;
+drivers/gpio/gpio-pca953x.c:	gc->names = chip->names;
+drivers/gpio/gpio-pca953x.c:	clear_bit(hwirq, chip->irq_mask);
+drivers/gpio/gpio-pca953x.c:	set_bit(hwirq, chip->irq_mask);
+drivers/gpio/gpio-pca953x.c:		atomic_inc(&chip->wakeup_path);
+drivers/gpio/gpio-pca953x.c:		atomic_dec(&chip->wakeup_path);
+drivers/gpio/gpio-pca953x.c:	return irq_set_irq_wake(chip->client->irq, on);
+drivers/gpio/gpio-pca953x.c:	mutex_lock(&chip->irq_lock);
+drivers/gpio/gpio-pca953x.c:	pca953x_read_regs(chip, chip->regs->direction, reg_direction);
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:		pca953x_write_regs(chip, PCAL953X_IN_LATCH, chip->irq_mask);
+drivers/gpio/gpio-pca953x.c:		bitmap_complement(irq_mask, chip->irq_mask, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_or(irq_mask, chip->irq_trig_fall, chip->irq_trig_raise, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:		pca953x_gpio_direction_input(&chip->gpio_chip, level);
+drivers/gpio/gpio-pca953x.c:	mutex_unlock(&chip->irq_lock);
+drivers/gpio/gpio-pca953x.c:		dev_err(&chip->client->dev, "irq %d: unsupported type %d\n",
+drivers/gpio/gpio-pca953x.c:	assign_bit(hwirq, chip->irq_trig_fall, type & IRQ_TYPE_EDGE_FALLING);
+drivers/gpio/gpio-pca953x.c:	assign_bit(hwirq, chip->irq_trig_raise, type & IRQ_TYPE_EDGE_RISING);
+drivers/gpio/gpio-pca953x.c:	clear_bit(hwirq, chip->irq_trig_raise);
+drivers/gpio/gpio-pca953x.c:	clear_bit(hwirq, chip->irq_trig_fall);
+drivers/gpio/gpio-pca953x.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:		ret = pca953x_read_regs(chip, chip->regs->input, cur_stat);
+drivers/gpio/gpio-pca953x.c:		bitmap_replace(new_stat, chip->irq_trig_fall, chip->irq_trig_raise, cur_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_read_regs(chip, chip->regs->input, cur_stat);
+drivers/gpio/gpio-pca953x.c:	pca953x_read_regs(chip, chip->regs->direction, reg_direction);
+drivers/gpio/gpio-pca953x.c:	bitmap_copy(old_stat, chip->irq_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(trigger, cur_stat, chip->irq_mask, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_copy(chip->irq_stat, new_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(cur_stat, chip->irq_trig_fall, old_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(old_stat, chip->irq_trig_raise, new_stat, gc->ngpio);
+drivers/gpio/gpio-pca953x.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/gpio/gpio-pca953x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-pca953x.c:	struct irq_chip *irq_chip = &chip->irq_chip;
+drivers/gpio/gpio-pca953x.c:	if (!(chip->driver_data & PCA_INT))
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_read_regs(chip, chip->regs->input, irq_stat);
+drivers/gpio/gpio-pca953x.c:	pca953x_read_regs(chip, chip->regs->direction, reg_direction);
+drivers/gpio/gpio-pca953x.c:	bitmap_and(chip->irq_stat, irq_stat, reg_direction, chip->gpio_chip.ngpio);
+drivers/gpio/gpio-pca953x.c:	mutex_init(&chip->irq_lock);
+drivers/gpio/gpio-pca953x.c:	irq_chip->name = dev_name(&chip->client->dev);
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_mask = pca953x_irq_mask;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_unmask = pca953x_irq_unmask;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_set_wake = pca953x_irq_set_wake;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_bus_lock = pca953x_irq_bus_lock;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_bus_sync_unlock = pca953x_irq_bus_sync_unlock;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_set_type = pca953x_irq_set_type;
+drivers/gpio/gpio-pca953x.c:	irq_chip->irq_shutdown = pca953x_irq_shutdown;
+drivers/gpio/gpio-pca953x.c:	ret = gpiochip_irqchip_add_nested(&chip->gpio_chip, irq_chip,
+drivers/gpio/gpio-pca953x.c:	gpiochip_set_nested_irqchip(&chip->gpio_chip, irq_chip, client->irq);
+drivers/gpio/gpio-pca953x.c:	struct i2c_client *client = chip->client;
+drivers/gpio/gpio-pca953x.c:	if (client->irq && irq_base != -1 && (chip->driver_data & PCA_INT))
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->output,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->output + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->direction,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->direction + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	ret = pca953x_write_regs(chip, chip->regs->invert, val);
+drivers/gpio/gpio-pca953x.c:		chip->gpio_start = pdata->gpio_base;
+drivers/gpio/gpio-pca953x.c:		chip->names = pdata->names;
+drivers/gpio/gpio-pca953x.c:		chip->gpio_start = -1;
+drivers/gpio/gpio-pca953x.c:	chip->client = client;
+drivers/gpio/gpio-pca953x.c:	chip->regulator = reg;
+drivers/gpio/gpio-pca953x.c:		chip->driver_data = i2c_id->driver_data;
+drivers/gpio/gpio-pca953x.c:		chip->driver_data = (uintptr_t)match;
+drivers/gpio/gpio-pca953x.c:	chip->regmap = devm_regmap_init_i2c(client, &pca953x_i2c_regmap);
+drivers/gpio/gpio-pca953x.c:	if (IS_ERR(chip->regmap)) {
+drivers/gpio/gpio-pca953x.c:		ret = PTR_ERR(chip->regmap);
+drivers/gpio/gpio-pca953x.c:	regcache_mark_dirty(chip->regmap);
+drivers/gpio/gpio-pca953x.c:	mutex_init(&chip->i2c_lock);
+drivers/gpio/gpio-pca953x.c:	 * subclass for chip->i2c_lock.
+drivers/gpio/gpio-pca953x.c:	lockdep_set_subclass(&chip->i2c_lock,
+drivers/gpio/gpio-pca953x.c:	pca953x_setup_gpio(chip, chip->driver_data & PCA_GPIO_MASK);
+drivers/gpio/gpio-pca953x.c:	if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) {
+drivers/gpio/gpio-pca953x.c:		chip->regs = &pca953x_regs;
+drivers/gpio/gpio-pca953x.c:		chip->regs = &pca957x_regs;
+drivers/gpio/gpio-pca953x.c:	ret = devm_gpiochip_add_data(&client->dev, &chip->gpio_chip, chip);
+drivers/gpio/gpio-pca953x.c:		ret = pdata->setup(client, chip->gpio_chip.base,
+drivers/gpio/gpio-pca953x.c:				   chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-pca953x.c:	regulator_disable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:		ret = pdata->teardown(client, chip->gpio_chip.base,
+drivers/gpio/gpio-pca953x.c:				      chip->gpio_chip.ngpio, pdata->context);
+drivers/gpio/gpio-pca953x.c:	regulator_disable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->direction,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->direction + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync_region(chip->regmap, chip->regs->output,
+drivers/gpio/gpio-pca953x.c:				   chip->regs->output + NBANK(chip));
+drivers/gpio/gpio-pca953x.c:	if (chip->driver_data & PCA_PCAL) {
+drivers/gpio/gpio-pca953x.c:		ret = regcache_sync_region(chip->regmap, PCAL953X_IN_LATCH,
+drivers/gpio/gpio-pca953x.c:		ret = regcache_sync_region(chip->regmap, PCAL953X_INT_MASK,
+drivers/gpio/gpio-pca953x.c:	regcache_cache_only(chip->regmap, true);
+drivers/gpio/gpio-pca953x.c:	if (atomic_read(&chip->wakeup_path))
+drivers/gpio/gpio-pca953x.c:		regulator_disable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:	if (!atomic_read(&chip->wakeup_path)) {
+drivers/gpio/gpio-pca953x.c:		ret = regulator_enable(chip->regulator);
+drivers/gpio/gpio-pca953x.c:	regcache_cache_only(chip->regmap, false);
+drivers/gpio/gpio-pca953x.c:	regcache_mark_dirty(chip->regmap);
+drivers/gpio/gpio-pca953x.c:	ret = regcache_sync(chip->regmap);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	reg_val = ioread32(&chip->reg->po);
+drivers/gpio/gpio-pch.c:	iowrite32(reg_val, &chip->reg->po);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	return (ioread32(&chip->reg->pi) >> nr) & 1;
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	reg_val = ioread32(&chip->reg->po);
+drivers/gpio/gpio-pch.c:	iowrite32(reg_val, &chip->reg->po);
+drivers/gpio/gpio-pch.c:	pm = ioread32(&chip->reg->pm) & ((1 << gpio_pins[chip->ioh]) - 1);
+drivers/gpio/gpio-pch.c:	iowrite32(pm, &chip->reg->pm);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	pm = ioread32(&chip->reg->pm) & ((1 << gpio_pins[chip->ioh]) - 1);
+drivers/gpio/gpio-pch.c:	iowrite32(pm, &chip->reg->pm);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.ien_reg = ioread32(&chip->reg->ien);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.imask_reg = ioread32(&chip->reg->imask);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.po_reg = ioread32(&chip->reg->po);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.pm_reg = ioread32(&chip->reg->pm);
+drivers/gpio/gpio-pch.c:	chip->pch_gpio_reg.im0_reg = ioread32(&chip->reg->im0);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == INTEL_EG20T_PCH)
+drivers/gpio/gpio-pch.c:		chip->pch_gpio_reg.im1_reg = ioread32(&chip->reg->im1);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == OKISEMI_ML7223n_IOH)
+drivers/gpio/gpio-pch.c:		chip->pch_gpio_reg.gpio_use_sel_reg = ioread32(&chip->reg->gpio_use_sel);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.ien_reg, &chip->reg->ien);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.imask_reg, &chip->reg->imask);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.po_reg, &chip->reg->po);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.pm_reg, &chip->reg->pm);
+drivers/gpio/gpio-pch.c:	iowrite32(chip->pch_gpio_reg.im0_reg, &chip->reg->im0);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == INTEL_EG20T_PCH)
+drivers/gpio/gpio-pch.c:		iowrite32(chip->pch_gpio_reg.im1_reg, &chip->reg->im1);
+drivers/gpio/gpio-pch.c:	if (chip->ioh == OKISEMI_ML7223n_IOH)
+drivers/gpio/gpio-pch.c:		iowrite32(chip->pch_gpio_reg.gpio_use_sel_reg, &chip->reg->gpio_use_sel);
+drivers/gpio/gpio-pch.c:	return chip->irq_base + offset;
+drivers/gpio/gpio-pch.c:	struct gpio_chip *gpio = &chip->gpio;
+drivers/gpio/gpio-pch.c:	gpio->label = dev_name(chip->dev);
+drivers/gpio/gpio-pch.c:	gpio->parent = chip->dev;
+drivers/gpio/gpio-pch.c:	gpio->ngpio = gpio_pins[chip->ioh];
+drivers/gpio/gpio-pch.c:	ch = irq - chip->irq_base;
+drivers/gpio/gpio-pch.c:	if (irq <= chip->irq_base + 7) {
+drivers/gpio/gpio-pch.c:		im_reg = &chip->reg->im0;
+drivers/gpio/gpio-pch.c:		im_reg = &chip->reg->im1;
+drivers/gpio/gpio-pch.c:	dev_dbg(chip->dev, "irq=%d type=%d ch=%d pos=%d\n", irq, type, ch, im_pos);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	iowrite32(1 << (d->irq - chip->irq_base), &chip->reg->imaskclr);
+drivers/gpio/gpio-pch.c:	iowrite32(1 << (d->irq - chip->irq_base), &chip->reg->imask);
+drivers/gpio/gpio-pch.c:	iowrite32(1 << (d->irq - chip->irq_base), &chip->reg->iclr);
+drivers/gpio/gpio-pch.c:	unsigned long reg_val = ioread32(&chip->reg->istatus);
+drivers/gpio/gpio-pch.c:	for_each_set_bit(i, &reg_val, gpio_pins[chip->ioh]) {
+drivers/gpio/gpio-pch.c:		dev_dbg(chip->dev, "[%d]:irq=%d  status=0x%lx\n", i, irq, reg_val);
+drivers/gpio/gpio-pch.c:		generic_handle_irq(chip->irq_base + i);
+drivers/gpio/gpio-pch.c:	gc = devm_irq_alloc_generic_chip(chip->dev, "pch_gpio", 1, irq_start,
+drivers/gpio/gpio-pch.c:					 chip->base, handle_simple_irq);
+drivers/gpio/gpio-pch.c:	rv = devm_irq_setup_generic_chip(chip->dev, gc, IRQ_MSK(num),
+drivers/gpio/gpio-pch.c:	chip->dev = &pdev->dev;
+drivers/gpio/gpio-pch.c:	chip->base = pcim_iomap_table(pdev)[1];
+drivers/gpio/gpio-pch.c:		chip->ioh = INTEL_EG20T_PCH;
+drivers/gpio/gpio-pch.c:		chip->ioh = OKISEMI_ML7223m_IOH;
+drivers/gpio/gpio-pch.c:		chip->ioh = OKISEMI_ML7223n_IOH;
+drivers/gpio/gpio-pch.c:	chip->reg = chip->base;
+drivers/gpio/gpio-pch.c:	spin_lock_init(&chip->spinlock);
+drivers/gpio/gpio-pch.c:	ret = devm_gpiochip_add_data(&pdev->dev, &chip->gpio, chip);
+drivers/gpio/gpio-pch.c:					gpio_pins[chip->ioh], NUMA_NO_NODE);
+drivers/gpio/gpio-pch.c:		chip->irq_base = -1;
+drivers/gpio/gpio-pch.c:	chip->irq_base = irq_base;
+drivers/gpio/gpio-pch.c:	msk = (1 << gpio_pins[chip->ioh]) - 1;
+drivers/gpio/gpio-pch.c:	iowrite32(msk, &chip->reg->imask);
+drivers/gpio/gpio-pch.c:	iowrite32(msk, &chip->reg->ien);
+drivers/gpio/gpio-pch.c:	return pch_gpio_alloc_generic_chip(chip, irq_base, gpio_pins[chip->ioh]);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/gpio/gpio-pch.c:	iowrite32(0x01, &chip->reg->reset);
+drivers/gpio/gpio-pch.c:	iowrite32(0x00, &chip->reg->reset);
+drivers/gpio/gpio-pch.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/gpio/gpio-pci-idio-16.c:	chip->set(chip, offset, value);
+drivers/gpio/gpio-pci-idio-16.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-pci-idio-16.c:	for_each_set_bit(gpio, &idio16gpio->irq_mask, chip->ngpio)
+drivers/gpio/gpio-pci-idio-16.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, gpio));
+drivers/gpio/gpio-pcie-idio-24.c:	chip->set(chip, offset, value);
+drivers/gpio/gpio-pcie-idio-24.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-pcie-idio-24.c:	for_each_set_bit(gpio, &irq_mask, chip->ngpio - 24)
+drivers/gpio/gpio-pcie-idio-24.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-pisosr.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-pisosr.c:	for_each_set_clump8(offset, gpio_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-pmic-eic-sprd.c:		dev_warn(chip->parent, "PMIC EIC level was changed.\n");
+drivers/gpio/gpio-pmic-eic-sprd.c:	for_each_set_bit(n, &status, chip->ngpio) {
+drivers/gpio/gpio-pmic-eic-sprd.c:		girq = irq_find_mapping(chip->irq.domain, n);
+drivers/gpio/gpio-pxa.c:	base = gpio_bank_base(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	irq_gpio0 = irq_find_mapping(pchip->irqdomain, 0);
+drivers/gpio/gpio-pxa.c:	return irq_find_mapping(pchip->irqdomain, offset);
+drivers/gpio/gpio-pxa.c:		ret = pinctrl_gpio_direction_input(chip->base + offset);
+drivers/gpio/gpio-pxa.c:	if (__gpio_is_inverted(chip->base + offset))
+drivers/gpio/gpio-pxa.c:		ret = pinctrl_gpio_direction_output(chip->base + offset);
+drivers/gpio/gpio-pxa.c:	if (__gpio_is_inverted(chip->base + offset))
+drivers/gpio/gpio-pxa.c:	pchip->banks = devm_kcalloc(pchip->dev, nbanks, sizeof(*pchip->banks),
+drivers/gpio/gpio-pxa.c:	if (!pchip->banks)
+drivers/gpio/gpio-pxa.c:	pchip->chip.label = "gpio-pxa";
+drivers/gpio/gpio-pxa.c:	pchip->chip.direction_input  = pxa_gpio_direction_input;
+drivers/gpio/gpio-pxa.c:	pchip->chip.direction_output = pxa_gpio_direction_output;
+drivers/gpio/gpio-pxa.c:	pchip->chip.get = pxa_gpio_get;
+drivers/gpio/gpio-pxa.c:	pchip->chip.set = pxa_gpio_set;
+drivers/gpio/gpio-pxa.c:	pchip->chip.to_irq = pxa_gpio_to_irq;
+drivers/gpio/gpio-pxa.c:	pchip->chip.ngpio = ngpio;
+drivers/gpio/gpio-pxa.c:		pchip->chip.request = gpiochip_generic_request;
+drivers/gpio/gpio-pxa.c:		pchip->chip.free = gpiochip_generic_free;
+drivers/gpio/gpio-pxa.c:	pchip->chip.of_node = np;
+drivers/gpio/gpio-pxa.c:	pchip->chip.of_xlate = pxa_gpio_of_xlate;
+drivers/gpio/gpio-pxa.c:	pchip->chip.of_gpio_n_cells = 2;
+drivers/gpio/gpio-pxa.c:		bank = pchip->banks + i;
+drivers/gpio/gpio-pxa.c:	return gpiochip_add_data(&pchip->chip, pchip);
+drivers/gpio/gpio-pxa.c:	struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:					irq_find_mapping(pchip->irqdomain,
+drivers/gpio/gpio-pxa.c:	if (in_irq == pchip->irq0) {
+drivers/gpio/gpio-pxa.c:		generic_handle_irq(irq_find_mapping(pchip->irqdomain, 0));
+drivers/gpio/gpio-pxa.c:	} else if (in_irq == pchip->irq1) {
+drivers/gpio/gpio-pxa.c:		generic_handle_irq(irq_find_mapping(pchip->irqdomain, 1));
+drivers/gpio/gpio-pxa.c:	void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	struct pxa_gpio_bank *b = gpio_to_pxabank(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	if (pchip->set_wake)
+drivers/gpio/gpio-pxa.c:		return pchip->set_wake(gpio, on);
+drivers/gpio/gpio-pxa.c:	struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
+drivers/gpio/gpio-pxa.c:	pchip->dev = &pdev->dev;
+drivers/gpio/gpio-pxa.c:		pchip->set_wake = info->gpio_set_wake;
+drivers/gpio/gpio-pxa.c:	pchip->irqdomain = irq_domain_add_legacy(pdev->dev.of_node,
+drivers/gpio/gpio-pxa.c:	if (!pchip->irqdomain)
+drivers/gpio/gpio-pxa.c:	pchip->irq0 = irq0;
+drivers/gpio/gpio-pxa.c:	pchip->irq1 = irq1;
+drivers/gpio/gpio-rcar.c:	error = pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-rcar.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-rcar.c:	bankmask = mask[0] & GENMASK(chip->ngpio - 1, 0);
+drivers/gpio/gpio-rcar.c:	if (chip->valid_mask)
+drivers/gpio/gpio-rcar.c:		bankmask &= chip->valid_mask[0];
+drivers/gpio/gpio-rcar.c:	gpio_chip->request = gpio_rcar_request;
+drivers/gpio/gpio-rcar.c:	gpio_chip->free = gpio_rcar_free;
+drivers/gpio/gpio-rcar.c:	gpio_chip->get_direction = gpio_rcar_get_direction;
+drivers/gpio/gpio-rcar.c:	gpio_chip->direction_input = gpio_rcar_direction_input;
+drivers/gpio/gpio-rcar.c:	gpio_chip->get = gpio_rcar_get;
+drivers/gpio/gpio-rcar.c:	gpio_chip->direction_output = gpio_rcar_direction_output;
+drivers/gpio/gpio-rcar.c:	gpio_chip->set = gpio_rcar_set;
+drivers/gpio/gpio-rcar.c:	gpio_chip->set_multiple = gpio_rcar_set_multiple;
+drivers/gpio/gpio-rcar.c:	gpio_chip->label = name;
+drivers/gpio/gpio-rcar.c:	gpio_chip->parent = dev;
+drivers/gpio/gpio-rcar.c:	gpio_chip->owner = THIS_MODULE;
+drivers/gpio/gpio-rcar.c:	gpio_chip->base = -1;
+drivers/gpio/gpio-rcar.c:	gpio_chip->ngpio = npins;
+drivers/gpio/gpio-rcar.c:	irq_chip->name = "gpio-rcar";
+drivers/gpio/gpio-rcar.c:	irq_chip->parent_device = dev;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_mask = gpio_rcar_irq_disable;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_unmask = gpio_rcar_irq_enable;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_set_type = gpio_rcar_irq_set_type;
+drivers/gpio/gpio-rcar.c:	irq_chip->irq_set_wake = gpio_rcar_irq_set_wake;
+drivers/gpio/gpio-rcar.c:	irq_chip->flags = IRQCHIP_SET_TYPE_MASKED | IRQCHIP_MASK_ON_SUSPEND;
+drivers/gpio/gpio-rda.c:		girq = irq_find_mapping(chip->irq.domain, n);
+drivers/gpio/gpio-sch311x.c:		dev_err(chip->parent, "Failed to request region 0x%04x.\n",
+drivers/gpio/gpio-sprd.c:	for (bank = 0; bank * SPRD_GPIO_BANK_NR < chip->ngpio; bank++) {
+drivers/gpio/gpio-sprd.c:			girq = irq_find_mapping(chip->irq.domain,
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	return chip->irq_base + offset;
+drivers/gpio/gpio-sta2x11.c:	struct gpio_chip *gpio = &chip->gpio;
+drivers/gpio/gpio-sta2x11.c:	gpio->label = dev_name(chip->dev);
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:		spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	int nr = data->irq - chip->irq_base;
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	if (chip->irq_type[nr] & IRQ_TYPE_EDGE_RISING) {
+drivers/gpio/gpio-sta2x11.c:	if (chip->irq_type[nr] & IRQ_TYPE_EDGE_FALLING) {
+drivers/gpio/gpio-sta2x11.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	int nr = data->irq - chip->irq_base;
+drivers/gpio/gpio-sta2x11.c:	struct gsta_regs __iomem *regs = chip->regs[nr / GSTA_GPIO_PER_BLOCK];
+drivers/gpio/gpio-sta2x11.c:	type = chip->irq_type[nr];
+drivers/gpio/gpio-sta2x11.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-sta2x11.c:	int nr = d->irq - chip->irq_base;
+drivers/gpio/gpio-sta2x11.c:	chip->irq_type[nr] = type; /* used for enable/disable */
+drivers/gpio/gpio-sta2x11.c:		regs = chip->regs[i];
+drivers/gpio/gpio-sta2x11.c:		base = chip->irq_base + i * GSTA_GPIO_PER_BLOCK;
+drivers/gpio/gpio-sta2x11.c:	gc = devm_irq_alloc_generic_chip(chip->dev, KBUILD_MODNAME, 1,
+drivers/gpio/gpio-sta2x11.c:					 chip->irq_base,
+drivers/gpio/gpio-sta2x11.c:					 chip->reg_base, handle_simple_irq);
+drivers/gpio/gpio-sta2x11.c:	rv = devm_irq_setup_generic_chip(chip->dev, gc,
+drivers/gpio/gpio-sta2x11.c:			i = chip->irq_base + j;
+drivers/gpio/gpio-sta2x11.c:	chip->dev = &dev->dev;
+drivers/gpio/gpio-sta2x11.c:	chip->reg_base = devm_platform_ioremap_resource(dev, 0);
+drivers/gpio/gpio-sta2x11.c:	if (IS_ERR(chip->reg_base))
+drivers/gpio/gpio-sta2x11.c:		return PTR_ERR(chip->reg_base);
+drivers/gpio/gpio-sta2x11.c:		chip->regs[i] = chip->reg_base + i * 4096;
+drivers/gpio/gpio-sta2x11.c:		writel(0, &chip->regs[i]->rimsc);
+drivers/gpio/gpio-sta2x11.c:		writel(0, &chip->regs[i]->fimsc);
+drivers/gpio/gpio-sta2x11.c:		writel(~0, &chip->regs[i]->ic);
+drivers/gpio/gpio-sta2x11.c:	spin_lock_init(&chip->lock);
+drivers/gpio/gpio-sta2x11.c:	chip->irq_base = err;
+drivers/gpio/gpio-sta2x11.c:	err = devm_gpiochip_add_data(&dev->dev, &chip->gpio, chip);
+drivers/gpio/gpio-stp-xway.c: * xway_stp_get() - gpio_chip->get - get gpios.
+drivers/gpio/gpio-stp-xway.c:	return (xway_stp_r32(chip->virt, XWAY_STP_CPU0) & BIT(gpio));
+drivers/gpio/gpio-stp-xway.c: * xway_stp_set() - gpio_chip->set - set gpios.
+drivers/gpio/gpio-stp-xway.c:		chip->shadow |= BIT(gpio);
+drivers/gpio/gpio-stp-xway.c:		chip->shadow &= ~BIT(gpio);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, chip->shadow, XWAY_STP_CPU0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt, 0, XWAY_STP_CON_SWU, XWAY_STP_CON0);
+drivers/gpio/gpio-stp-xway.c: * xway_stp_dir_out() - gpio_chip->dir_out - set gpio direction.
+drivers/gpio/gpio-stp-xway.c: * xway_stp_request() - gpio_chip->request
+drivers/gpio/gpio-stp-xway.c:	if ((gpio < 8) && (chip->reserved & BIT(gpio))) {
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_AR);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_CPU0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_CPU1);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, XWAY_STP_CON_SWU, XWAY_STP_CON0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32(chip->virt, 0, XWAY_STP_CON1);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt, XWAY_STP_EDGE_MASK,
+drivers/gpio/gpio-stp-xway.c:				chip->edge, XWAY_STP_CON0);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt, XWAY_STP_GROUP_MASK,
+drivers/gpio/gpio-stp-xway.c:				chip->groups, XWAY_STP_CON1);
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt,
+drivers/gpio/gpio-stp-xway.c:			chip->dsl << XWAY_STP_ADSL_SHIFT,
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt,
+drivers/gpio/gpio-stp-xway.c:			chip->phy1 << XWAY_STP_PHY1_SHIFT,
+drivers/gpio/gpio-stp-xway.c:	xway_stp_w32_mask(chip->virt,
+drivers/gpio/gpio-stp-xway.c:			chip->phy2 << XWAY_STP_PHY2_SHIFT,
+drivers/gpio/gpio-stp-xway.c:	chip->reserved = (chip->phy2 << 5) | (chip->phy1 << 2) | chip->dsl;
+drivers/gpio/gpio-stp-xway.c:	if (chip->reserved)
+drivers/gpio/gpio-stp-xway.c:		xway_stp_w32_mask(chip->virt, XWAY_STP_UPD_MASK,
+drivers/gpio/gpio-stp-xway.c:	chip->virt = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-stp-xway.c:	if (IS_ERR(chip->virt))
+drivers/gpio/gpio-stp-xway.c:		return PTR_ERR(chip->virt);
+drivers/gpio/gpio-stp-xway.c:	chip->gc.parent = &pdev->dev;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.label = "stp-xway";
+drivers/gpio/gpio-stp-xway.c:	chip->gc.direction_output = xway_stp_dir_out;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.get = xway_stp_get;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.set = xway_stp_set;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.request = xway_stp_request;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.base = -1;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-stp-xway.c:		chip->shadow = shadow;
+drivers/gpio/gpio-stp-xway.c:		chip->groups = groups & XWAY_STP_GROUP_MASK;
+drivers/gpio/gpio-stp-xway.c:		chip->groups = XWAY_STP_GROUP0;
+drivers/gpio/gpio-stp-xway.c:	chip->gc.ngpio = fls(chip->groups) * 8;
+drivers/gpio/gpio-stp-xway.c:		chip->dsl = dsl & XWAY_STP_ADSL_MASK;
+drivers/gpio/gpio-stp-xway.c:			chip->phy1 = phy & XWAY_STP_PHY_MASK;
+drivers/gpio/gpio-stp-xway.c:			chip->phy2 = phy & XWAY_STP_PHY_MASK;
+drivers/gpio/gpio-stp-xway.c:		chip->edge = XWAY_STP_FALLING;
+drivers/gpio/gpio-stp-xway.c:	ret = devm_gpiochip_add_data(&pdev->dev, &chip->gc, chip);
+drivers/gpio/gpio-syscon.c:	chip->set(chip, offset, val);
+drivers/gpio/gpio-syscon.c:		dev_err(chip->parent, "gpio write failed ret(%d)\n", ret);
+drivers/gpio/gpio-syscon.c:		dev_err(chip->parent, "gpio write failed ret(%d)\n", ret);
+drivers/gpio/gpio-tegra.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/gpio/gpio-tegra.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/gpio/gpio-tegra.c:	ret = pinctrl_gpio_direction_input(chip->base + offset);
+drivers/gpio/gpio-tegra.c:			 chip->base + offset, ret);
+drivers/gpio/gpio-tegra.c:	ret = pinctrl_gpio_direction_output(chip->base + offset);
+drivers/gpio/gpio-tegra.c:			 chip->base + offset, ret);
+drivers/gpio/gpio-tegra186.c:	chip->set(chip, offset, level);
+drivers/gpio/gpio-tegra186.c:	if (WARN_ON(chip->of_gpio_n_cells < 2))
+drivers/gpio/gpio-tegra186.c:	if (WARN_ON(spec->args_count < chip->of_gpio_n_cells))
+drivers/gpio/gpio-tegra186.c:		dev_err(chip->parent, "invalid port number: %u\n", port);
+drivers/gpio/gpio-tegra186.c:	*parent_hwirq = chip->irq.child_offset_to_irq(chip, hwirq);
+drivers/gpio/gpio-thunderx.c:	for (bank = 0; bank <= chip->ngpio / 64; bank++) {
+drivers/gpio/gpio-thunderx.c:	chip->label = KBUILD_MODNAME;
+drivers/gpio/gpio-thunderx.c:	chip->parent = dev;
+drivers/gpio/gpio-thunderx.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-thunderx.c:	chip->request = thunderx_gpio_request;
+drivers/gpio/gpio-thunderx.c:	chip->base = -1; /* System allocated */
+drivers/gpio/gpio-thunderx.c:	chip->can_sleep = false;
+drivers/gpio/gpio-thunderx.c:	chip->ngpio = ngpio;
+drivers/gpio/gpio-thunderx.c:	chip->get_direction = thunderx_gpio_get_direction;
+drivers/gpio/gpio-thunderx.c:	chip->direction_input = thunderx_gpio_dir_in;
+drivers/gpio/gpio-thunderx.c:	chip->get = thunderx_gpio_get;
+drivers/gpio/gpio-thunderx.c:	chip->direction_output = thunderx_gpio_dir_out;
+drivers/gpio/gpio-thunderx.c:	chip->set = thunderx_gpio_set;
+drivers/gpio/gpio-thunderx.c:	chip->set_multiple = thunderx_gpio_set_multiple;
+drivers/gpio/gpio-thunderx.c:	chip->set_config = thunderx_gpio_set_config;
+drivers/gpio/gpio-thunderx.c:	girq = &chip->irq;
+drivers/gpio/gpio-thunderx.c:		err = irq_domain_push_irq(chip->irq.domain,
+drivers/gpio/gpio-thunderx.c:		 ngpio, chip->base);
+drivers/gpio/gpio-timberdale.c:	data->chip->irq_ack(data);
+drivers/gpio/gpio-tqmx86.c:	chip->label = "gpio-tqmx86";
+drivers/gpio/gpio-tqmx86.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-tqmx86.c:	chip->can_sleep = false;
+drivers/gpio/gpio-tqmx86.c:	chip->base = -1;
+drivers/gpio/gpio-tqmx86.c:	chip->direction_input = tqmx86_gpio_direction_input;
+drivers/gpio/gpio-tqmx86.c:	chip->direction_output = tqmx86_gpio_direction_output;
+drivers/gpio/gpio-tqmx86.c:	chip->get_direction = tqmx86_gpio_get_direction;
+drivers/gpio/gpio-tqmx86.c:	chip->get = tqmx86_gpio_get;
+drivers/gpio/gpio-tqmx86.c:	chip->set = tqmx86_gpio_set;
+drivers/gpio/gpio-tqmx86.c:	chip->ngpio = TQMX86_NGPIO;
+drivers/gpio/gpio-tqmx86.c:	chip->parent = pdev->dev.parent;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->name = chip->label;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->parent_device = &pdev->dev;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->irq_mask = tqmx86_gpio_irq_mask;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->irq_unmask = tqmx86_gpio_irq_unmask;
+drivers/gpio/gpio-tqmx86.c:		irq_chip->irq_set_type = tqmx86_gpio_irq_set_type;
+drivers/gpio/gpio-tqmx86.c:		girq = &chip->irq;
+drivers/gpio/gpio-tqmx86.c:		 chip->ngpio);
+drivers/gpio/gpio-ts4800.c:	chip->ngpio = ngpios;
+drivers/gpio/gpio-twl4030.c:		pdata = dev_get_platdata(chip->parent);
+drivers/gpio/gpio-twl6040.c:	struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent);
+drivers/gpio/gpio-twl6040.c:	struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent);
+drivers/gpio/gpio-uniphier.c:	for_each_set_clump8(i, bank_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-uniphier.c:	fwspec.fwnode = of_node_to_fwnode(chip->parent->of_node);
+drivers/gpio/gpio-uniphier.c:	chip->label = dev_name(dev);
+drivers/gpio/gpio-uniphier.c:	chip->parent = dev;
+drivers/gpio/gpio-uniphier.c:	chip->request = gpiochip_generic_request;
+drivers/gpio/gpio-uniphier.c:	chip->free = gpiochip_generic_free;
+drivers/gpio/gpio-uniphier.c:	chip->get_direction = uniphier_gpio_get_direction;
+drivers/gpio/gpio-uniphier.c:	chip->direction_input = uniphier_gpio_direction_input;
+drivers/gpio/gpio-uniphier.c:	chip->direction_output = uniphier_gpio_direction_output;
+drivers/gpio/gpio-uniphier.c:	chip->get = uniphier_gpio_get;
+drivers/gpio/gpio-uniphier.c:	chip->set = uniphier_gpio_set;
+drivers/gpio/gpio-uniphier.c:	chip->set_multiple = uniphier_gpio_set_multiple;
+drivers/gpio/gpio-uniphier.c:	chip->to_irq = uniphier_gpio_to_irq;
+drivers/gpio/gpio-uniphier.c:	chip->base = -1;
+drivers/gpio/gpio-uniphier.c:	chip->ngpio = ngpios;
+drivers/gpio/gpio-uniphier.c:	irq_chip->name = dev_name(dev);
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_mask = uniphier_gpio_irq_mask;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_unmask = uniphier_gpio_irq_unmask;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_eoi = irq_chip_eoi_parent;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_set_affinity = irq_chip_set_affinity_parent;
+drivers/gpio/gpio-uniphier.c:	irq_chip->irq_set_type = uniphier_gpio_irq_set_type;
+drivers/gpio/gpio-vf610.c:	return pinctrl_gpio_direction_input(chip->base + gpio);
+drivers/gpio/gpio-vf610.c:	return pinctrl_gpio_direction_output(chip->base + gpio);
+drivers/gpio/gpio-viperboard.c:			dev_err(chip->parent, "usb error setting pin value\n");
+drivers/gpio/gpio-viperboard.c:			dev_err(chip->parent, "usb error setting pin value\n");
+drivers/gpio/gpio-viperboard.c:		dev_err(chip->parent, "usb error setting pin to input\n");
+drivers/gpio/gpio-viperboard.c:		dev_err(chip->parent, "usb error setting pin to output\n");
+drivers/gpio/gpio-vr41xx.c:	if (pin >= chip->ngpio)
+drivers/gpio/gpio-vr41xx.c:	if (pin >= chip->ngpio)
+drivers/gpio/gpio-vr41xx.c:	if (pin >= chip->ngpio)
+drivers/gpio/gpio-vr41xx.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpio-wm831x.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-wm831x.c:		int gpio = i + chip->base;
+drivers/gpio/gpio-wm8994.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-wm8994.c:		int gpio = i + chip->base;
+drivers/gpio/gpio-ws16c48.c:	bitmap_zero(bits, chip->ngpio);
+drivers/gpio/gpio-ws16c48.c:	for_each_set_clump8(offset, gpio_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-ws16c48.c:	for_each_set_clump8(offset, gpio_mask, mask, chip->ngpio) {
+drivers/gpio/gpio-ws16c48.c:					chip->irq.domain, gpio + 8*port));
+drivers/gpio/gpio-xgene.c:	return !!(ioread32(chip->base + bank_offset) & BIT(bit_offset));
+drivers/gpio/gpio-xgene.c:	setval = ioread32(chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	iowrite32(setval, chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	if (ioread32(chip->base + bank_offset) & BIT(bit_offset))
+drivers/gpio/gpio-xgene.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	dirval = ioread32(chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	iowrite32(dirval, chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgene.c:	dirval = ioread32(chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	iowrite32(dirval, chip->base + bank_offset);
+drivers/gpio/gpio-xgene.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_EVENT);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	event_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	int_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	event_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	int_mask = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:			       chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:		event_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(event_pol, chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		event_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(event_pol, chip->base + IPROC_GPIO_CCA_INT_EDGE);
+drivers/gpio/gpio-xgs-iproc.c:		int_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(int_pol, chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		int_pol = readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(int_pol, chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-xgs-iproc.c:	int_status = readl_relaxed(chip->intr + IPROC_CCA_INT_STS);
+drivers/gpio/gpio-xgs-iproc.c:		    readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:		event &= readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_EVENT);
+drivers/gpio/gpio-xgs-iproc.c:		level = readl_relaxed(chip->base + IPROC_GPIO_CCA_DIN);
+drivers/gpio/gpio-xgs-iproc.c:		level ^= readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL);
+drivers/gpio/gpio-xgs-iproc.c:		    readl_relaxed(chip->base + IPROC_GPIO_CCA_INT_LEVEL_MASK);
+drivers/gpio/gpio-xgs-iproc.c:	chip->dev = dev;
+drivers/gpio/gpio-xgs-iproc.c:	spin_lock_init(&chip->lock);
+drivers/gpio/gpio-xgs-iproc.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-xgs-iproc.c:	if (IS_ERR(chip->base))
+drivers/gpio/gpio-xgs-iproc.c:		return PTR_ERR(chip->base);
+drivers/gpio/gpio-xgs-iproc.c:	ret = bgpio_init(&chip->gc, dev, 4,
+drivers/gpio/gpio-xgs-iproc.c:			 chip->base + IPROC_GPIO_CCA_DIN,
+drivers/gpio/gpio-xgs-iproc.c:			 chip->base + IPROC_GPIO_CCA_DOUT,
+drivers/gpio/gpio-xgs-iproc.c:			 chip->base + IPROC_GPIO_CCA_OUT_EN,
+drivers/gpio/gpio-xgs-iproc.c:	chip->gc.label = dev_name(dev);
+drivers/gpio/gpio-xgs-iproc.c:		chip->gc.ngpio = num_gpios;
+drivers/gpio/gpio-xgs-iproc.c:		irqc = &chip->irqchip;
+drivers/gpio/gpio-xgs-iproc.c:		chip->intr = devm_platform_ioremap_resource(pdev, 1);
+drivers/gpio/gpio-xgs-iproc.c:		if (IS_ERR(chip->intr))
+drivers/gpio/gpio-xgs-iproc.c:			return PTR_ERR(chip->intr);
+drivers/gpio/gpio-xgs-iproc.c:		val = readl_relaxed(chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(val, chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:				       IRQF_SHARED, chip->gc.label, &chip->gc);
+drivers/gpio/gpio-xgs-iproc.c:		girq = &chip->gc.irq;
+drivers/gpio/gpio-xgs-iproc.c:	ret = devm_gpiochip_add_data(dev, &chip->gc, chip);
+drivers/gpio/gpio-xgs-iproc.c:	if (chip->intr) {
+drivers/gpio/gpio-xgs-iproc.c:		val = readl_relaxed(chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xgs-iproc.c:		writel_relaxed(val, chip->intr + IPROC_CCA_INT_MASK);
+drivers/gpio/gpio-xilinx.c:	if (gpio >= chip->gpio_width[0])
+drivers/gpio/gpio-xilinx.c:		return gpio - chip->gpio_width[0];
+drivers/gpio/gpio-xilinx.c:	val = xgpio_readreg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:		       xgpio_regoffset(chip, gpio), chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:			xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:				       chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:			spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:			spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:				chip->gpio_state[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:				chip->gpio_state[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:		       xgpio_regoffset(chip, i), chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	chip->gpio_dir[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET +
+drivers/gpio/gpio-xilinx.c:		       xgpio_regoffset(chip, gpio), chip->gpio_dir[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	spin_lock_irqsave(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] |= BIT(offset);
+drivers/gpio/gpio-xilinx.c:		chip->gpio_state[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET +
+drivers/gpio/gpio-xilinx.c:			xgpio_regoffset(chip, gpio), chip->gpio_state[index]);
+drivers/gpio/gpio-xilinx.c:	chip->gpio_dir[index] &= ~BIT(offset);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET +
+drivers/gpio/gpio-xilinx.c:			xgpio_regoffset(chip, gpio), chip->gpio_dir[index]);
+drivers/gpio/gpio-xilinx.c:	spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET,	chip->gpio_state[0]);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET, chip->gpio_dir[0]);
+drivers/gpio/gpio-xilinx.c:	if (!chip->gpio_width[1])
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_OFFSET,
+drivers/gpio/gpio-xilinx.c:		       chip->gpio_state[1]);
+drivers/gpio/gpio-xilinx.c:	xgpio_writereg(chip->regs + XGPIO_TRI_OFFSET + XGPIO_CHANNEL_OFFSET,
+drivers/gpio/gpio-xilinx.c:		       chip->gpio_dir[1]);
+drivers/gpio/gpio-xilinx.c:	of_property_read_u32(np, "xlnx,dout-default", &chip->gpio_state[0]);
+drivers/gpio/gpio-xilinx.c:	if (of_property_read_u32(np, "xlnx,tri-default", &chip->gpio_dir[0]))
+drivers/gpio/gpio-xilinx.c:		chip->gpio_dir[0] = 0xFFFFFFFF;
+drivers/gpio/gpio-xilinx.c:	if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0]))
+drivers/gpio/gpio-xilinx.c:		chip->gpio_width[0] = 32;
+drivers/gpio/gpio-xilinx.c:	spin_lock_init(&chip->gpio_lock[0]);
+drivers/gpio/gpio-xilinx.c:				     &chip->gpio_state[1]);
+drivers/gpio/gpio-xilinx.c:					 &chip->gpio_dir[1]))
+drivers/gpio/gpio-xilinx.c:			chip->gpio_dir[1] = 0xFFFFFFFF;
+drivers/gpio/gpio-xilinx.c:					 &chip->gpio_width[1]))
+drivers/gpio/gpio-xilinx.c:			chip->gpio_width[1] = 32;
+drivers/gpio/gpio-xilinx.c:		spin_lock_init(&chip->gpio_lock[1]);
+drivers/gpio/gpio-xilinx.c:	chip->gc.base = -1;
+drivers/gpio/gpio-xilinx.c:	chip->gc.ngpio = chip->gpio_width[0] + chip->gpio_width[1];
+drivers/gpio/gpio-xilinx.c:	chip->gc.parent = &pdev->dev;
+drivers/gpio/gpio-xilinx.c:	chip->gc.direction_input = xgpio_dir_in;
+drivers/gpio/gpio-xilinx.c:	chip->gc.direction_output = xgpio_dir_out;
+drivers/gpio/gpio-xilinx.c:	chip->gc.get = xgpio_get;
+drivers/gpio/gpio-xilinx.c:	chip->gc.set = xgpio_set;
+drivers/gpio/gpio-xilinx.c:	chip->gc.set_multiple = xgpio_set_multiple;
+drivers/gpio/gpio-xilinx.c:	chip->gc.label = dev_name(&pdev->dev);
+drivers/gpio/gpio-xilinx.c:	chip->regs = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-xilinx.c:	if (IS_ERR(chip->regs)) {
+drivers/gpio/gpio-xilinx.c:		return PTR_ERR(chip->regs);
+drivers/gpio/gpio-xilinx.c:	status = devm_gpiochip_add_data(&pdev->dev, &chip->gc, chip);
+drivers/gpio/gpio-xra1403.c:		dev_err(chip->parent, "Failed to set pin: %d, ret: %d\n",
+drivers/gpio/gpio-xra1403.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpio-xra1403.c:			   chip->base + i, label,
+drivers/gpio/gpio-zx.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	gpiodir = readw_relaxed(chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpiodir, chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	gpiodir = readw_relaxed(chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpiodir, chip->base + ZX_GPIO_DIR);
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO1);
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO0);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	return !!(readw_relaxed(chip->base + ZX_GPIO_DI) & BIT(offset));
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO1);
+drivers/gpio/gpio-zx.c:		writew_relaxed(BIT(offset), chip->base + ZX_GPIO_DO0);
+drivers/gpio/gpio-zx.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	gpioiev = readw_relaxed(chip->base + ZX_GPIO_IV);
+drivers/gpio/gpio-zx.c:	gpiois = readw_relaxed(chip->base + ZX_GPIO_IVE);
+drivers/gpio/gpio-zx.c:	gpioi_epos = readw_relaxed(chip->base + ZX_GPIO_IEP);
+drivers/gpio/gpio-zx.c:	gpioi_eneg = readw_relaxed(chip->base + ZX_GPIO_IEN);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpiois, chip->base + ZX_GPIO_IVE);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioi_epos, chip->base + ZX_GPIO_IEP);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioi_eneg, chip->base + ZX_GPIO_IEN);
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioiev, chip->base + ZX_GPIO_IV);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/gpio/gpio-zx.c:	pending = readw_relaxed(chip->base + ZX_GPIO_MIS);
+drivers/gpio/gpio-zx.c:	writew_relaxed(pending, chip->base + ZX_GPIO_IC);
+drivers/gpio/gpio-zx.c:	raw_spin_lock(&chip->lock);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IM) | mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IM);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IE) & ~mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IE);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock(&chip->lock);
+drivers/gpio/gpio-zx.c:	raw_spin_lock(&chip->lock);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IM) & ~mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IM);
+drivers/gpio/gpio-zx.c:	gpioie = readw_relaxed(chip->base + ZX_GPIO_IE) | mask;
+drivers/gpio/gpio-zx.c:	writew_relaxed(gpioie, chip->base + ZX_GPIO_IE);
+drivers/gpio/gpio-zx.c:	raw_spin_unlock(&chip->lock);
+drivers/gpio/gpio-zx.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/gpio/gpio-zx.c:	if (IS_ERR(chip->base))
+drivers/gpio/gpio-zx.c:		return PTR_ERR(chip->base);
+drivers/gpio/gpio-zx.c:	raw_spin_lock_init(&chip->lock);
+drivers/gpio/gpio-zx.c:		chip->gc.request = gpiochip_generic_request;
+drivers/gpio/gpio-zx.c:		chip->gc.free = gpiochip_generic_free;
+drivers/gpio/gpio-zx.c:	chip->gc.direction_input = zx_direction_input;
+drivers/gpio/gpio-zx.c:	chip->gc.direction_output = zx_direction_output;
+drivers/gpio/gpio-zx.c:	chip->gc.get = zx_get_value;
+drivers/gpio/gpio-zx.c:	chip->gc.set = zx_set_value;
+drivers/gpio/gpio-zx.c:	chip->gc.base = ZX_GPIO_NR * id;
+drivers/gpio/gpio-zx.c:	chip->gc.ngpio = ZX_GPIO_NR;
+drivers/gpio/gpio-zx.c:	chip->gc.label = dev_name(dev);
+drivers/gpio/gpio-zx.c:	chip->gc.parent = dev;
+drivers/gpio/gpio-zx.c:	chip->gc.owner = THIS_MODULE;
+drivers/gpio/gpio-zx.c:	writew_relaxed(0xffff, chip->base + ZX_GPIO_IM);
+drivers/gpio/gpio-zx.c:	writew_relaxed(0, chip->base + ZX_GPIO_IE);
+drivers/gpio/gpio-zx.c:	girq = &chip->gc.irq;
+drivers/gpio/gpio-zx.c:	ret = gpiochip_add_data(&chip->gc, chip);
+drivers/gpio/gpio-zynq.c:	ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-zynq.c:	pm_runtime_put(chip->parent);
+drivers/gpio/gpio-zynq.c:	ret = pm_runtime_get_sync(chip->parent);
+drivers/gpio/gpio-zynq.c:	pm_runtime_put(chip->parent);
+drivers/gpio/gpio-zynq.c:	chip->label = gpio->p_data->label;
+drivers/gpio/gpio-zynq.c:	chip->owner = THIS_MODULE;
+drivers/gpio/gpio-zynq.c:	chip->parent = &pdev->dev;
+drivers/gpio/gpio-zynq.c:	chip->get = zynq_gpio_get_value;
+drivers/gpio/gpio-zynq.c:	chip->set = zynq_gpio_set_value;
+drivers/gpio/gpio-zynq.c:	chip->request = zynq_gpio_request;
+drivers/gpio/gpio-zynq.c:	chip->free = zynq_gpio_free;
+drivers/gpio/gpio-zynq.c:	chip->direction_input = zynq_gpio_dir_in;
+drivers/gpio/gpio-zynq.c:	chip->direction_output = zynq_gpio_dir_out;
+drivers/gpio/gpio-zynq.c:	chip->get_direction = zynq_gpio_get_direction;
+drivers/gpio/gpio-zynq.c:	chip->base = of_alias_get_id(pdev->dev.of_node, "gpio");
+drivers/gpio/gpio-zynq.c:	chip->ngpio = gpio->p_data->ngpio;
+drivers/gpio/gpio-zynq.c:	girq = &chip->irq;
+drivers/gpio/gpiolib-acpi.c:		dev_err(acpi_gpio->chip->parent,
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:	if (!chip->parent || !chip->to_irq)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:	if (!chip->parent || !chip->to_irq)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	status = acpi_buffer_to_resource(achip->conn_info.connection,
+drivers/gpio/gpiolib-acpi.c:					 achip->conn_info.length, &ares);
+drivers/gpio/gpiolib-acpi.c:		mutex_lock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:		list_for_each_entry(conn, &achip->conns, node) {
+drivers/gpio/gpiolib-acpi.c:			list_for_each_entry(event, &achip->events, node) {
+drivers/gpio/gpiolib-acpi.c:				mutex_unlock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:				mutex_unlock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:			list_add_tail(&conn->node, &achip->conns);
+drivers/gpio/gpiolib-acpi.c:		mutex_unlock(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	acpi_handle handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:	INIT_LIST_HEAD(&achip->conns);
+drivers/gpio/gpiolib-acpi.c:	mutex_init(&achip->conn_lock);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	acpi_handle handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:	list_for_each_entry_safe_reverse(conn, tmp, &achip->conns, node) {
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	struct gpio_chip *chip = achip->chip;
+drivers/gpio/gpiolib-acpi.c:	device_for_each_child_node(chip->parent, fwnode) {
+drivers/gpio/gpiolib-acpi.c:			dev_err(chip->parent, "Failed to hog GPIO\n");
+drivers/gpio/gpiolib-acpi.c:	if (!chip || !chip->parent)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent,
+drivers/gpio/gpiolib-acpi.c:		dev_err(chip->parent, "Failed to attach ACPI GPIO chip\n");
+drivers/gpio/gpiolib-acpi.c:	if (!chip->names)
+drivers/gpio/gpiolib-acpi.c:		devprop_gpiochip_set_names(chip, dev_fwnode(chip->parent));
+drivers/gpio/gpiolib-acpi.c:	if (!chip || !chip->parent)
+drivers/gpio/gpiolib-acpi.c:	handle = ACPI_HANDLE(chip->parent);
+drivers/gpio/gpiolib-acpi.c:		dev_warn(chip->parent, "Failed to retrieve ACPI GPIO chip\n");
+drivers/gpio/gpiolib-devprop.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib-of.c:	return chip->gpiodev->dev.of_node == gpiospec->np &&
+drivers/gpio/gpiolib-of.c:				chip->of_xlate &&
+drivers/gpio/gpiolib-of.c:				chip->of_xlate(chip, gpiospec, NULL) >= 0;
+drivers/gpio/gpiolib-of.c:	if (chip->of_gpio_n_cells != gpiospec->args_count)
+drivers/gpio/gpiolib-of.c:	ret = chip->of_xlate(chip, gpiospec, flags);
+drivers/gpio/gpiolib-of.c:	chip_np = chip->of_node;
+drivers/gpio/gpiolib-of.c:	for_each_available_child_of_node(chip->of_node, np) {
+drivers/gpio/gpiolib-of.c:	struct device_node *np = chip->of_node;
+drivers/gpio/gpiolib-of.c:		if (start >= chip->ngpio || start + count >= chip->ngpio)
+drivers/gpio/gpiolib-of.c:		bitmap_clear(chip->valid_mask, start, count);
+drivers/gpio/gpiolib-of.c:	struct device_node *np = chip->of_node;
+drivers/gpio/gpiolib-of.c:	if (!chip->of_node)
+drivers/gpio/gpiolib-of.c:	if (!chip->of_xlate) {
+drivers/gpio/gpiolib-of.c:		chip->of_gpio_n_cells = 2;
+drivers/gpio/gpiolib-of.c:		chip->of_xlate = of_gpio_simple_xlate;
+drivers/gpio/gpiolib-of.c:	if (chip->of_gpio_n_cells > MAX_PHANDLE_ARGS)
+drivers/gpio/gpiolib-of.c:	if (!chip->names)
+drivers/gpio/gpiolib-of.c:					   of_fwnode_handle(chip->of_node));
+drivers/gpio/gpiolib-of.c:	of_node_get(chip->of_node);
+drivers/gpio/gpiolib-of.c:		of_node_put(chip->of_node);
+drivers/gpio/gpiolib-of.c:	of_node_put(chip->of_node);
+drivers/gpio/gpiolib-sysfs.c:	return sprintf(buf, "%d\n", chip->base);
+drivers/gpio/gpiolib-sysfs.c:	return sprintf(buf, "%s\n", chip->label ? : "");
+drivers/gpio/gpiolib-sysfs.c:	return sprintf(buf, "%u\n", chip->ngpio);
+drivers/gpio/gpiolib-sysfs.c:	if (chip->direction_input && chip->direction_output)
+drivers/gpio/gpiolib-sysfs.c:	if (chip->names && chip->names[offset])
+drivers/gpio/gpiolib-sysfs.c:		ioname = chip->names[offset];
+drivers/gpio/gpiolib-sysfs.c:	if (chip->parent)
+drivers/gpio/gpiolib-sysfs.c:		parent = chip->parent;
+drivers/gpio/gpiolib-sysfs.c:	/* use chip->base for the ID; it's already known to be unique */
+drivers/gpio/gpiolib-sysfs.c:					"gpiochip%d", chip->base);
+drivers/gpio/gpiolib-sysfs.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpiolib-sysfs.c:	 * We run before arch_initcall() so chip->dev nodes can have
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	if (!chip->get_direction)
+drivers/gpio/gpiolib.c:	ret = chip->get_direction(chip, offset);
+drivers/gpio/gpiolib.c:	p = bitmap_alloc(chip->ngpio, GFP_KERNEL);
+drivers/gpio/gpiolib.c:	bitmap_fill(p, chip->ngpio);
+drivers/gpio/gpiolib.c:	bitmap_free(gpiochip->valid_mask);
+drivers/gpio/gpiolib.c:	gpiochip->valid_mask = NULL;
+drivers/gpio/gpiolib.c:	if (likely(!gpiochip->valid_mask))
+drivers/gpio/gpiolib.c:	return test_bit(offset, gpiochip->valid_mask);
+drivers/gpio/gpiolib.c:		    !pinctrl_gpio_can_use_line(chip->base + lineinfo.line_offset))
+drivers/gpio/gpiolib.c:		 dev_name(&gdev->dev), gdev->chip->label ? : "generic");
+drivers/gpio/gpiolib.c:		       __func__, chip->label, hog->chip_hwnum, rv);
+drivers/gpio/gpiolib.c:		if (!strcmp(chip->label, hog->chip_label))
+drivers/gpio/gpiolib.c:	int		base = chip->base;
+drivers/gpio/gpiolib.c:	chip->gpiodev = gdev;
+drivers/gpio/gpiolib.c:	if (chip->parent) {
+drivers/gpio/gpiolib.c:		gdev->dev.parent = chip->parent;
+drivers/gpio/gpiolib.c:		gdev->dev.of_node = chip->parent->of_node;
+drivers/gpio/gpiolib.c:	if (chip->of_node)
+drivers/gpio/gpiolib.c:		gdev->dev.of_node = chip->of_node;
+drivers/gpio/gpiolib.c:		chip->of_node = gdev->dev.of_node;
+drivers/gpio/gpiolib.c:	if (chip->parent && chip->parent->driver)
+drivers/gpio/gpiolib.c:		gdev->owner = chip->parent->driver->owner;
+drivers/gpio/gpiolib.c:	else if (chip->owner)
+drivers/gpio/gpiolib.c:		/* TODO: remove chip->owner */
+drivers/gpio/gpiolib.c:		gdev->owner = chip->owner;
+drivers/gpio/gpiolib.c:	gdev->descs = kcalloc(chip->ngpio, sizeof(gdev->descs[0]), GFP_KERNEL);
+drivers/gpio/gpiolib.c:	if (chip->ngpio == 0) {
+drivers/gpio/gpiolib.c:	if (chip->ngpio > FASTPATH_NGPIO)
+drivers/gpio/gpiolib.c:		chip->ngpio, FASTPATH_NGPIO);
+drivers/gpio/gpiolib.c:	gdev->label = kstrdup_const(chip->label ?: "unknown", GFP_KERNEL);
+drivers/gpio/gpiolib.c:	gdev->ngpio = chip->ngpio;
+drivers/gpio/gpiolib.c:		base = gpiochip_find_base(chip->ngpio);
+drivers/gpio/gpiolib.c:		chip->base = base;
+drivers/gpio/gpiolib.c:	for (i = 0; i < chip->ngpio; i++)
+drivers/gpio/gpiolib.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/gpio/gpiolib.c:		if (chip->get_direction && gpiochip_line_is_valid(chip, i)) {
+drivers/gpio/gpiolib.c:			if (!chip->get_direction(chip, i))
+drivers/gpio/gpiolib.c:			if (!chip->direction_input)
+drivers/gpio/gpiolib.c:	       chip->label ? : "generic", ret);
+drivers/gpio/gpiolib.c:	return chip->gpiodev->data;
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c: * @chip: the chip to register, with chip->base initialized
+drivers/gpio/gpiolib.c: * chip->base is invalid or already associated with a different chip.
+drivers/gpio/gpiolib.c:	return !strcmp(chip->label, name);
+drivers/gpio/gpiolib.c:	bitmap_free(gpiochip->irq.valid_mask);
+drivers/gpio/gpiolib.c:	gpiochip->irq.valid_mask = NULL;
+drivers/gpio/gpiolib.c:	if (likely(!gpiochip->irq.valid_mask))
+drivers/gpio/gpiolib.c:	return test_bit(offset, gpiochip->irq.valid_mask);
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.threaded) {
+drivers/gpio/gpiolib.c:	irq_set_lockdep_class(irq, chip->irq.lock_key, chip->irq.request_key);
+drivers/gpio/gpiolib.c:	irq_set_chip_and_handler(irq, chip->irq.chip, chip->irq.handler);
+drivers/gpio/gpiolib.c:	if (chip->irq.threaded)
+drivers/gpio/gpiolib.c:	if (chip->irq.num_parents == 1)
+drivers/gpio/gpiolib.c:		ret = irq_set_parent(irq, chip->irq.parents[0]);
+drivers/gpio/gpiolib.c:	else if (chip->irq.map)
+drivers/gpio/gpiolib.c:		ret = irq_set_parent(irq, chip->irq.map[hwirq]);
+drivers/gpio/gpiolib.c:	if (chip->irq.default_type != IRQ_TYPE_NONE)
+drivers/gpio/gpiolib.c:		irq_set_irq_type(irq, chip->irq.default_type);
+drivers/gpio/gpiolib.c:	if (chip->irq.threaded)
+drivers/gpio/gpiolib.c:	struct irq_domain *domain = chip->irq.domain;
+drivers/gpio/gpiolib.c:		spec.param[0] = chip->irq.child_offset_to_irq(chip, offset);
+drivers/gpio/gpiolib.c:	if (chip->irq.irq_enable)
+drivers/gpio/gpiolib.c:		chip->irq.irq_enable(d);
+drivers/gpio/gpiolib.c:		chip->irq.chip->irq_unmask(d);
+drivers/gpio/gpiolib.c:	if (chip->irq.irq_disable)
+drivers/gpio/gpiolib.c:		chip->irq.irq_disable(d);
+drivers/gpio/gpiolib.c:		chip->irq.chip->irq_mask(d);
+drivers/gpio/gpiolib.c:	struct irq_chip *irqchip = gpiochip->irq.chip;
+drivers/gpio/gpiolib.c:	if (!irqchip->irq_request_resources &&
+drivers/gpio/gpiolib.c:	    !irqchip->irq_release_resources) {
+drivers/gpio/gpiolib.c:		irqchip->irq_request_resources = gpiochip_irq_reqres;
+drivers/gpio/gpiolib.c:		irqchip->irq_release_resources = gpiochip_irq_relres;
+drivers/gpio/gpiolib.c:	if (WARN_ON(gpiochip->irq.irq_enable))
+drivers/gpio/gpiolib.c:	if (irqchip->irq_enable == gpiochip_irq_enable) {
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_enable = irqchip->irq_enable;
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_disable = irqchip->irq_disable;
+drivers/gpio/gpiolib.c:	irqchip->irq_enable = gpiochip_irq_enable;
+drivers/gpio/gpiolib.c:	irqchip->irq_disable = gpiochip_irq_disable;
+drivers/gpio/gpiolib.c:	struct irq_chip *irqchip = gpiochip->irq.chip;
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.parent_handler && gpiochip->can_sleep) {
+drivers/gpio/gpiolib.c:	np = gpiochip->gpiodev->dev.of_node;
+drivers/gpio/gpiolib.c:	type = gpiochip->irq.default_type;
+drivers/gpio/gpiolib.c:	if (has_acpi_companion(gpiochip->parent) && type != IRQ_TYPE_NONE) {
+drivers/gpio/gpiolib.c:		acpi_handle_warn(ACPI_HANDLE(gpiochip->parent),
+drivers/gpio/gpiolib.c:	gpiochip->to_irq = gpiochip_to_irq;
+drivers/gpio/gpiolib.c:	gpiochip->irq.default_type = type;
+drivers/gpio/gpiolib.c:	gpiochip->irq.lock_key = lock_key;
+drivers/gpio/gpiolib.c:	gpiochip->irq.request_key = request_key;
+drivers/gpio/gpiolib.c:		if (gpiochip->irq.domain_ops)
+drivers/gpio/gpiolib.c:			ops = gpiochip->irq.domain_ops;
+drivers/gpio/gpiolib.c:		gpiochip->irq.domain = irq_domain_add_simple(np,
+drivers/gpio/gpiolib.c:			gpiochip->ngpio,
+drivers/gpio/gpiolib.c:			gpiochip->irq.first,
+drivers/gpio/gpiolib.c:		if (!gpiochip->irq.domain)
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.parent_handler) {
+drivers/gpio/gpiolib.c:		void *data = gpiochip->irq.parent_handler_data ?: gpiochip;
+drivers/gpio/gpiolib.c:		for (i = 0; i < gpiochip->irq.num_parents; i++) {
+drivers/gpio/gpiolib.c:			irq_set_chained_handler_and_data(gpiochip->irq.parents[i],
+drivers/gpio/gpiolib.c:							 gpiochip->irq.parent_handler,
+drivers/gpio/gpiolib.c:	struct irq_chip *irqchip = gpiochip->irq.chip;
+drivers/gpio/gpiolib.c:	if (irqchip && gpiochip->irq.parent_handler) {
+drivers/gpio/gpiolib.c:		struct gpio_irq_chip *irq = &gpiochip->irq;
+drivers/gpio/gpiolib.c:	if (gpiochip->irq.domain) {
+drivers/gpio/gpiolib.c:		for (offset = 0; offset < gpiochip->ngpio; offset++) {
+drivers/gpio/gpiolib.c:			irq = irq_find_mapping(gpiochip->irq.domain, offset);
+drivers/gpio/gpiolib.c:		irq_domain_remove(gpiochip->irq.domain);
+drivers/gpio/gpiolib.c:		if (irqchip->irq_request_resources == gpiochip_irq_reqres) {
+drivers/gpio/gpiolib.c:			irqchip->irq_request_resources = NULL;
+drivers/gpio/gpiolib.c:			irqchip->irq_release_resources = NULL;
+drivers/gpio/gpiolib.c:		if (irqchip->irq_enable == gpiochip_irq_enable) {
+drivers/gpio/gpiolib.c:			irqchip->irq_enable = gpiochip->irq.irq_enable;
+drivers/gpio/gpiolib.c:			irqchip->irq_disable = gpiochip->irq.irq_disable;
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_enable = NULL;
+drivers/gpio/gpiolib.c:	gpiochip->irq.irq_disable = NULL;
+drivers/gpio/gpiolib.c:	gpiochip->irq.chip = NULL;
+drivers/gpio/gpiolib.c:	if (!gpiochip->parent) {
+drivers/gpio/gpiolib.c:	gpiochip->irq.threaded = threaded;
+drivers/gpio/gpiolib.c:	of_node = gpiochip->parent->of_node;
+drivers/gpio/gpiolib.c:	 * FIXME: get rid of this and use gpiochip->parent->of_node
+drivers/gpio/gpiolib.c:	if (gpiochip->of_node)
+drivers/gpio/gpiolib.c:		of_node = gpiochip->of_node;
+drivers/gpio/gpiolib.c:	if (has_acpi_companion(gpiochip->parent) && type != IRQ_TYPE_NONE) {
+drivers/gpio/gpiolib.c:		acpi_handle_warn(ACPI_HANDLE(gpiochip->parent),
+drivers/gpio/gpiolib.c:	gpiochip->irq.chip = irqchip;
+drivers/gpio/gpiolib.c:	gpiochip->irq.handler = handler;
+drivers/gpio/gpiolib.c:	gpiochip->irq.default_type = type;
+drivers/gpio/gpiolib.c:	gpiochip->to_irq = gpiochip_to_irq;
+drivers/gpio/gpiolib.c:	gpiochip->irq.lock_key = lock_key;
+drivers/gpio/gpiolib.c:	gpiochip->irq.request_key = request_key;
+drivers/gpio/gpiolib.c:	gpiochip->irq.domain = irq_domain_add_simple(of_node,
+drivers/gpio/gpiolib.c:					gpiochip->ngpio, first_irq,
+drivers/gpio/gpiolib.c:	if (!gpiochip->irq.domain) {
+drivers/gpio/gpiolib.c:		gpiochip->irq.chip = NULL;
+drivers/gpio/gpiolib.c:	return pinctrl_gpio_request(chip->gpiodev->base + offset);
+drivers/gpio/gpiolib.c:	pinctrl_gpio_free(chip->gpiodev->base + offset);
+drivers/gpio/gpiolib.c:	return pinctrl_gpio_set_config(chip->gpiodev->base + offset, config);
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	pin_range->range.name = chip->label;
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	pin_range->range.name = chip->label;
+drivers/gpio/gpiolib.c:	struct gpio_device *gdev = chip->gpiodev;
+drivers/gpio/gpiolib.c:	if (chip->request) {
+drivers/gpio/gpiolib.c:		/* chip->request may sleep */
+drivers/gpio/gpiolib.c:			ret = chip->request(chip, offset);
+drivers/gpio/gpiolib.c:	if (chip->get_direction) {
+drivers/gpio/gpiolib.c:		/* chip->get_direction may sleep */
+drivers/gpio/gpiolib.c:		if (chip->free) {
+drivers/gpio/gpiolib.c:			might_sleep_if(chip->can_sleep);
+drivers/gpio/gpiolib.c:			chip->free(chip, gpio_chip_hwgpio(desc));
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	desc = &chip->gpiodev->descs[offset];
+drivers/gpio/gpiolib.c:	if (!chip->get && chip->direction_input) {
+drivers/gpio/gpiolib.c:	if (chip->direction_input) {
+drivers/gpio/gpiolib.c:		ret = chip->direction_input(chip, gpio_chip_hwgpio(desc));
+drivers/gpio/gpiolib.c:	} else if (chip->get_direction &&
+drivers/gpio/gpiolib.c:		  (chip->get_direction(chip, gpio_chip_hwgpio(desc)) != 1)) {
+drivers/gpio/gpiolib.c:	if (!chip->set || !chip->set_config) {
+drivers/gpio/gpiolib.c:	return chip->set_config(chip, gpio_chip_hwgpio(desc), config);
+drivers/gpio/gpiolib.c:	if (!chip->set_config)
+drivers/gpio/gpiolib.c:	rc = chip->set_config(chip, gpio, packed);
+drivers/gpio/gpiolib.c:	value = chip->get ? chip->get(chip, offset) : -EIO;
+drivers/gpio/gpiolib.c:	if (chip->get_multiple) {
+drivers/gpio/gpiolib.c:		return chip->get_multiple(chip, mask, bits);
+drivers/gpio/gpiolib.c:	} else if (chip->get) {
+drivers/gpio/gpiolib.c:		for_each_set_bit(i, mask, chip->ngpio) {
+drivers/gpio/gpiolib.c:			value = chip->get(chip, i);
+drivers/gpio/gpiolib.c:			WARN_ON(array_info->chip->can_sleep);
+drivers/gpio/gpiolib.c:		if (likely(chip->ngpio <= FASTPATH_NGPIO)) {
+drivers/gpio/gpiolib.c:			mask = kmalloc_array(2 * BITS_TO_LONGS(chip->ngpio),
+drivers/gpio/gpiolib.c:		bits = mask + BITS_TO_LONGS(chip->ngpio);
+drivers/gpio/gpiolib.c:		bitmap_zero(mask, chip->ngpio);
+drivers/gpio/gpiolib.c:			WARN_ON(chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:		ret = chip->direction_input(chip, offset);
+drivers/gpio/gpiolib.c:		ret = chip->direction_output(chip, offset, 0);
+drivers/gpio/gpiolib.c:		ret = chip->direction_output(chip, offset, 1);
+drivers/gpio/gpiolib.c:		ret = chip->direction_input(chip, offset);
+drivers/gpio/gpiolib.c:	chip->set(chip, gpio_chip_hwgpio(desc), value);
+drivers/gpio/gpiolib.c:	if (chip->set_multiple) {
+drivers/gpio/gpiolib.c:		chip->set_multiple(chip, mask, bits);
+drivers/gpio/gpiolib.c:		for_each_set_bit(i, mask, chip->ngpio)
+drivers/gpio/gpiolib.c:			chip->set(chip, i, test_bit(i, bits));
+drivers/gpio/gpiolib.c:			WARN_ON(array_info->chip->can_sleep);
+drivers/gpio/gpiolib.c:		if (likely(chip->ngpio <= FASTPATH_NGPIO)) {
+drivers/gpio/gpiolib.c:			mask = kmalloc_array(2 * BITS_TO_LONGS(chip->ngpio),
+drivers/gpio/gpiolib.c:		bits = mask + BITS_TO_LONGS(chip->ngpio);
+drivers/gpio/gpiolib.c:		bitmap_zero(mask, chip->ngpio);
+drivers/gpio/gpiolib.c:			WARN_ON(chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:	WARN_ON(desc->gdev->chip->can_sleep);
+drivers/gpio/gpiolib.c:	return desc->gdev->chip->can_sleep;
+drivers/gpio/gpiolib.c:	if (chip->to_irq) {
+drivers/gpio/gpiolib.c:		int retirq = chip->to_irq(chip, offset);
+drivers/gpio/gpiolib.c:	if (!chip->can_sleep && chip->get_direction) {
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return test_bit(FLAG_USED_AS_IRQ, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:	if (!try_module_get(chip->gpiodev->owner))
+drivers/gpio/gpiolib.c:		module_put(chip->gpiodev->owner);
+drivers/gpio/gpiolib.c:	module_put(chip->gpiodev->owner);
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return test_bit(FLAG_OPEN_DRAIN, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return test_bit(FLAG_OPEN_SOURCE, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:	if (offset >= chip->ngpio)
+drivers/gpio/gpiolib.c:	return !test_bit(FLAG_TRANSITORY, &chip->gpiodev->descs[offset].flags);
+drivers/gpio/gpiolib.c:		if (chip->ngpio <= p->chip_hwnum) {
+drivers/gpio/gpiolib.c:				idx, p->chip_hwnum, chip->ngpio - 1,
+drivers/gpio/gpiolib.c:				chip->label);
+drivers/gpio/gpiolib.c:		       name, chip->label, hwnum, ret);
+drivers/gpio/gpiolib.c:	for (id = 0; id < chip->ngpio; id++) {
+drivers/gpio/gpiolib.c:		if (test_bit(FLAG_IS_HOGGED, &chip->gpiodev->descs[id].flags))
+drivers/gpio/gpiolib.c:			gpiochip_free_own_desc(&chip->gpiodev->descs[id]);
+drivers/gpio/gpiolib.c:			bitmap_size = BITS_TO_LONGS(chip->ngpio > count ?
+drivers/gpio/gpiolib.c:						    chip->ngpio : count);
+drivers/gpio/gpiolib.c:			array_info->chip->label, array_info->size,
+drivers/gpio/gpiolib.c:			chip->get ? (chip->get(chip, i) ? "hi" : "lo") : "?  ",
+drivers/gpio/gpiolib.c:	parent = chip->parent;
+drivers/gpio/gpiolib.c:	if (chip->label)
+drivers/gpio/gpiolib.c:		seq_printf(s, ", %s", chip->label);
+drivers/gpio/gpiolib.c:	if (chip->can_sleep)
+drivers/gpio/gpiolib.c:	if (chip->dbg_show)
+drivers/gpio/gpiolib.c:		chip->dbg_show(s, chip);
+drivers/gpio/gpiolib.h:	dev_emerg(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_crit(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_err(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_warn(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_info(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpio/gpiolib.h:	dev_dbg(&chip->gpiodev->dev, "(%s): " fmt, chip->label, ##__VA_ARGS__)
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->arch_id	= malidp_read32(reg_base, GLB_ARCH_ID);
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->core_id	= malidp_read32(reg_base, GLB_CORE_ID);
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->core_info	= malidp_read32(reg_base, GLB_CORE_INFO);
+drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c:	chip->bus_width	= D71_BUS_WIDTH_16_BYTES;
+drivers/gpu/drm/nouveau/dispnv04/nvreg.h:#	define NV_CIO_CRE_59			0x59	/* related to on/off-chip-ness of digital outputs */
+drivers/gpu/drm/nouveau/nvkm/core/firmware.c:	strncpy(cname, device->chip->name, sizeof(cname));
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:			   device->chip->name, boot0);
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:		device->name = device->chip->name;
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:	if (device->chip->m && (subdev_mask & (1ULL << (s)))) {                \
+drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:		ret = device->chip->m(device, (s), &device->m);                \
+drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:	strncpy(args->v0.chip, device->chip->name, sizeof(args->v0.chip));
+drivers/gpu/drm/nouveau/nvkm/subdev/secboot/base.c:	/* Call chip-specific init function */
+drivers/gpu/drm/rockchip/analogix_dp-rockchip.c:		   .name = "rockchip-dp",
+drivers/gpu/drm/rockchip/rk3066_hdmi.c:		.name = "rockchip-rk3066-hdmi",
+drivers/gpu/drm/rockchip/rockchip_drm_drv.c:		.name = "rockchip-drm",
+drivers/gpu/drm/rockchip/rockchip_lvds.c:		   .name = "rockchip-lvds",
+drivers/gpu/drm/rockchip/rockchip_vop_reg.c:		.name = "rockchip-vop",
+drivers/hwmon/ad7314.c:	ret = spi_read(chip->spi_dev, (u8 *)&chip->rx, sizeof(chip->rx));
+drivers/hwmon/ad7314.c:		dev_err(&chip->spi_dev->dev, "SPI read error\n");
+drivers/hwmon/ad7314.c:	return be16_to_cpu(chip->rx);
+drivers/hwmon/ad7314.c:	switch (spi_get_device_id(chip->spi_dev)->driver_data) {
+drivers/hwmon/ad7314.c:	chip->spi_dev = spi_dev;
+drivers/hwmon/dme1737.c:/* chip-dependent features */
+drivers/hwmon/dme1737.c:	/* Create chip-dependent sysfs attributes */
+drivers/hwmon/dme1737.c:		/* Change permissions of chip-dependent sysfs attributes */
+drivers/hwmon/hwmon.c:	ret = hwdev->chip->ops->read(&hwdev->dev, hwmon_temp, hwmon_temp_input,
+drivers/hwmon/hwmon.c:	for (i = 0; chip->info[i]; i++)
+drivers/hwmon/hwmon.c:		nattrs += hwmon_num_channel_attrs(chip->info[i]);
+drivers/hwmon/hwmon.c:	for (i = 0; chip->info[i]; i++) {
+drivers/hwmon/hwmon.c:		ret = hwmon_genattrs(dev, drvdata, &attrs[aindex], chip->ops,
+drivers/hwmon/hwmon.c:				     chip->info[i]);
+drivers/hwmon/hwmon.c:	if (dev && dev->of_node && chip && chip->ops->read &&
+drivers/hwmon/hwmon.c:	    chip->info[0]->type == hwmon_chip &&
+drivers/hwmon/hwmon.c:	    (chip->info[0]->config[0] & HWMON_C_REGISTER_TZ)) {
+drivers/hwmon/hwmon.c:		const struct hwmon_channel_info **info = chip->info;
+drivers/hwmon/hwmon.c:				if (!chip->ops->is_visible(drvdata, hwmon_temp,
+drivers/hwmon/hwmon.c:	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
+drivers/hwmon/ibmpowernv.c:	if (!of_property_read_u32(np, "ibm,chip-id", &id))
+drivers/hwmon/jc42.c:		if (manid == chip->manid &&
+drivers/hwmon/jc42.c:		    (devid & chip->devid_mask) == chip->devid) {
+drivers/hwmon/max6697.c:	for (i = 0; i < data->chip->channels; i++) {
+drivers/hwmon/max6697.c:		if (data->chip->have_ext & (1 << i)) {
+drivers/hwmon/max6697.c:		if (data->chip->have_crit & (1 << i)) {
+drivers/hwmon/max6697.c:	if (data->chip->alarm_map)
+drivers/hwmon/max6697.c:		index = data->chip->alarm_map[index];
+drivers/hwmon/max6697.c:	if (channel >= chip->channels)
+drivers/hwmon/max6697.c:	if ((nr == 3 || nr == 4) && !(chip->have_crit & (1 << channel)))
+drivers/hwmon/max6697.c:	if (nr == 5 && !(chip->have_fault & (1 << channel)))
+drivers/hwmon/max6697.c:	int factor = chip->channels;
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6697_CONF_TIMEOUT)) {
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6581_CONF_EXTENDED)) {
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6697_CONF_RESISTANCE)) {
+drivers/hwmon/max6697.c:	    (chip->valid_conf & MAX6693_CONF_BETA)) {
+drivers/hwmon/tmp401.c: * temperature measured since power-on, chip-reset, or
+drivers/hwmon/w83627hf.c:	/* Register chip-specific device attributes */
+drivers/i2c/busses/i2c-i801.c:	unsigned gpios[2];		/* Relative to gpio_chip->base */
+drivers/i2c/i2c-stub.c:	list_for_each_entry(b, &chip->smbus_blocks, node) {
+drivers/i2c/i2c-stub.c:		list_add(&rb->node, &chip->smbus_blocks);
+drivers/i2c/i2c-stub.c:	if (chip->bank_sel &&
+drivers/i2c/i2c-stub.c:	    offset >= chip->bank_start && offset <= chip->bank_end)
+drivers/i2c/i2c-stub.c:		return chip->bank_words +
+drivers/i2c/i2c-stub.c:		       (chip->bank_sel - 1) * chip->bank_size +
+drivers/i2c/i2c-stub.c:		       offset - chip->bank_start;
+drivers/i2c/i2c-stub.c:		return chip->words + offset;
+drivers/i2c/i2c-stub.c:			chip->pointer = command;
+drivers/i2c/i2c-stub.c:			wordp = stub_get_wordp(chip, chip->pointer++);
+drivers/i2c/i2c-stub.c:			if (chip->bank_words && command == chip->bank_reg) {
+drivers/i2c/i2c-stub.c:				chip->bank_sel =
+drivers/i2c/i2c-stub.c:					(data->byte >> chip->bank_shift)
+drivers/i2c/i2c-stub.c:					& chip->bank_mask;
+drivers/i2c/i2c-stub.c:					chip->bank_sel);
+drivers/i2c/i2c-stub.c:		chip->pointer = command + 1;
+drivers/i2c/i2c-stub.c:				chip->words[command + i] &= 0xff00;
+drivers/i2c/i2c-stub.c:				chip->words[command + i] |= data->block[1 + i];
+drivers/i2c/i2c-stub.c:					chip->words[command + i] & 0xff;
+drivers/i2c/i2c-stub.c:			chip->words[command] = (b->block[0] << 8) | b->len;
+drivers/i2c/i2c-stub.c:	chip->bank_reg = bank_reg[i];
+drivers/i2c/i2c-stub.c:	chip->bank_start = bank_start[i];
+drivers/i2c/i2c-stub.c:	chip->bank_end = bank_end[i];
+drivers/i2c/i2c-stub.c:	chip->bank_size = bank_end[i] - bank_start[i] + 1;
+drivers/i2c/i2c-stub.c:	chip->bank_mask = bank_mask[i];
+drivers/i2c/i2c-stub.c:	while (!(chip->bank_mask & 1)) {
+drivers/i2c/i2c-stub.c:		chip->bank_shift++;
+drivers/i2c/i2c-stub.c:		chip->bank_mask >>= 1;
+drivers/i2c/i2c-stub.c:	chip->bank_words = kcalloc(chip->bank_mask * chip->bank_size,
+drivers/i2c/i2c-stub.c:	if (!chip->bank_words)
+drivers/i2c/i2c-stub.c:		 chip->bank_mask, chip->bank_size, chip->bank_start,
+drivers/i2c/i2c-stub.c:		 chip->bank_end);
+drivers/i2c/muxes/i2c-mux-ltc4306.c:	if (!data->chip->num_gpios)
+drivers/i2c/muxes/i2c-mux-ltc4306.c:	data->gpiochip.ngpio = data->chip->num_gpios;
+drivers/i2c/muxes/i2c-mux-ltc4306.c:			     chip->nchans, sizeof(*data),
+drivers/i2c/muxes/i2c-mux-ltc4306.c:	for (num = 0; num < chip->nchans; num++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	if (chip->muxtype == pca954x_ismux)
+drivers/i2c/muxes/i2c-mux-pca954x.c:		regval = chan | chip->enable;
+drivers/i2c/muxes/i2c-mux-pca954x.c:	    (val < 0 || val >= data->chip->nchans))
+drivers/i2c/muxes/i2c-mux-pca954x.c:	for (i = 0; i < data->chip->nchans; i++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	if (!data->chip->has_irq || client->irq <= 0)
+drivers/i2c/muxes/i2c-mux-pca954x.c:					  data->chip->nchans,
+drivers/i2c/muxes/i2c-mux-pca954x.c:	for (c = 0; c < data->chip->nchans; c++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:		for (c = 0; c < data->chip->nchans; c++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	if (data->chip->id.manufacturer_id != I2C_DEVICE_ID_NONE) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:		    (id.manufacturer_id != data->chip->id.manufacturer_id ||
+drivers/i2c/muxes/i2c-mux-pca954x.c:		     id.part_id != data->chip->id.part_id)) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:	for (num = 0; num < data->chip->nchans; num++) {
+drivers/i2c/muxes/i2c-mux-pca954x.c:		 num, data->chip->muxtype == pca954x_ismux
+drivers/iio/accel/mc3230.c:	/* First check chip-id and product-id */
+drivers/iio/adc/ad7291.c:	struct i2c_client *client = chip->client;
+drivers/iio/adc/ad7291.c:	return i2c_smbus_write_word_swapped(chip->client, reg, data);
+drivers/iio/adc/ad7291.c:	command = chip->command | AD7291_ALERT_CLEAR;
+drivers/iio/adc/ad7291.c:	command = chip->command & ~AD7291_ALERT_CLEAR;
+drivers/iio/adc/ad7291.c:		return !!(chip->c_mask & BIT(15 - chan->channel));
+drivers/iio/adc/ad7291.c:	mutex_lock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:	regval = chip->command;
+drivers/iio/adc/ad7291.c:		if ((!state) && (chip->c_mask & mask))
+drivers/iio/adc/ad7291.c:			chip->c_mask &= ~mask;
+drivers/iio/adc/ad7291.c:		else if (state && (!(chip->c_mask & mask)))
+drivers/iio/adc/ad7291.c:			chip->c_mask |= mask;
+drivers/iio/adc/ad7291.c:		regval |= chip->c_mask;
+drivers/iio/adc/ad7291.c:		if (chip->c_mask) /* Enable autocycle? */
+drivers/iio/adc/ad7291.c:		chip->command = regval;
+drivers/iio/adc/ad7291.c:	mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			mutex_lock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			if (chip->command & AD7291_AUTOCYCLE) {
+drivers/iio/adc/ad7291.c:				mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			regval = chip->command & (~AD7291_VOLTAGE_MASK);
+drivers/iio/adc/ad7291.c:				mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/iio/adc/ad7291.c:				mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ad7291.c:			ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/iio/adc/ad7291.c:		ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/iio/adc/ad7291.c:			if (chip->reg) {
+drivers/iio/adc/ad7291.c:				vref = regulator_get_voltage(chip->reg);
+drivers/iio/adc/ad7291.c:		chip->reg = devm_regulator_get(&client->dev, "vref");
+drivers/iio/adc/ad7291.c:		if (IS_ERR(chip->reg))
+drivers/iio/adc/ad7291.c:			return PTR_ERR(chip->reg);
+drivers/iio/adc/ad7291.c:		ret = regulator_enable(chip->reg);
+drivers/iio/adc/ad7291.c:	mutex_init(&chip->state_lock);
+drivers/iio/adc/ad7291.c:	chip->client = client;
+drivers/iio/adc/ad7291.c:	chip->command = AD7291_NOISE_DELAY |
+drivers/iio/adc/ad7291.c:		chip->command |= AD7291_EXT_REF;
+drivers/iio/adc/ad7291.c:	ret = ad7291_i2c_write(chip, AD7291_COMMAND, chip->command);
+drivers/iio/adc/ad7291.c:	if (chip->reg)
+drivers/iio/adc/ad7291.c:		regulator_disable(chip->reg);
+drivers/iio/adc/ad7291.c:	if (chip->reg)
+drivers/iio/adc/ad7291.c:		regulator_disable(chip->reg);
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap, chan->address, &regval);
+drivers/iio/adc/ina2xx-adc.c:			*val >>= chip->config->bus_voltage_shift;
+drivers/iio/adc/ina2xx-adc.c:		*val = chip->avg;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->int_time_vshunt;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->int_time_vbus;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->shunt_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->bus_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->shunt_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->shunt_resistor_uohm;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->config->power_lsb_factor *
+drivers/iio/adc/ina2xx-adc.c:			       chip->config->shunt_voltage_lsb;
+drivers/iio/adc/ina2xx-adc.c:			*val2 = chip->shunt_resistor_uohm;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->pga_gain_vshunt;
+drivers/iio/adc/ina2xx-adc.c:			*val = chip->range_vbus == 32 ? 1 : 2;
+drivers/iio/adc/ina2xx-adc.c:	chip->avg = ina226_avg_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vbus = ina226_conv_time_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vshunt = ina226_conv_time_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vbus = val_us_best;
+drivers/iio/adc/ina2xx-adc.c:	chip->int_time_vshunt = val_us_best;
+drivers/iio/adc/ina2xx-adc.c:		chip->range_vbus = 32;
+drivers/iio/adc/ina2xx-adc.c:		chip->range_vbus = 16;
+drivers/iio/adc/ina2xx-adc.c:	chip->pga_gain_vshunt = ina219_vshunt_gain_tab[bits];
+drivers/iio/adc/ina2xx-adc.c:	mutex_lock(&chip->state_lock);
+drivers/iio/adc/ina2xx-adc.c:	ret = regmap_read(chip->regmap, INA2XX_CONFIG, &config);
+drivers/iio/adc/ina2xx-adc.c:		if (chip->config->chip_id == ina226) {
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_write(chip->regmap, INA2XX_CONFIG, tmp);
+drivers/iio/adc/ina2xx-adc.c:	mutex_unlock(&chip->state_lock);
+drivers/iio/adc/ina2xx-adc.c:	return sprintf(buf, "%d\n", chip->allow_async_readout);
+drivers/iio/adc/ina2xx-adc.c:	chip->allow_async_readout = val;
+drivers/iio/adc/ina2xx-adc.c:	return regmap_write(chip->regmap, INA2XX_CALIBRATION,
+drivers/iio/adc/ina2xx-adc.c:			    chip->config->calibration_value);
+drivers/iio/adc/ina2xx-adc.c:	chip->shunt_resistor_uohm = val;
+drivers/iio/adc/ina2xx-adc.c:	int vals[2] = { chip->shunt_resistor_uohm, 1000000 };
+drivers/iio/adc/ina2xx-adc.c:	if (chip->config->chip_id == ina226) {
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap,
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap,
+drivers/iio/adc/ina2xx-adc.c:		ret = regmap_read(chip->regmap,
+drivers/iio/adc/ina2xx-adc.c:	if (!chip->allow_async_readout)
+drivers/iio/adc/ina2xx-adc.c:		while (!chip->allow_async_readout) {
+drivers/iio/adc/ina2xx-adc.c:		1000000 / sampling_us, chip->avg);
+drivers/iio/adc/ina2xx-adc.c:		chip->allow_async_readout);
+drivers/iio/adc/ina2xx-adc.c:	chip->task = task;
+drivers/iio/adc/ina2xx-adc.c:	if (chip->task) {
+drivers/iio/adc/ina2xx-adc.c:		kthread_stop(chip->task);
+drivers/iio/adc/ina2xx-adc.c:		put_task_struct(chip->task);
+drivers/iio/adc/ina2xx-adc.c:		chip->task = NULL;
+drivers/iio/adc/ina2xx-adc.c:		return regmap_write(chip->regmap, reg, writeval);
+drivers/iio/adc/ina2xx-adc.c:	return regmap_read(chip->regmap, reg, readval);
+drivers/iio/adc/ina2xx-adc.c:	int ret = regmap_write(chip->regmap, INA2XX_CONFIG, config);
+drivers/iio/adc/ina2xx-adc.c:	chip->regmap = devm_regmap_init_i2c(client, &ina2xx_regmap_config);
+drivers/iio/adc/ina2xx-adc.c:	if (IS_ERR(chip->regmap)) {
+drivers/iio/adc/ina2xx-adc.c:		return PTR_ERR(chip->regmap);
+drivers/iio/adc/ina2xx-adc.c:	chip->config = &ina2xx_config[type];
+drivers/iio/adc/ina2xx-adc.c:	mutex_init(&chip->state_lock);
+drivers/iio/adc/ina2xx-adc.c:	val = chip->config->config_default;
+drivers/iio/adc/ina2xx-adc.c:		chip->avg = 1;
+drivers/iio/adc/ina2xx-adc.c:	return regmap_update_bits(chip->regmap, INA2XX_CONFIG,
+drivers/iio/adc/rockchip_saradc.c:		.name	= "rockchip-saradc",
+drivers/iio/adc/stx104.c:	chip->set(chip, offset, value);
+drivers/iio/chemical/atlas-ph-sensor.c:	ret = regmap_bulk_read(data->regmap, data->chip->data_reg,
+drivers/iio/chemical/atlas-ph-sensor.c:			      sizeof(__be32) * (data->chip->num_channels - 2));
+drivers/iio/chemical/atlas-ph-sensor.c:		msleep(data->chip->delay);
+drivers/iio/chemical/atlas-ph-sensor.c:	indio_dev->channels = chip->channels;
+drivers/iio/chemical/atlas-ph-sensor.c:	indio_dev->num_channels = chip->num_channels;
+drivers/iio/chemical/atlas-ph-sensor.c:	ret = chip->calibration(data);
+drivers/iio/chemical/vz89x.c:	return !!(data->buffer[data->chip->read_size - 1] > 0);
+drivers/iio/chemical/vz89x.c:	for (i = 0; i < (data->chip->read_size - 1); i++) {
+drivers/iio/chemical/vz89x.c:	return !((0xff - crc) == data->buffer[data->chip->read_size - 1]);
+drivers/iio/chemical/vz89x.c:	msg[0].len = chip->write_size;
+drivers/iio/chemical/vz89x.c:	msg[1].len = chip->read_size;
+drivers/iio/chemical/vz89x.c:	for (i = 0; i < data->chip->read_size; i++) {
+drivers/iio/chemical/vz89x.c:	ret = data->xfer(data, chip->cmd);
+drivers/iio/chemical/vz89x.c:	ret = chip->valid(data);
+drivers/iio/chemical/vz89x.c:	indio_dev->channels = data->chip->channels;
+drivers/iio/chemical/vz89x.c:	indio_dev->num_channels = data->chip->num_channels;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	chip->als_info = &cm3232_als_info_default;
+drivers/iio/light/cm3232.c:		dev_err(&chip->client->dev, "Error reading addr_id\n");
+drivers/iio/light/cm3232.c:	if ((ret & 0xFF) != chip->als_info->hw_id)
+drivers/iio/light/cm3232.c:	chip->regs_cmd = CM3232_CMD_ALS_DISABLE | CM3232_CMD_ALS_RESET;
+drivers/iio/light/cm3232.c:					chip->regs_cmd);
+drivers/iio/light/cm3232.c:		dev_err(&chip->client->dev, "Error writing reg_cmd\n");
+drivers/iio/light/cm3232.c:	chip->regs_cmd = chip->als_info->regs_cmd_default;
+drivers/iio/light/cm3232.c:					chip->regs_cmd);
+drivers/iio/light/cm3232.c:		dev_err(&chip->client->dev, "Error writing reg_cmd\n");
+drivers/iio/light/cm3232.c:	als_it = chip->regs_cmd;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:			cmd = chip->regs_cmd & ~CM3232_CMD_ALS_IT_MASK;
+drivers/iio/light/cm3232.c:			chip->regs_cmd = cmd;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	struct cm3232_als_info *als_info = chip->als_info;
+drivers/iio/light/cm3232.c:	chip->regs_als = (u16)ret;
+drivers/iio/light/cm3232.c:	lux *= chip->regs_als;
+drivers/iio/light/cm3232.c:	struct cm3232_als_info *als_info = chip->als_info;
+drivers/iio/light/cm3232.c:	struct cm3232_als_info *als_info = chip->als_info;
+drivers/iio/light/cm3232.c:	chip->client = client;
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	chip->regs_cmd |= CM3232_CMD_ALS_DISABLE;
+drivers/iio/light/cm3232.c:					chip->regs_cmd);
+drivers/iio/light/cm3232.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/cm3232.c:	chip->regs_cmd &= ~CM3232_CMD_ALS_DISABLE;
+drivers/iio/light/cm3232.c:					chip->regs_cmd | CM3232_CMD_ALS_RESET);
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_int_utimes[chip->type]); ++i) {
+drivers/iio/light/isl29018.c:		if (utime == isl29018_int_utimes[chip->type][i]) {
+drivers/iio/light/isl29018.c:	if (i >= ARRAY_SIZE(isl29018_int_utimes[chip->type]))
+drivers/iio/light/isl29018.c:	ret = regmap_update_bits(chip->regmap, ISL29018_REG_ADD_COMMAND2,
+drivers/iio/light/isl29018.c:	int_time = chip->int_time;
+drivers/iio/light/isl29018.c:		if (chip->scale.scale == isl29018_scales[int_time][i].scale &&
+drivers/iio/light/isl29018.c:		    chip->scale.uscale == isl29018_scales[int_time][i].uscale) {
+drivers/iio/light/isl29018.c:			chip->scale = isl29018_scales[new_int_time][i];
+drivers/iio/light/isl29018.c:	chip->int_time = new_int_time;
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_scales[chip->int_time]); ++i) {
+drivers/iio/light/isl29018.c:		if (scale == isl29018_scales[chip->int_time][i].scale &&
+drivers/iio/light/isl29018.c:		    uscale == isl29018_scales[chip->int_time][i].uscale) {
+drivers/iio/light/isl29018.c:			new_scale = isl29018_scales[chip->int_time][i];
+drivers/iio/light/isl29018.c:	if (i >= ARRAY_SIZE(isl29018_scales[chip->int_time]))
+drivers/iio/light/isl29018.c:	ret = regmap_update_bits(chip->regmap, ISL29018_REG_ADD_COMMAND2,
+drivers/iio/light/isl29018.c:	chip->scale = new_scale;
+drivers/iio/light/isl29018.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29018.c:	status = regmap_write(chip->regmap, ISL29018_REG_ADD_COMMAND1,
+drivers/iio/light/isl29018.c:	status = regmap_read(chip->regmap, ISL29018_REG_ADD_DATA_LSB, &lsb);
+drivers/iio/light/isl29018.c:	status = regmap_read(chip->regmap, ISL29018_REG_ADD_DATA_MSB, &msb);
+drivers/iio/light/isl29018.c:	data_x_range = lux_data * chip->scale.scale +
+drivers/iio/light/isl29018.c:		       lux_data * chip->scale.uscale / 1000000;
+drivers/iio/light/isl29018.c:	*lux = data_x_range * chip->calibscale +
+drivers/iio/light/isl29018.c:	       data_x_range * chip->ucalibscale / 1000000;
+drivers/iio/light/isl29018.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29018.c:	status = regmap_update_bits(chip->regmap, ISL29018_REG_ADD_COMMAND2,
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_scales[chip->int_time]); ++i)
+drivers/iio/light/isl29018.c:			       isl29018_scales[chip->int_time][i].scale,
+drivers/iio/light/isl29018.c:			       isl29018_scales[chip->int_time][i].uscale);
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	for (i = 0; i < ARRAY_SIZE(isl29018_int_utimes[chip->type]); ++i)
+drivers/iio/light/isl29018.c:			       isl29018_int_utimes[chip->type][i]);
+drivers/iio/light/isl29018.c:	return sprintf(buf, "%d\n", chip->prox_scheme);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	chip->prox_scheme = val;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	if (chip->suspended) {
+drivers/iio/light/isl29018.c:			chip->calibscale = val;
+drivers/iio/light/isl29018.c:			chip->ucalibscale = val2;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	if (chip->suspended) {
+drivers/iio/light/isl29018.c:							 chip->prox_scheme,
+drivers/iio/light/isl29018.c:			*val2 = isl29018_int_utimes[chip->type][chip->int_time];
+drivers/iio/light/isl29018.c:			*val = chip->scale.scale;
+drivers/iio/light/isl29018.c:			*val2 = chip->scale.uscale;
+drivers/iio/light/isl29018.c:			*val = chip->calibscale;
+drivers/iio/light/isl29018.c:			*val2 = chip->ucalibscale;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29018.c:	if (chip->type == isl29035) {
+drivers/iio/light/isl29018.c:		status = regmap_read(chip->regmap, ISL29035_REG_DEVICE_ID, &id);
+drivers/iio/light/isl29018.c:		status = regmap_update_bits(chip->regmap,
+drivers/iio/light/isl29018.c:	status = regmap_write(chip->regmap, ISL29018_REG_TEST, 0x0);
+drivers/iio/light/isl29018.c:	status = regmap_write(chip->regmap, ISL29018_REG_ADD_COMMAND1, 0);
+drivers/iio/light/isl29018.c:	status = isl29018_set_scale(chip, chip->scale.scale,
+drivers/iio/light/isl29018.c:				    chip->scale.uscale);
+drivers/iio/light/isl29018.c:			isl29018_int_utimes[chip->type][chip->int_time]);
+drivers/iio/light/isl29018.c:	err = regulator_disable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	mutex_init(&chip->lock);
+drivers/iio/light/isl29018.c:	chip->type = dev_id;
+drivers/iio/light/isl29018.c:	chip->calibscale = 1;
+drivers/iio/light/isl29018.c:	chip->ucalibscale = 0;
+drivers/iio/light/isl29018.c:	chip->int_time = ISL29018_INT_TIME_16;
+drivers/iio/light/isl29018.c:	chip->scale = isl29018_scales[chip->int_time][0];
+drivers/iio/light/isl29018.c:	chip->suspended = false;
+drivers/iio/light/isl29018.c:	chip->vcc_reg = devm_regulator_get(&client->dev, "vcc");
+drivers/iio/light/isl29018.c:	if (IS_ERR(chip->vcc_reg)) {
+drivers/iio/light/isl29018.c:		err = PTR_ERR(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	err = regulator_enable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	chip->regmap = devm_regmap_init_i2c(client,
+drivers/iio/light/isl29018.c:	if (IS_ERR(chip->regmap)) {
+drivers/iio/light/isl29018.c:		err = PTR_ERR(chip->regmap);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	chip->suspended = true;
+drivers/iio/light/isl29018.c:	ret = regulator_disable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29018.c:	err = regulator_enable(chip->vcc_reg);
+drivers/iio/light/isl29018.c:		mutex_unlock(&chip->lock);
+drivers/iio/light/isl29018.c:		chip->suspended = false;
+drivers/iio/light/isl29018.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	chip->prox_sampling_int = sampling_int;
+drivers/iio/light/isl29028.c:	chip->prox_sampling_frac = sampling_fract;
+drivers/iio/light/isl29028.c:	ret = isl29028_set_proxim_sampling(chip, chip->prox_sampling_int,
+drivers/iio/light/isl29028.c:					   chip->prox_sampling_frac);
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	prox_index = isl29028_find_prox_sleep_index(chip->prox_sampling_int,
+drivers/iio/light/isl29028.c:						    chip->prox_sampling_frac);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	chip->lux_scale = lux_scale;
+drivers/iio/light/isl29028.c:	if (chip->als_ir_mode == mode)
+drivers/iio/light/isl29028.c:	ret = isl29028_set_als_scale(chip, chip->lux_scale);
+drivers/iio/light/isl29028.c:		ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:		ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:		ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:		return regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
+drivers/iio/light/isl29028.c:	chip->als_ir_mode = mode;
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_read(chip->regmap, ISL29028_REG_ALSIR_L, &lsb);
+drivers/iio/light/isl29028.c:	ret = regmap_read(chip->regmap, ISL29028_REG_ALSIR_U, &msb);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	if (!chip->enable_prox) {
+drivers/iio/light/isl29028.c:		chip->enable_prox = true;
+drivers/iio/light/isl29028.c:	ret = regmap_read(chip->regmap, ISL29028_REG_PROX_DATA, &data);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	if (chip->lux_scale == 125)
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29028.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29028.c:		*val = chip->prox_sampling_int;
+drivers/iio/light/isl29028.c:		*val2 = chip->prox_sampling_frac;
+drivers/iio/light/isl29028.c:		*val = chip->lux_scale;
+drivers/iio/light/isl29028.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/isl29028.c:	struct device *dev = regmap_get_device(chip->regmap);
+drivers/iio/light/isl29028.c:	ret = regmap_write(chip->regmap, ISL29028_REG_CONFIGURE, 0x0);
+drivers/iio/light/isl29028.c:	chip->als_ir_mode = ISL29028_MODE_NONE;
+drivers/iio/light/isl29028.c:	chip->enable_prox = false;
+drivers/iio/light/isl29028.c:	mutex_init(&chip->lock);
+drivers/iio/light/isl29028.c:	chip->regmap = devm_regmap_init_i2c(client, &isl29028_regmap_config);
+drivers/iio/light/isl29028.c:	if (IS_ERR(chip->regmap)) {
+drivers/iio/light/isl29028.c:		ret = PTR_ERR(chip->regmap);
+drivers/iio/light/isl29028.c:	chip->enable_prox  = false;
+drivers/iio/light/isl29028.c:	chip->prox_sampling_int = 20;
+drivers/iio/light/isl29028.c:	chip->prox_sampling_frac = 0;
+drivers/iio/light/isl29028.c:	chip->lux_scale = 2000;
+drivers/iio/light/isl29028.c:	ret = regmap_write(chip->regmap, ISL29028_REG_TEST1_MODE, 0x0);
+drivers/iio/light/isl29028.c:	ret = regmap_write(chip->regmap, ISL29028_REG_TEST2_MODE, 0x0);
+drivers/iio/light/isl29028.c:	mutex_lock(&chip->lock);
+drivers/iio/light/isl29028.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			chip->high_thres & 0xFF);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			(chip->high_thres >> 8) & 0xFF);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			chip->low_thres & 0xFF);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:			(chip->low_thres >> 8) & 0xFF);
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	switch (chip->gainlevel->gaintime & TSL2563_TIMING_MASK) {
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	if (adc > chip->gainlevel->max || adc < chip->gainlevel->min) {
+drivers/iio/light/tsl2563.c:		(adc > chip->gainlevel->max) ?
+drivers/iio/light/tsl2563.c:			chip->gainlevel++ : chip->gainlevel--;
+drivers/iio/light/tsl2563.c:					  chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	struct i2c_client *client = chip->client;
+drivers/iio/light/tsl2563.c:	if (chip->suspended)
+drivers/iio/light/tsl2563.c:	if (!chip->int_enabled) {
+drivers/iio/light/tsl2563.c:		cancel_delayed_work(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:	chip->data0 = tsl2563_normalize_adc(adc0, chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	chip->data1 = tsl2563_normalize_adc(adc1, chip->gainlevel->gaintime);
+drivers/iio/light/tsl2563.c:	if (!chip->int_enabled)
+drivers/iio/light/tsl2563.c:		schedule_delayed_work(&chip->poweroff_work, 5 * HZ);
+drivers/iio/light/tsl2563.c:		chip->calib0 = tsl2563_calib_from_sysfs(val);
+drivers/iio/light/tsl2563.c:		chip->calib1 = tsl2563_calib_from_sysfs(val);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:			calib0 = tsl2563_calib_adc(chip->data0, chip->calib0) *
+drivers/iio/light/tsl2563.c:				chip->cover_comp_gain;
+drivers/iio/light/tsl2563.c:			calib1 = tsl2563_calib_adc(chip->data1, chip->calib1) *
+drivers/iio/light/tsl2563.c:				chip->cover_comp_gain;
+drivers/iio/light/tsl2563.c:				*val = chip->data0;
+drivers/iio/light/tsl2563.c:				*val = chip->data1;
+drivers/iio/light/tsl2563.c:			*val = tsl2563_calib_to_sysfs(chip->calib0);
+drivers/iio/light/tsl2563.c:			*val = tsl2563_calib_to_sysfs(chip->calib1);
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:		*val = chip->high_thres;
+drivers/iio/light/tsl2563.c:		*val = chip->low_thres;
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client, TSL2563_CMD | address,
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:		chip->high_thres = val;
+drivers/iio/light/tsl2563.c:		chip->low_thres = val;
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	i2c_smbus_write_byte(chip->client, TSL2563_CMD | TSL2563_CLEARINT);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	if (state && !(chip->intr & 0x30)) {
+drivers/iio/light/tsl2563.c:		chip->intr &= ~0x30;
+drivers/iio/light/tsl2563.c:		chip->intr |= 0x10;
+drivers/iio/light/tsl2563.c:		cancel_delayed_work(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:						chip->intr);
+drivers/iio/light/tsl2563.c:		chip->int_enabled = true;
+drivers/iio/light/tsl2563.c:	if (!state && (chip->intr & 0x30)) {
+drivers/iio/light/tsl2563.c:		chip->intr &= ~0x30;
+drivers/iio/light/tsl2563.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:						chip->intr);
+drivers/iio/light/tsl2563.c:		chip->int_enabled = false;
+drivers/iio/light/tsl2563.c:		schedule_delayed_work(&chip->poweroff_work, 5 * HZ);
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->client = client;
+drivers/iio/light/tsl2563.c:	mutex_init(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->low_thres = 0x0;
+drivers/iio/light/tsl2563.c:	chip->high_thres = 0xffff;
+drivers/iio/light/tsl2563.c:	chip->gainlevel = tsl2563_gainlevel_table;
+drivers/iio/light/tsl2563.c:	chip->intr = TSL2563_INT_PERSIST(4);
+drivers/iio/light/tsl2563.c:	chip->calib0 = tsl2563_calib_from_sysfs(CALIB_BASE_SYSFS);
+drivers/iio/light/tsl2563.c:	chip->calib1 = tsl2563_calib_from_sysfs(CALIB_BASE_SYSFS);
+drivers/iio/light/tsl2563.c:		chip->cover_comp_gain = pdata->cover_comp_gain;
+drivers/iio/light/tsl2563.c:				     &chip->cover_comp_gain);
+drivers/iio/light/tsl2563.c:		chip->cover_comp_gain = 1;
+drivers/iio/light/tsl2563.c:	INIT_DELAYED_WORK(&chip->poweroff_work, tsl2563_poweroff_work);
+drivers/iio/light/tsl2563.c:	schedule_delayed_work(&chip->poweroff_work, 5 * HZ);
+drivers/iio/light/tsl2563.c:	cancel_delayed_work_sync(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:	if (!chip->int_enabled)
+drivers/iio/light/tsl2563.c:		cancel_delayed_work(&chip->poweroff_work);
+drivers/iio/light/tsl2563.c:	chip->intr &= ~0x30;
+drivers/iio/light/tsl2563.c:	i2c_smbus_write_byte_data(chip->client, TSL2563_CMD | TSL2563_REG_INT,
+drivers/iio/light/tsl2563.c:				  chip->intr);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->suspended = true;
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2563.c:	mutex_lock(&chip->lock);
+drivers/iio/light/tsl2563.c:	chip->suspended = false;
+drivers/iio/light/tsl2563.c:	mutex_unlock(&chip->lock);
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_time = 100;
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_gain = 0;
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_gain_trim = 1000;
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_cal_target = 130;
+drivers/iio/light/tsl2583.c:	memcpy(chip->als_settings.als_device_lux, tsl2583_default_lux,
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_read_byte_data(chip->client, TSL2583_CMD_REG);
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to read CMD_REG register\n",
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: data not valid; returning last value\n",
+drivers/iio/light/tsl2583.c:		ret = chip->als_cur_info.lux; /* return LAST VALUE */
+drivers/iio/light/tsl2583.c:		ret = i2c_smbus_read_byte_data(chip->client, reg);
+drivers/iio/light/tsl2583.c:			dev_err(&chip->client->dev, "%s: failed to read register %x\n",
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to clear the interrupt bit\n",
+drivers/iio/light/tsl2583.c:	chip->als_cur_info.als_ch0 = ch0;
+drivers/iio/light/tsl2583.c:	chip->als_cur_info.als_ch1 = ch1;
+drivers/iio/light/tsl2583.c:	if ((ch0 >= chip->als_saturation) || (ch1 >= chip->als_saturation))
+drivers/iio/light/tsl2583.c:		chip->als_cur_info.lux = 0;
+drivers/iio/light/tsl2583.c:	for (p = (struct tsl2583_lux *)chip->als_settings.als_device_lux;
+drivers/iio/light/tsl2583.c:			  (gainadj[chip->als_settings.als_gain].ch0 >> 1))
+drivers/iio/light/tsl2583.c:			 / gainadj[chip->als_settings.als_gain].ch0;
+drivers/iio/light/tsl2583.c:			  (gainadj[chip->als_settings.als_gain].ch1 >> 1))
+drivers/iio/light/tsl2583.c:			 / gainadj[chip->als_settings.als_gain].ch1;
+drivers/iio/light/tsl2583.c:			dev_dbg(&chip->client->dev, "%s: No Data - Returning 0\n",
+drivers/iio/light/tsl2583.c:			chip->als_cur_info.lux = 0;
+drivers/iio/light/tsl2583.c:	if (chip->als_time_scale == 0)
+drivers/iio/light/tsl2583.c:		lux = (lux + (chip->als_time_scale >> 1)) /
+drivers/iio/light/tsl2583.c:			chip->als_time_scale;
+drivers/iio/light/tsl2583.c:	lux64 = lux64 * chip->als_settings.als_gain_trim;
+drivers/iio/light/tsl2583.c:	chip->als_cur_info.lux = lux;
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to get lux\n",
+drivers/iio/light/tsl2583.c:	gain_trim_val = (unsigned int)(((chip->als_settings.als_cal_target)
+drivers/iio/light/tsl2583.c:			* chip->als_settings.als_gain_trim) / lux_val);
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_gain_trim = (int)gain_trim_val;
+drivers/iio/light/tsl2583.c:	als_count = (chip->als_settings.als_time * 100 + 135) / 270;
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev, "%s: failed to set the als time to %d\n",
+drivers/iio/light/tsl2583.c:	chip->als_saturation = als_count * 922; /* 90% of full scale */
+drivers/iio/light/tsl2583.c:	chip->als_time_scale = (als_time + 25) / 50;
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:					chip->als_settings.als_gain);
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:			chip->als_settings.als_gain);
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2583.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	ret = sprintf(buf, "%d\n", chip->als_settings.als_cal_target);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	chip->als_settings.als_cal_target = value;
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	for (i = 0; i < ARRAY_SIZE(chip->als_settings.als_device_lux); i++) {
+drivers/iio/light/tsl2583.c:				  chip->als_settings.als_device_lux[i].ratio,
+drivers/iio/light/tsl2583.c:				  chip->als_settings.als_device_lux[i].ch0,
+drivers/iio/light/tsl2583.c:				  chip->als_settings.als_device_lux[i].ch1);
+drivers/iio/light/tsl2583.c:		if (chip->als_settings.als_device_lux[i].ratio == 0) {
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	memcpy(chip->als_settings.als_device_lux, &value[1],
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:		ret = pm_runtime_get_sync(&chip->client->dev);
+drivers/iio/light/tsl2583.c:			pm_runtime_put_noidle(&chip->client->dev);
+drivers/iio/light/tsl2583.c:		pm_runtime_mark_last_busy(&chip->client->dev);
+drivers/iio/light/tsl2583.c:		ret = pm_runtime_put_autosuspend(&chip->client->dev);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:				*val = chip->als_cur_info.als_ch0;
+drivers/iio/light/tsl2583.c:				*val = chip->als_cur_info.als_ch1;
+drivers/iio/light/tsl2583.c:			*val = chip->als_settings.als_gain_trim;
+drivers/iio/light/tsl2583.c:			*val = gainadj[chip->als_settings.als_gain].mean;
+drivers/iio/light/tsl2583.c:			*val2 = chip->als_settings.als_time;
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:			chip->als_settings.als_gain_trim = val;
+drivers/iio/light/tsl2583.c:					chip->als_settings.als_gain = i;
+drivers/iio/light/tsl2583.c:			chip->als_settings.als_time = val2;
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	chip->client = clientp;
+drivers/iio/light/tsl2583.c:	mutex_init(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	indio_dev->name = chip->client->name;
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2583.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	if (chip->tsl2772_chip_status != TSL2772_CHIP_WORKING) {
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev, "%s: device is not enabled\n",
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		ret = chip->als_cur_info.lux; /* return LAST VALUE */
+drivers/iio/light/tsl2772.c:	chip->als_cur_info.als_ch0 = ret;
+drivers/iio/light/tsl2772.c:	chip->als_cur_info.als_ch1 = ret;
+drivers/iio/light/tsl2772.c:	if (chip->als_cur_info.als_ch0 >= chip->als_saturation) {
+drivers/iio/light/tsl2772.c:	if (!chip->als_cur_info.als_ch0) {
+drivers/iio/light/tsl2772.c:		ret = chip->als_cur_info.lux;
+drivers/iio/light/tsl2772.c:	for (p = (struct tsl2772_lux *)chip->tsl2772_device_lux; p->ch0 != 0;
+drivers/iio/light/tsl2772.c:		lux = ((chip->als_cur_info.als_ch0 * p->ch0) -
+drivers/iio/light/tsl2772.c:		       (chip->als_cur_info.als_ch1 * p->ch1)) /
+drivers/iio/light/tsl2772.c:			chip->als_gain_time_scale;
+drivers/iio/light/tsl2772.c:		lux = (lux * chip->settings.als_gain_trim) / 1000;
+drivers/iio/light/tsl2772.c:	chip->als_cur_info.lux = max_lux;
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c: *                      chip->prox_data.
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	switch (chip->id) {
+drivers/iio/light/tsl2772.c:	chip->prox_data = ret;
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	struct device_node *of_node = chip->client->dev.of_node;
+drivers/iio/light/tsl2772.c:			chip->settings.prox_power = tsl2772_led_currents[i][1];
+drivers/iio/light/tsl2772.c:	dev_err(&chip->client->dev, "Invalid value %d for led-max-microamp\n",
+drivers/iio/light/tsl2772.c:	struct device_node *of_node = chip->client->dev.of_node;
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:			dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	if (chip->pdata && chip->pdata->platform_default_settings)
+drivers/iio/light/tsl2772.c:		memcpy(&chip->settings, chip->pdata->platform_default_settings,
+drivers/iio/light/tsl2772.c:		memcpy(&chip->settings, &tsl2772_default_settings,
+drivers/iio/light/tsl2772.c:	if (chip->pdata && chip->pdata->platform_lux_table[0].ch0 != 0)
+drivers/iio/light/tsl2772.c:		memcpy(chip->tsl2772_device_lux,
+drivers/iio/light/tsl2772.c:		       chip->pdata->platform_lux_table,
+drivers/iio/light/tsl2772.c:		       sizeof(chip->pdata->platform_lux_table));
+drivers/iio/light/tsl2772.c:		memcpy(chip->tsl2772_device_lux,
+drivers/iio/light/tsl2772.c:		       tsl2772_default_lux_table_group[chip->id],
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	ret = (chip->settings.als_cal_target * chip->settings.als_gain_trim) /
+drivers/iio/light/tsl2772.c:	chip->settings.als_gain_trim = ret;
+drivers/iio/light/tsl2772.c:	regulator_bulk_disable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_TIME] = chip->settings.als_time;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_TIME] = chip->settings.prox_time;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_WAIT_TIME] = chip->settings.wait_time;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_PRX_CONFIG] =
+drivers/iio/light/tsl2772.c:		chip->settings.als_prox_config;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MINTHRESHLO] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_low) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MINTHRESHHI] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_low >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MAXTHRESHLO] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_high) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_ALS_MAXTHRESHHI] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_thresh_high >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PERSISTENCE] =
+drivers/iio/light/tsl2772.c:		(chip->settings.prox_persistence & 0xFF) << 4 |
+drivers/iio/light/tsl2772.c:		(chip->settings.als_persistence & 0xFF);
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_COUNT] =
+drivers/iio/light/tsl2772.c:			chip->settings.prox_pulse_count;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MINTHRESHLO] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_low) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MINTHRESHHI] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_low >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MAXTHRESHLO] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_high) & 0xFF;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_PRX_MAXTHRESHHI] =
+drivers/iio/light/tsl2772.c:			(chip->settings.prox_thres_high >> 8) & 0xFF;
+drivers/iio/light/tsl2772.c:	if (chip->tsl2772_chip_status == TSL2772_CHIP_WORKING) {
+drivers/iio/light/tsl2772.c:		dev_info(&chip->client->dev, "device is already enabled\n");
+drivers/iio/light/tsl2772.c:	chip->tsl2772_config[TSL2772_GAIN] =
+drivers/iio/light/tsl2772.c:		(chip->settings.als_gain & 0xFF) |
+drivers/iio/light/tsl2772.c:		((chip->settings.prox_gain & 0xFF) << 2) |
+drivers/iio/light/tsl2772.c:		(chip->settings.prox_diode << 4) |
+drivers/iio/light/tsl2772.c:		(chip->settings.prox_power << 6);
+drivers/iio/light/tsl2772.c:	als_count = 256 - chip->settings.als_time;
+drivers/iio/light/tsl2772.c:	als_time_us = als_count * tsl2772_int_time_avail[chip->id][3];
+drivers/iio/light/tsl2772.c:	chip->als_saturation = als_count * 768; /* 75% of full scale */
+drivers/iio/light/tsl2772.c:	chip->als_gain_time_scale = als_time_us *
+drivers/iio/light/tsl2772.c:		tsl2772_als_gain[chip->settings.als_gain];
+drivers/iio/light/tsl2772.c:	for (i = 0, dev_reg = chip->tsl2772_config;
+drivers/iio/light/tsl2772.c:		ret = i2c_smbus_write_byte_data(chip->client, reg,
+drivers/iio/light/tsl2772.c:			dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	if (chip->settings.als_interrupt_en)
+drivers/iio/light/tsl2772.c:	if (chip->settings.prox_interrupt_en)
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	chip->tsl2772_chip_status = TSL2772_CHIP_WORKING;
+drivers/iio/light/tsl2772.c:	chip->tsl2772_chip_status = TSL2772_CHIP_SUSPENDED;
+drivers/iio/light/tsl2772.c:	int device_status = chip->tsl2772_chip_status;
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	mutex_lock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	mutex_unlock(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	if (chip->settings.prox_max_samples_cal < 1 ||
+drivers/iio/light/tsl2772.c:	    chip->settings.prox_max_samples_cal > MAX_SAMPLES_CAL)
+drivers/iio/light/tsl2772.c:	for (i = 0; i < chip->settings.prox_max_samples_cal; i++) {
+drivers/iio/light/tsl2772.c:		prox_history[i] = chip->prox_data;
+drivers/iio/light/tsl2772.c:	for (i = 0; i < chip->settings.prox_max_samples_cal; i++) {
+drivers/iio/light/tsl2772.c:	mean = sample_sum / chip->settings.prox_max_samples_cal;
+drivers/iio/light/tsl2772.c:	chip->settings.prox_thres_high = (max << 1) - mean;
+drivers/iio/light/tsl2772.c:		*length = ARRAY_SIZE(tsl2772_int_time_avail[chip->id]);
+drivers/iio/light/tsl2772.c:		*vals = tsl2772_int_time_avail[chip->id];
+drivers/iio/light/tsl2772.c:	return snprintf(buf, PAGE_SIZE, "%d\n", chip->settings.als_cal_target);
+drivers/iio/light/tsl2772.c:	chip->settings.als_cal_target = value;
+drivers/iio/light/tsl2772.c:			chip->tsl2772_device_lux[i].ch0,
+drivers/iio/light/tsl2772.c:			chip->tsl2772_device_lux[i].ch1);
+drivers/iio/light/tsl2772.c:		if (chip->tsl2772_device_lux[i].ch0 == 0) {
+drivers/iio/light/tsl2772.c:	int value[ARRAY_SIZE(chip->tsl2772_device_lux) * 2 + 1];
+drivers/iio/light/tsl2772.c:	    n > ((ARRAY_SIZE(chip->tsl2772_device_lux) - 1) * 2))
+drivers/iio/light/tsl2772.c:	if (chip->tsl2772_chip_status == TSL2772_CHIP_WORKING) {
+drivers/iio/light/tsl2772.c:	memset(chip->tsl2772_device_lux, 0, sizeof(chip->tsl2772_device_lux));
+drivers/iio/light/tsl2772.c:	memcpy(chip->tsl2772_device_lux, &value[1], (value[0] * 4));
+drivers/iio/light/tsl2772.c:		return chip->settings.als_interrupt_en;
+drivers/iio/light/tsl2772.c:		return chip->settings.prox_interrupt_en;
+drivers/iio/light/tsl2772.c:		chip->settings.als_interrupt_en = val ? true : false;
+drivers/iio/light/tsl2772.c:		chip->settings.prox_interrupt_en = val ? true : false;
+drivers/iio/light/tsl2772.c:				chip->settings.als_thresh_high = val;
+drivers/iio/light/tsl2772.c:				chip->settings.als_thresh_low = val;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_thres_high = val;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_thres_low = val;
+drivers/iio/light/tsl2772.c:			time = chip->settings.als_time;
+drivers/iio/light/tsl2772.c:			time = chip->settings.prox_time;
+drivers/iio/light/tsl2772.c:			(count * tsl2772_int_time_avail[chip->id][3]);
+drivers/iio/light/tsl2772.c:			chip->settings.als_persistence = persistence;
+drivers/iio/light/tsl2772.c:			chip->settings.prox_persistence = persistence;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.als_thresh_high;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.als_thresh_low;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.prox_thres_high;
+drivers/iio/light/tsl2772.c:				*val = chip->settings.prox_thres_low;
+drivers/iio/light/tsl2772.c:			time = chip->settings.als_time;
+drivers/iio/light/tsl2772.c:			persistence = chip->settings.als_persistence;
+drivers/iio/light/tsl2772.c:			time = chip->settings.prox_time;
+drivers/iio/light/tsl2772.c:			persistence = chip->settings.prox_persistence;
+drivers/iio/light/tsl2772.c:			tsl2772_int_time_avail[chip->id][3];
+drivers/iio/light/tsl2772.c:			*val = chip->als_cur_info.lux;
+drivers/iio/light/tsl2772.c:				*val = chip->als_cur_info.als_ch0;
+drivers/iio/light/tsl2772.c:				*val = chip->als_cur_info.als_ch1;
+drivers/iio/light/tsl2772.c:			*val = chip->prox_data;
+drivers/iio/light/tsl2772.c:			*val = tsl2772_als_gain[chip->settings.als_gain];
+drivers/iio/light/tsl2772.c:			*val = tsl2772_prox_gain[chip->settings.prox_gain];
+drivers/iio/light/tsl2772.c:		*val = chip->settings.als_gain_trim;
+drivers/iio/light/tsl2772.c:		*val2 = (256 - chip->settings.als_time) *
+drivers/iio/light/tsl2772.c:			tsl2772_int_time_avail[chip->id][3];
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 0;
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 1;
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 2;
+drivers/iio/light/tsl2772.c:				chip->settings.als_gain = 3;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 0;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 1;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 2;
+drivers/iio/light/tsl2772.c:				chip->settings.prox_gain = 3;
+drivers/iio/light/tsl2772.c:		chip->settings.als_gain_trim = val;
+drivers/iio/light/tsl2772.c:		if (val != 0 || val2 < tsl2772_int_time_avail[chip->id][1] ||
+drivers/iio/light/tsl2772.c:		    val2 > tsl2772_int_time_avail[chip->id][5])
+drivers/iio/light/tsl2772.c:		chip->settings.als_time = 256 -
+drivers/iio/light/tsl2772.c:			(val2 / tsl2772_int_time_avail[chip->id][3]);
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_write_byte(chip->client,
+drivers/iio/light/tsl2772.c:		dev_err(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	chip->client = clientp;
+drivers/iio/light/tsl2772.c:	chip->supplies[TSL2772_SUPPLY_VDD].supply = "vdd";
+drivers/iio/light/tsl2772.c:	chip->supplies[TSL2772_SUPPLY_VDDIO].supply = "vddio";
+drivers/iio/light/tsl2772.c:				      ARRAY_SIZE(chip->supplies),
+drivers/iio/light/tsl2772.c:				      chip->supplies);
+drivers/iio/light/tsl2772.c:	ret = regulator_bulk_enable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/light/tsl2772.c:	ret = i2c_smbus_read_byte_data(chip->client,
+drivers/iio/light/tsl2772.c:		dev_info(&chip->client->dev,
+drivers/iio/light/tsl2772.c:	mutex_init(&chip->als_mutex);
+drivers/iio/light/tsl2772.c:	mutex_init(&chip->prox_mutex);
+drivers/iio/light/tsl2772.c:	chip->tsl2772_chip_status = TSL2772_CHIP_UNKNOWN;
+drivers/iio/light/tsl2772.c:	chip->pdata = dev_get_platdata(&clientp->dev);
+drivers/iio/light/tsl2772.c:	chip->id = id->driver_data;
+drivers/iio/light/tsl2772.c:	chip->chip_info =
+drivers/iio/light/tsl2772.c:	indio_dev->info = chip->chip_info->info;
+drivers/iio/light/tsl2772.c:	indio_dev->name = chip->client->name;
+drivers/iio/light/tsl2772.c:	indio_dev->num_channels = chip->chip_info->chan_table_elements;
+drivers/iio/light/tsl2772.c:		indio_dev->channels = chip->chip_info->channel_with_events;
+drivers/iio/light/tsl2772.c:		indio_dev->channels = chip->chip_info->channel_without_events;
+drivers/iio/light/tsl2772.c:	regulator_bulk_disable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/light/tsl2772.c:	ret = regulator_bulk_enable(ARRAY_SIZE(chip->supplies), chip->supplies);
+drivers/iio/temperature/maxim_thermocouple.c:	unsigned int storage_bytes = data->chip->read_size;
+drivers/iio/temperature/maxim_thermocouple.c:	if (*val & data->chip->status_bit)
+drivers/iio/temperature/maxim_thermocouple.c:	ret = spi_read(data->spi, data->buffer, data->chip->read_size);
+drivers/iio/temperature/maxim_thermocouple.c:	indio_dev->channels = chip->channels;
+drivers/iio/temperature/maxim_thermocouple.c:	indio_dev->available_scan_masks = chip->scan_masks;
+drivers/iio/temperature/maxim_thermocouple.c:	indio_dev->num_channels = chip->num_channels;
+drivers/infiniband/hw/hfi1/chip.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/hfi1/init.c: * "extra" is for chip-specific data.
+drivers/infiniband/hw/hfi1/init.c: * Do all the generic driver unit- and chip-independent memory
+drivers/infiniband/hw/hfi1/pcie.c: * Do PCIe cleanup related to dd, after chip-specific cleanup, etc.  Just prior
+drivers/infiniband/hw/hfi1/qsfp.h: * differ (in the chip-specific section), we need a pointer to its head.
+drivers/infiniband/hw/qib/qib.h: * is chip-specific, per-port
+drivers/infiniband/hw/qib/qib.h:	struct qib_chippport_specific *cpspec; /* chip-specific per-port */
+drivers/infiniband/hw/qib/qib.h:	/* last ibcstatus.  opaque outside chip-specific code */
+drivers/infiniband/hw/qib/qib.h: * described above) while fields only used by a particular chip-type are in
+drivers/infiniband/hw/qib/qib.h:	struct qib_chip_specific *cspec; /* chip-specific */
+drivers/infiniband/hw/qib/qib.h:	/* fill out chip-specific fields */
+drivers/infiniband/hw/qib/qib.h:	/* Read/modify/write of GPIO pins (potentially chip-specific */
+drivers/infiniband/hw/qib/qib.h:	 * modify rcvctrl shadow[s] and write to appropriate chip-regs.
+drivers/infiniband/hw/qib/qib.h:/* clean up any per-chip chip-specific stuff */
+drivers/infiniband/hw/qib/qib_diag.c: * @offs: the offset in chip-space
+drivers/infiniband/hw/qib/qib_diag.c:	 * chip-specific code here, so should not make many assumptions.
+drivers/infiniband/hw/qib/qib_eeprom.c:	 * figures out device. This will migrate to chip-specific.
+drivers/infiniband/hw/qib/qib_file_ops.c:	 * array for time being.  If rcd->ctxt > chip-supported,
+drivers/infiniband/hw/qib/qib_iba6120.c: * This file contains all the chip-specific register information and
+drivers/infiniband/hw/qib/qib_iba6120.c:	/* chip-specific hardware errors */
+drivers/infiniband/hw/qib/qib_iba6120.c: * This is in chip-specific code because of all of the register accesses,
+drivers/infiniband/hw/qib/qib_iba6120.c: * Only chip-specific because it's all register accesses
+drivers/infiniband/hw/qib/qib_iba6120.c: * qib_6120_setup_cleanup - clean up any per-chip chip-specific stuff
+drivers/infiniband/hw/qib/qib_iba6120.c: * Set up our chip-specific interrupt handler
+drivers/infiniband/hw/qib/qib_iba6120.c: * qib_6120_get_base_info - set chip-specific flags for user code
+drivers/infiniband/hw/qib/qib_iba6120.c: * Modify the RCVCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba6120.c: * location is chip-specific, but the needed operations are
+drivers/infiniband/hw/qib/qib_iba6120.c: * Modify the SENDCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba6120.c: * qib_init_iba6120_funcs - set up the chip-specific function pointers
+drivers/infiniband/hw/qib/qib_iba6120.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/qib/qib_iba6120.c:	/* initialize chip-specific variables */
+drivers/infiniband/hw/qib/qib_iba7220.c: * This file contains almost all the chip-specific register information and
+drivers/infiniband/hw/qib/qib_iba7220.c:	/* chip-specific hardware errors */
+drivers/infiniband/hw/qib/qib_iba7220.c: * This is in chip-specific code because of all of the register accesses,
+drivers/infiniband/hw/qib/qib_iba7220.c: * Only chip-specific because it's all register accesses
+drivers/infiniband/hw/qib/qib_iba7220.c: * qib_setup_7220_cleanup - clean up any per-chip chip-specific stuff
+drivers/infiniband/hw/qib/qib_iba7220.c: * Set up our chip-specific interrupt handler.
+drivers/infiniband/hw/qib/qib_iba7220.c: * qib_init_7220_get_base_info - set chip-specific flags for user code
+drivers/infiniband/hw/qib/qib_iba7220.c: * Modify the RCVCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7220.c: * location is chip-specifc, but the needed operations are
+drivers/infiniband/hw/qib/qib_iba7220.c: * Modify the SENDCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7220.c: * qib_init_iba7220_funcs - set up the chip-specific function pointers
+drivers/infiniband/hw/qib/qib_iba7220.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/qib/qib_iba7220.c:	/* initialize chip-specific variables */
+drivers/infiniband/hw/qib/qib_iba7322.c: * This file contains almost all the chip-specific register information and
+drivers/infiniband/hw/qib/qib_iba7322.c: * This is in chip-specific code because of all of the register accesses,
+drivers/infiniband/hw/qib/qib_iba7322.c: * Only chip-specific because it's all register accesses
+drivers/infiniband/hw/qib/qib_iba7322.c: * Set up our chip-specific interrupt handler.
+drivers/infiniband/hw/qib/qib_iba7322.c: * qib_init_7322_get_base_info - set chip-specific flags for user code
+drivers/infiniband/hw/qib/qib_iba7322.c: * Modify the RCVCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7322.c: * location is chip-specifc, but the needed operations are
+drivers/infiniband/hw/qib/qib_iba7322.c: * Modify the SENDCTRL register in chip-specific way. This
+drivers/infiniband/hw/qib/qib_iba7322.c: * qib_init_iba7322_funcs - set up the chip-specific function pointers
+drivers/infiniband/hw/qib/qib_iba7322.c: * chip-specific function pointers for later use.
+drivers/infiniband/hw/qib/qib_iba7322.c:	/* initialize chip-specific variables */
+drivers/infiniband/hw/qib/qib_iba7322.c:	/* Get correct offset in chip-space, and in source table */
+drivers/infiniband/hw/qib/qib_init.c:	 * calculated in chip-specific code because it may cause some
+drivers/infiniband/hw/qib/qib_init.c:	 * chip-specific adjustments to be made.
+drivers/infiniband/hw/qib/qib_init.c:	/* Bypass most chip-init, to get to device creation */
+drivers/infiniband/hw/qib/qib_init.c: * "extra" is for chip-specific data.
+drivers/infiniband/hw/qib/qib_init.c: * Do all the generic driver unit- and chip-independent memory
+drivers/infiniband/hw/qib/qib_init.c:	 * Clean up chip-specific stuff.
+drivers/infiniband/hw/qib/qib_intr.c:	 * call the chip-specific code to take appropriate actions.
+drivers/infiniband/hw/qib/qib_intr.c:			goto skip_ibchange; /* chip-code handled */
+drivers/infiniband/hw/qib/qib_intr.c:			goto skip_ibchange; /* chip-code handled */
+drivers/infiniband/hw/qib/qib_pcie.c: * from qib_pcie_params, which every chip-specific
+drivers/infiniband/hw/qib/qib_pcie.c: * Do PCIe cleanup, after chip-specific cleanup, etc.  Just prior
+drivers/infiniband/hw/qib/qib_pcie.c: * to move all the pcie code out of the chip-specific driver code.
+drivers/infiniband/hw/qib/qib_qsfp.h: * it will be part of port-chip-specific data if a board supports QSFP.
+drivers/infiniband/hw/qib/qib_qsfp.h: * differ (in the chip-specific section), we need a pointer to its head.
+drivers/infiniband/hw/qib/qib_sd7220.c:		 * Suppress it around the reset, both in chip-level
+drivers/infiniband/hw/qib/qib_sd7220.c:			 * loc encodes chip-select as well as address
+drivers/infiniband/hw/qib/qib_twsi.c: * have been moved to chip-specific files.
+drivers/input/keyboard/mcs_touchkey.c:	val = i2c_smbus_read_byte_data(client, chip->status_reg);
+drivers/input/keyboard/mcs_touchkey.c:	pressed = (val & (1 << chip->pressbit)) >> chip->pressbit;
+drivers/input/keyboard/mcs_touchkey.c:	if (chip->press_invert)
+drivers/input/keyboard/mcs_touchkey.c:		pressed ^= chip->press_invert;
+drivers/input/keyboard/mcs_touchkey.c:		key_val = val & (0xff >> (8 - chip->pressbit));
+drivers/input/keyboard/mcs_touchkey.c:		key_val -= chip->baseval;
+drivers/input/keyboard/mtk-pmic-keys.c:	keys->regmap = pmic_chip->regmap;
+drivers/input/keyboard/tca6416-keypad.c:	error = chip->io_size > 8 ?
+drivers/input/keyboard/tca6416-keypad.c:		i2c_smbus_write_word_data(chip->client, reg << 1, val) :
+drivers/input/keyboard/tca6416-keypad.c:		i2c_smbus_write_byte_data(chip->client, reg, val);
+drivers/input/keyboard/tca6416-keypad.c:		dev_err(&chip->client->dev,
+drivers/input/keyboard/tca6416-keypad.c:	retval = chip->io_size > 8 ?
+drivers/input/keyboard/tca6416-keypad.c:		 i2c_smbus_read_word_data(chip->client, reg << 1) :
+drivers/input/keyboard/tca6416-keypad.c:		 i2c_smbus_read_byte_data(chip->client, reg);
+drivers/input/keyboard/tca6416-keypad.c:		dev_err(&chip->client->dev, "%s failed, reg: %d, error: %d\n",
+drivers/input/keyboard/tca6416-keypad.c:	struct input_dev *input = chip->input;
+drivers/input/keyboard/tca6416-keypad.c:	reg_val &= chip->pinmask;
+drivers/input/keyboard/tca6416-keypad.c:	val = reg_val ^ chip->reg_input;
+drivers/input/keyboard/tca6416-keypad.c:	chip->reg_input = reg_val;
+drivers/input/keyboard/tca6416-keypad.c:			struct tca6416_button *button = &chip->buttons[pin_index];
+drivers/input/keyboard/tca6416-keypad.c:		if (chip->pinmask & (1 << i))
+drivers/input/keyboard/tca6416-keypad.c:	schedule_delayed_work(&chip->dwork, msecs_to_jiffies(100));
+drivers/input/keyboard/tca6416-keypad.c:	if (chip->use_polling)
+drivers/input/keyboard/tca6416-keypad.c:		schedule_delayed_work(&chip->dwork, msecs_to_jiffies(100));
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	if (chip->use_polling)
+drivers/input/keyboard/tca6416-keypad.c:		cancel_delayed_work_sync(&chip->dwork);
+drivers/input/keyboard/tca6416-keypad.c:		disable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_OUTPUT, &chip->reg_output);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_DIRECTION, &chip->reg_direction);
+drivers/input/keyboard/tca6416-keypad.c:				  chip->reg_direction | chip->pinmask);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_DIRECTION, &chip->reg_direction);
+drivers/input/keyboard/tca6416-keypad.c:	error = tca6416_read_reg(chip, TCA6416_INPUT, &chip->reg_input);
+drivers/input/keyboard/tca6416-keypad.c:	chip->reg_input &= chip->pinmask;
+drivers/input/keyboard/tca6416-keypad.c:	chip->client = client;
+drivers/input/keyboard/tca6416-keypad.c:	chip->input = input;
+drivers/input/keyboard/tca6416-keypad.c:	chip->io_size = id->driver_data;
+drivers/input/keyboard/tca6416-keypad.c:	chip->pinmask = pdata->pinmask;
+drivers/input/keyboard/tca6416-keypad.c:	chip->use_polling = pdata->use_polling;
+drivers/input/keyboard/tca6416-keypad.c:	INIT_DELAYED_WORK(&chip->dwork, tca6416_keys_work_func);
+drivers/input/keyboard/tca6416-keypad.c:		chip->buttons[i] = pdata->buttons[i];
+drivers/input/keyboard/tca6416-keypad.c:	if (!chip->use_polling) {
+drivers/input/keyboard/tca6416-keypad.c:			chip->irqnum = gpio_to_irq(client->irq);
+drivers/input/keyboard/tca6416-keypad.c:			chip->irqnum = client->irq;
+drivers/input/keyboard/tca6416-keypad.c:		error = request_threaded_irq(chip->irqnum, NULL,
+drivers/input/keyboard/tca6416-keypad.c:				chip->irqnum, error);
+drivers/input/keyboard/tca6416-keypad.c:		disable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	if (!chip->use_polling) {
+drivers/input/keyboard/tca6416-keypad.c:		free_irq(chip->irqnum, chip);
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	if (!chip->use_polling) {
+drivers/input/keyboard/tca6416-keypad.c:		free_irq(chip->irqnum, chip);
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:	input_unregister_device(chip->input);
+drivers/input/keyboard/tca6416-keypad.c:		enable_irq_wake(chip->irqnum);
+drivers/input/keyboard/tca6416-keypad.c:		disable_irq_wake(chip->irqnum);
+drivers/input/misc/88pm860x_onkey.c:	info->i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/input/misc/88pm860x_onkey.c:		dev_err(chip->dev, "Failed to allocate input dev\n");
+drivers/input/misc/88pm860x_onkey.c:		dev_err(chip->dev, "Can't register input device: %d\n", ret);
+drivers/input/misc/88pm860x_onkey.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/input/misc/88pm860x_onkey.c:		chip->wakeup_flag |= 1 << PM8607_IRQ_ONKEY;
+drivers/input/misc/88pm860x_onkey.c:		chip->wakeup_flag &= ~(1 << PM8607_IRQ_ONKEY);
+drivers/input/misc/ad714x-i2c.c:	struct i2c_client *client = to_i2c_client(chip->dev);
+drivers/input/misc/ad714x-i2c.c:	chip->xfer_buf[0] = cpu_to_be16(reg);
+drivers/input/misc/ad714x-i2c.c:	chip->xfer_buf[1] = cpu_to_be16(data);
+drivers/input/misc/ad714x-i2c.c:	error = i2c_master_send(client, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-i2c.c:				2 * sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-i2c.c:	struct i2c_client *client = to_i2c_client(chip->dev);
+drivers/input/misc/ad714x-i2c.c:	chip->xfer_buf[0] = cpu_to_be16(reg);
+drivers/input/misc/ad714x-i2c.c:	error = i2c_master_send(client, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-i2c.c:				sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-i2c.c:		error = i2c_master_recv(client, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-i2c.c:					len * sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-i2c.c:		data[i] = be16_to_cpu(chip->xfer_buf[i]);
+drivers/input/misc/ad714x-spi.c:	struct spi_device *spi = to_spi_device(chip->dev);
+drivers/input/misc/ad714x-spi.c:	chip->xfer_buf[0] = cpu_to_be16(AD714x_SPI_CMD_PREFIX |
+drivers/input/misc/ad714x-spi.c:	xfer[0].tx_buf = &chip->xfer_buf[0];
+drivers/input/misc/ad714x-spi.c:	xfer[0].len = sizeof(chip->xfer_buf[0]);
+drivers/input/misc/ad714x-spi.c:	xfer[1].rx_buf = &chip->xfer_buf[1];
+drivers/input/misc/ad714x-spi.c:	xfer[1].len = sizeof(chip->xfer_buf[1]) * len;
+drivers/input/misc/ad714x-spi.c:		dev_err(chip->dev, "SPI read error: %d\n", error);
+drivers/input/misc/ad714x-spi.c:		data[i] = be16_to_cpu(chip->xfer_buf[i + 1]);
+drivers/input/misc/ad714x-spi.c:	struct spi_device *spi = to_spi_device(chip->dev);
+drivers/input/misc/ad714x-spi.c:	chip->xfer_buf[0] = cpu_to_be16(AD714x_SPI_CMD_PREFIX | reg);
+drivers/input/misc/ad714x-spi.c:	chip->xfer_buf[1] = cpu_to_be16(data);
+drivers/input/misc/ad714x-spi.c:	error = spi_write(spi, (u8 *)chip->xfer_buf,
+drivers/input/misc/ad714x-spi.c:			  2 * sizeof(*chip->xfer_buf));
+drivers/input/misc/ad714x-spi.c:		dev_err(chip->dev, "SPI write error: %d\n", error);
+drivers/input/misc/max8925_onkey.c:	info->i2c = chip->i2c;
+drivers/input/misc/max8925_onkey.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/input/misc/max8925_onkey.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/input/misc/max8925_onkey.c:		dev_err(chip->dev, "Can't register input device: %d\n", error);
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag |= 1 << info->irq[0];
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag |= 1 << info->irq[1];
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag &= ~(1 << info->irq[0]);
+drivers/input/misc/max8925_onkey.c:		chip->wakeup_flag &= ~(1 << info->irq[1]);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_EXTERNAL_MODE) {
+drivers/input/misc/max8997_haptic.c:		unsigned int duty = chip->pwm_period * chip->level / 100;
+drivers/input/misc/max8997_haptic.c:		ret = pwm_config(chip->pwm, duty, chip->pwm_period);
+drivers/input/misc/max8997_haptic.c:			if (chip->level <= i * 100 / 64) {
+drivers/input/misc/max8997_haptic.c:		switch (chip->internal_mode_pattern) {
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:	value = chip->type << MAX8997_MOTOR_TYPE_SHIFT |
+drivers/input/misc/max8997_haptic.c:		chip->enabled << MAX8997_ENABLE_SHIFT |
+drivers/input/misc/max8997_haptic.c:		chip->mode << MAX8997_MODE_SHIFT | chip->pwm_divisor;
+drivers/input/misc/max8997_haptic.c:	max8997_write_reg(chip->client, MAX8997_HAPTIC_REG_CONF2, value);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_INTERNAL_MODE && chip->enabled) {
+drivers/input/misc/max8997_haptic.c:		value = chip->internal_mode_pattern << MAX8997_CYCLE_SHIFT |
+drivers/input/misc/max8997_haptic.c:			chip->internal_mode_pattern << MAX8997_SIG_PERIOD_SHIFT |
+drivers/input/misc/max8997_haptic.c:			chip->internal_mode_pattern << MAX8997_SIG_DUTY_SHIFT |
+drivers/input/misc/max8997_haptic.c:			chip->internal_mode_pattern << MAX8997_PWM_DUTY_SHIFT;
+drivers/input/misc/max8997_haptic.c:		max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:		switch (chip->internal_mode_pattern) {
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle << 4;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle << 4;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_cycle;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:			value = chip->pattern_signal_period;
+drivers/input/misc/max8997_haptic.c:			max8997_write_reg(chip->client,
+drivers/input/misc/max8997_haptic.c:	mutex_lock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:		dev_err(chip->dev, "set_pwm_cycle failed, error: %d\n", error);
+drivers/input/misc/max8997_haptic.c:	if (!chip->enabled) {
+drivers/input/misc/max8997_haptic.c:		error = regulator_enable(chip->regulator);
+drivers/input/misc/max8997_haptic.c:			dev_err(chip->dev, "Failed to enable regulator\n");
+drivers/input/misc/max8997_haptic.c:		if (chip->mode == MAX8997_EXTERNAL_MODE) {
+drivers/input/misc/max8997_haptic.c:			error = pwm_enable(chip->pwm);
+drivers/input/misc/max8997_haptic.c:				dev_err(chip->dev, "Failed to enable PWM\n");
+drivers/input/misc/max8997_haptic.c:				regulator_disable(chip->regulator);
+drivers/input/misc/max8997_haptic.c:		chip->enabled = true;
+drivers/input/misc/max8997_haptic.c:	mutex_unlock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	mutex_lock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	if (chip->enabled) {
+drivers/input/misc/max8997_haptic.c:		chip->enabled = false;
+drivers/input/misc/max8997_haptic.c:		if (chip->mode == MAX8997_EXTERNAL_MODE)
+drivers/input/misc/max8997_haptic.c:			pwm_disable(chip->pwm);
+drivers/input/misc/max8997_haptic.c:		regulator_disable(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	mutex_unlock(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	if (chip->level)
+drivers/input/misc/max8997_haptic.c:	chip->level = effect->u.rumble.strong_magnitude;
+drivers/input/misc/max8997_haptic.c:	if (!chip->level)
+drivers/input/misc/max8997_haptic.c:		chip->level = effect->u.rumble.weak_magnitude;
+drivers/input/misc/max8997_haptic.c:	schedule_work(&chip->work);
+drivers/input/misc/max8997_haptic.c:	cancel_work_sync(&chip->work);
+drivers/input/misc/max8997_haptic.c:	INIT_WORK(&chip->work, max8997_haptic_play_effect_work);
+drivers/input/misc/max8997_haptic.c:	mutex_init(&chip->mutex);
+drivers/input/misc/max8997_haptic.c:	chip->client = iodev->haptic;
+drivers/input/misc/max8997_haptic.c:	chip->dev = &pdev->dev;
+drivers/input/misc/max8997_haptic.c:	chip->input_dev = input_dev;
+drivers/input/misc/max8997_haptic.c:	chip->pwm_period = haptic_pdata->pwm_period;
+drivers/input/misc/max8997_haptic.c:	chip->type = haptic_pdata->type;
+drivers/input/misc/max8997_haptic.c:	chip->mode = haptic_pdata->mode;
+drivers/input/misc/max8997_haptic.c:	chip->pwm_divisor = haptic_pdata->pwm_divisor;
+drivers/input/misc/max8997_haptic.c:	switch (chip->mode) {
+drivers/input/misc/max8997_haptic.c:		chip->internal_mode_pattern =
+drivers/input/misc/max8997_haptic.c:		chip->pattern_cycle = haptic_pdata->pattern_cycle;
+drivers/input/misc/max8997_haptic.c:		chip->pattern_signal_period =
+drivers/input/misc/max8997_haptic.c:		chip->pwm = pwm_request(haptic_pdata->pwm_channel_id,
+drivers/input/misc/max8997_haptic.c:		if (IS_ERR(chip->pwm)) {
+drivers/input/misc/max8997_haptic.c:			error = PTR_ERR(chip->pwm);
+drivers/input/misc/max8997_haptic.c:		pwm_apply_args(chip->pwm);
+drivers/input/misc/max8997_haptic.c:			"Invalid chip mode specified (%d)\n", chip->mode);
+drivers/input/misc/max8997_haptic.c:	chip->regulator = regulator_get(&pdev->dev, "inmotor");
+drivers/input/misc/max8997_haptic.c:	if (IS_ERR(chip->regulator)) {
+drivers/input/misc/max8997_haptic.c:		error = PTR_ERR(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	regulator_put(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_EXTERNAL_MODE)
+drivers/input/misc/max8997_haptic.c:		pwm_free(chip->pwm);
+drivers/input/misc/max8997_haptic.c:	input_unregister_device(chip->input_dev);
+drivers/input/misc/max8997_haptic.c:	regulator_put(chip->regulator);
+drivers/input/misc/max8997_haptic.c:	if (chip->mode == MAX8997_EXTERNAL_MODE)
+drivers/input/misc/max8997_haptic.c:		pwm_free(chip->pwm);
+drivers/input/touchscreen/88pm860x-ts.c:			dev_dbg(chip->dev, "z1:%d, z2:%d, rt:%d\n",
+drivers/input/touchscreen/88pm860x-ts.c:		dev_dbg(chip->dev, "pen down at [%d, %d].\n", x, y);
+drivers/input/touchscreen/88pm860x-ts.c:		dev_dbg(chip->dev, "pen release\n");
+drivers/input/touchscreen/88pm860x-ts.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
+drivers/input/touchscreen/88pm860x-ts.c:				 : chip->companion;
+drivers/input/touchscreen/88pm860x-ts.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
+drivers/input/touchscreen/88pm860x-ts.c:				 : chip->companion;
+drivers/input/touchscreen/88pm860x-ts.c:		dev_err(chip->dev, "Failed to register touch!\n");
+drivers/input/touchscreen/goodix.c:	return ts->chip->check_config(ts, cfg);
+drivers/input/touchscreen/goodix.c:	error = goodix_i2c_write(ts->client, ts->chip->config_addr, cfg->data,
+drivers/input/touchscreen/goodix.c:	error = goodix_i2c_read(ts->client, ts->chip->config_addr,
+drivers/input/touchscreen/goodix.c:				config, ts->chip->config_len);
+drivers/input/touchscreen/ili210x.c:	for (i = 0; i < priv->chip->max_touches; i++) {
+drivers/input/touchscreen/ili210x.c:		touch = priv->chip->parse_touch_data(touchdata, i, &x, &y);
+drivers/input/touchscreen/ili210x.c:		error = chip->get_touch_data(client, touchdata);
+drivers/input/touchscreen/ili210x.c:		keep_polling = chip->continue_polling(touchdata, touch);
+drivers/input/touchscreen/ili210x.c:	return priv->chip->has_calibrate_reg;
+drivers/input/touchscreen/ili210x.c:	max_xy = (chip->resolution ?: SZ_64K) - 1;
+drivers/input/touchscreen/ili210x.c:	error = input_mt_init_slots(input, priv->chip->max_touches,
+drivers/input/touchscreen/pixcir_i2c_ts.c:	i = chip->has_hw_ids ? 1 : 0;
+drivers/input/touchscreen/pixcir_i2c_ts.c:	readsize = 2 + tsdata->chip->max_fingers * (4 + i);
+drivers/input/touchscreen/pixcir_i2c_ts.c:	if (touch > tsdata->chip->max_fingers)
+drivers/input/touchscreen/pixcir_i2c_ts.c:		touch = tsdata->chip->max_fingers;
+drivers/input/touchscreen/pixcir_i2c_ts.c:		if (chip->has_hw_ids) {
+drivers/input/touchscreen/pixcir_i2c_ts.c:	if (!ts->chip->has_hw_ids)
+drivers/input/touchscreen/pixcir_i2c_ts.c:		if (chip->has_hw_ids) {
+drivers/input/touchscreen/pixcir_i2c_ts.c:	error = input_mt_init_slots(input, tsdata->chip->max_fingers,
+drivers/iommu/Makefile:obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o
+drivers/iommu/amd_iommu.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/iommu/hyperv-iommu.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/iommu/intel_irq_remapping.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+drivers/irqchip/exynos-combiner.c:	if (chip && chip->irq_set_affinity)
+drivers/irqchip/exynos-combiner.c:		return chip->irq_set_affinity(data, mask_val, force);
+drivers/irqchip/irq-alpine-msi.c:	d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-gic-v2m.c:	d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-gic-v3-mbi.c:	return d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-gic.c:IRQCHIP_DECLARE(arm1176jzf_dc_gic, "arm,arm1176jzf-devchip-gic", gic_of_init);
+drivers/irqchip/irq-mbigen.c:				      &mbigen_irq_chip, mgn_chip->base);
+drivers/irqchip/irq-mbigen.c:	mgn_chip->pdev = pdev;
+drivers/irqchip/irq-mbigen.c:	mgn_chip->base = devm_ioremap(&pdev->dev, res->start,
+drivers/irqchip/irq-mbigen.c:	if (!mgn_chip->base) {
+drivers/irqchip/irq-mtk-cirq.c:	ret = data->chip->irq_set_type(data, type);
+drivers/irqchip/irq-mtk-sysirq.c:	ret = data->chip->irq_set_type(data, type);
+drivers/irqchip/irq-mvebu-odmi.c:	d->chip->irq_set_type(d, IRQ_TYPE_EDGE_RISING);
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->name = dev_name(&pdev->dev);
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->irq_mask = mvebu_pic_mask_irq;
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->irq_unmask = mvebu_pic_unmask_irq;
+drivers/irqchip/irq-mvebu-pic.c:	irq_chip->irq_eoi = mvebu_pic_eoi_irq;
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_mask)
+drivers/irqchip/irq-partition-percpu.c:		chip->irq_mask(data);
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_unmask)
+drivers/irqchip/irq-partition-percpu.c:		chip->irq_unmask(data);
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_set_irqchip_state)
+drivers/irqchip/irq-partition-percpu.c:		return chip->irq_set_irqchip_state(data, which, val);
+drivers/irqchip/irq-partition-percpu.c:	    chip->irq_get_irqchip_state)
+drivers/irqchip/irq-partition-percpu.c:		return chip->irq_get_irqchip_state(data, which, val);
+drivers/irqchip/irq-partition-percpu.c:	if (chip->irq_set_type)
+drivers/irqchip/irq-partition-percpu.c:		return chip->irq_set_type(data, type);
+drivers/irqchip/irq-partition-percpu.c:	seq_printf(p, " %5s-%lu", chip->name, data->hwirq);
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->name = "intc-irqpin";
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->parent_device = dev;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_mask = disable_fn;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_unmask = enable_fn;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_set_type = intc_irqpin_irq_set_type;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->irq_set_wake = intc_irqpin_irq_set_wake;
+drivers/irqchip/irq-renesas-intc-irqpin.c:	irq_chip->flags	= IRQCHIP_MASK_ON_SUSPEND;
+drivers/irqchip/irq-tango.c:	return readl_relaxed(chip->base + reg);
+drivers/irqchip/irq-tango.c:	writel_relaxed(val, chip->base + reg);
+drivers/irqchip/irq-tango.c:	status_lo = intc_readl(chip, chip->ctl + IRQ_STATUS);
+drivers/irqchip/irq-tango.c:	status_hi = intc_readl(chip, chip->ctl + IRQ_CTL_HI + IRQ_STATUS);
+drivers/irqchip/irq-tango.c:	unsigned long ctl_base = chip->ctl + ctl_offs;
+drivers/irqchip/irq-tango.c:	gc->reg_base = chip->base;
+drivers/irqchip/irq-tango.c:	chip->ctl = res.start - baseres->start;
+drivers/irqchip/irq-tango.c:	chip->base = base;
+drivers/irqchip/irq-ts4800.c:	irq_chip->name = dev_name(&pdev->dev);
+drivers/irqchip/irq-ts4800.c:	irq_chip->irq_mask = ts4800_irq_mask;
+drivers/irqchip/irq-ts4800.c:	irq_chip->irq_unmask = ts4800_irq_unmask;
+drivers/leds/leds-88pm860x.c:	dev_dbg(chip->dev, "Update LED. (reg:%d, brightness:%d)\n",
+drivers/leds/leds-88pm860x.c:	data->i2c = (chip->id == CHIP_PM8606) ? chip->client : chip->companion;
+drivers/leds/leds-88pm860x.c:	ret = devm_led_classdev_register(chip->dev, &data->cdev);
+drivers/leds/leds-an30259a.c:	mutex_lock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:	ret = regmap_read(led->chip->regmap, AN30259A_REG_LED_ON, &led_on);
+drivers/leds/leds-an30259a.c:		ret = regmap_write(led->chip->regmap,
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LED_ON, led_on);
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCC(led->num),
+drivers/leds/leds-an30259a.c:	mutex_unlock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:	mutex_lock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCNT2(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCNT3(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LEDCNT4(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_SLOPE(num),
+drivers/leds/leds-an30259a.c:	ret = regmap_read(led->chip->regmap, AN30259A_REG_LED_ON, &led_on);
+drivers/leds/leds-an30259a.c:	ret = regmap_write(led->chip->regmap, AN30259A_REG_LED_ON, led_on);
+drivers/leds/leds-an30259a.c:	mutex_unlock(&led->chip->mutex);
+drivers/leds/leds-an30259a.c:		led = &chip->leds[i];
+drivers/leds/leds-an30259a.c:	chip->num_leds = i;
+drivers/leds/leds-an30259a.c:		err = regmap_read(chip->regmap, AN30259A_REG_LED_ON, &led_on);
+drivers/leds/leds-an30259a.c:		regmap_read(chip->regmap, AN30259A_REG_LEDCC(led->num),
+drivers/leds/leds-an30259a.c:	mutex_init(&chip->mutex);
+drivers/leds/leds-an30259a.c:	chip->client = client;
+drivers/leds/leds-an30259a.c:	chip->regmap = devm_regmap_init_i2c(client, &an30259a_regmap_config);
+drivers/leds/leds-an30259a.c:	if (IS_ERR(chip->regmap)) {
+drivers/leds/leds-an30259a.c:		err = PTR_ERR(chip->regmap);
+drivers/leds/leds-an30259a.c:	for (i = 0; i < chip->num_leds; i++) {
+drivers/leds/leds-an30259a.c:		an30259a_init_default_state(&chip->leds[i]);
+drivers/leds/leds-an30259a.c:		chip->leds[i].cdev.brightness_set_blocking =
+drivers/leds/leds-an30259a.c:		chip->leds[i].cdev.blink_set = an30259a_blink_set;
+drivers/leds/leds-an30259a.c:		init_data.fwnode = chip->leds[i].fwnode;
+drivers/leds/leds-an30259a.c:						 &chip->leds[i].cdev,
+drivers/leds/leds-an30259a.c:	mutex_destroy(&chip->mutex);
+drivers/leds/leds-an30259a.c:	mutex_destroy(&chip->mutex);
+drivers/leds/leds-is31fl32xx.c: * struct is31fl32xx_chipdef - chip-specific attributes
+drivers/leds/leds-lm355x.c:	struct lm355x_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lm355x.c:	switch (chip->type) {
+drivers/leds/leds-lm355x.c:		ret = regmap_update_bits(chip->regmap, 0xE0, 0x28, reg_val);
+drivers/leds/leds-lm355x.c:		ret = regmap_update_bits(chip->regmap, 0xA0, 0x04, reg_val);
+drivers/leds/leds-lm355x.c:		ret = regmap_update_bits(chip->regmap, 0x0A, 0xC4, reg_val);
+drivers/leds/leds-lm355x.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm355x.c:	struct lm355x_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lm355x.c:	struct lm355x_reg_data *preg = chip->regs;
+drivers/leds/leds-lm355x.c:	ret = regmap_read(chip->regmap, preg[REG_FLAG].regno, &chip->last_flag);
+drivers/leds/leds-lm355x.c:	if (chip->last_flag & preg[REG_FLAG].mask)
+drivers/leds/leds-lm355x.c:		dev_info(chip->dev, "%s Last FLAG is 0x%x\n",
+drivers/leds/leds-lm355x.c:			 lm355x_name[chip->type],
+drivers/leds/leds-lm355x.c:			 chip->last_flag & preg[REG_FLAG].mask);
+drivers/leds/leds-lm355x.c:		    regmap_update_bits(chip->regmap, preg[REG_TORCH_CTRL].regno,
+drivers/leds/leds-lm355x.c:			    regmap_update_bits(chip->regmap,
+drivers/leds/leds-lm355x.c:			dev_info(chip->dev,
+drivers/leds/leds-lm355x.c:		    regmap_update_bits(chip->regmap, preg[REG_FLASH_CTRL].regno,
+drivers/leds/leds-lm355x.c:			if (chip->type == CHIP_LM3554)
+drivers/leds/leds-lm355x.c:			    regmap_update_bits(chip->regmap,
+drivers/leds/leds-lm355x.c:			dev_info(chip->dev,
+drivers/leds/leds-lm355x.c:		    regmap_update_bits(chip->regmap, preg[REG_INDI_CTRL].regno,
+drivers/leds/leds-lm355x.c:			    regmap_update_bits(chip->regmap,
+drivers/leds/leds-lm355x.c:	ret = regmap_update_bits(chip->regmap, preg[REG_OPMODE].regno,
+drivers/leds/leds-lm355x.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm355x.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm355x.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm355x.c:	ret = regmap_write(chip->regmap, 0x04,
+drivers/leds/leds-lm355x.c:	ret = regmap_write(chip->regmap, 0x05,
+drivers/leds/leds-lm355x.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm355x.c:	chip->dev = &client->dev;
+drivers/leds/leds-lm355x.c:	chip->type = id->driver_data;
+drivers/leds/leds-lm355x.c:		chip->regs = lm3554_regs;
+drivers/leds/leds-lm355x.c:		chip->regs = lm3556_regs;
+drivers/leds/leds-lm355x.c:	chip->pdata = pdata;
+drivers/leds/leds-lm355x.c:	chip->regmap = devm_regmap_init_i2c(client, &lm355x_regmap);
+drivers/leds/leds-lm355x.c:	if (IS_ERR(chip->regmap)) {
+drivers/leds/leds-lm355x.c:		err = PTR_ERR(chip->regmap);
+drivers/leds/leds-lm355x.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.name = "flash";
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.max_brightness = 16;
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.brightness_set_blocking = lm355x_strobe_brightness_set;
+drivers/leds/leds-lm355x.c:	chip->cdev_flash.default_trigger = "flash";
+drivers/leds/leds-lm355x.c:				    &client->dev, &chip->cdev_flash);
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.name = "torch";
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.max_brightness = 8;
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.brightness_set_blocking = lm355x_torch_brightness_set;
+drivers/leds/leds-lm355x.c:	chip->cdev_torch.default_trigger = "torch";
+drivers/leds/leds-lm355x.c:				    &client->dev, &chip->cdev_torch);
+drivers/leds/leds-lm355x.c:	chip->cdev_indicator.name = "indicator";
+drivers/leds/leds-lm355x.c:		chip->cdev_indicator.max_brightness = 4;
+drivers/leds/leds-lm355x.c:		chip->cdev_indicator.max_brightness = 8;
+drivers/leds/leds-lm355x.c:	chip->cdev_indicator.brightness_set_blocking =
+drivers/leds/leds-lm355x.c:		chip->cdev_indicator.groups = lm355x_indicator_groups;
+drivers/leds/leds-lm355x.c:				    &client->dev, &chip->cdev_indicator);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm355x.c:	struct lm355x_reg_data *preg = chip->regs;
+drivers/leds/leds-lm355x.c:	regmap_write(chip->regmap, preg[REG_OPMODE].regno, 0);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_indicator);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm355x.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm355x.c:	dev_info(&client->dev, "%s is removed\n", lm355x_name[chip->type]);
+drivers/leds/leds-lm3642.c:	struct lm3642_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE, EX_PIN_ENABLE_MASK,
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "Failed to update REG_ENABLE Register\n");
+drivers/leds/leds-lm3642.c:	ret = regmap_read(chip->regmap, REG_FLAG, &chip->last_flag);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "Failed to read REG_FLAG Register\n");
+drivers/leds/leds-lm3642.c:	if (chip->last_flag)
+drivers/leds/leds-lm3642.c:		dev_info(chip->dev, "Last FLAG is 0x%x\n", chip->last_flag);
+drivers/leds/leds-lm3642.c:		ret = regmap_update_bits(chip->regmap, REG_I_CTRL,
+drivers/leds/leds-lm3642.c:		if (chip->torch_pin)
+drivers/leds/leds-lm3642.c:		ret = regmap_update_bits(chip->regmap, REG_I_CTRL,
+drivers/leds/leds-lm3642.c:		if (chip->strobe_pin)
+drivers/leds/leds-lm3642.c:		ret = regmap_update_bits(chip->regmap, REG_I_CTRL,
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "Failed to write REG_I_CTRL Register\n");
+drivers/leds/leds-lm3642.c:	if (chip->tx_pin)
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE,
+drivers/leds/leds-lm3642.c:	chip->torch_pin = state;
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE,
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s: fail to change str to int\n", __func__);
+drivers/leds/leds-lm3642.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->br_torch = brightness;
+drivers/leds/leds-lm3642.c:	ret = lm3642_control(chip, chip->br_torch, MODES_TORCH);
+drivers/leds/leds-lm3642.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->strobe_pin = state;
+drivers/leds/leds-lm3642.c:	ret = regmap_update_bits(chip->regmap, REG_ENABLE,
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/leds/leds-lm3642.c:	dev_err(chip->dev, "%s: fail to change str to int\n", __func__);
+drivers/leds/leds-lm3642.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->br_flash = brightness;
+drivers/leds/leds-lm3642.c:	ret = lm3642_control(chip, chip->br_flash, MODES_FLASH);
+drivers/leds/leds-lm3642.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm3642.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->br_indicator = brightness;
+drivers/leds/leds-lm3642.c:	ret = lm3642_control(chip, chip->br_indicator, MODES_INDIC);
+drivers/leds/leds-lm3642.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->dev = &client->dev;
+drivers/leds/leds-lm3642.c:	chip->pdata = pdata;
+drivers/leds/leds-lm3642.c:	chip->tx_pin = pdata->tx_pin;
+drivers/leds/leds-lm3642.c:	chip->torch_pin = pdata->torch_pin;
+drivers/leds/leds-lm3642.c:	chip->strobe_pin = pdata->strobe_pin;
+drivers/leds/leds-lm3642.c:	chip->regmap = devm_regmap_init_i2c(client, &lm3642_regmap);
+drivers/leds/leds-lm3642.c:	if (IS_ERR(chip->regmap)) {
+drivers/leds/leds-lm3642.c:		err = PTR_ERR(chip->regmap);
+drivers/leds/leds-lm3642.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.name = "flash";
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.max_brightness = 16;
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.brightness_set_blocking = lm3642_strobe_brightness_set;
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.default_trigger = "flash";
+drivers/leds/leds-lm3642.c:	chip->cdev_flash.groups = lm3642_flash_groups,
+drivers/leds/leds-lm3642.c:				    &client->dev, &chip->cdev_flash);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "failed to register flash\n");
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.name = "torch";
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.max_brightness = 8;
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.brightness_set_blocking = lm3642_torch_brightness_set;
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.default_trigger = "torch";
+drivers/leds/leds-lm3642.c:	chip->cdev_torch.groups = lm3642_torch_groups,
+drivers/leds/leds-lm3642.c:				    &client->dev, &chip->cdev_torch);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "failed to register torch\n");
+drivers/leds/leds-lm3642.c:	chip->cdev_indicator.name = "indicator";
+drivers/leds/leds-lm3642.c:	chip->cdev_indicator.max_brightness = 8;
+drivers/leds/leds-lm3642.c:	chip->cdev_indicator.brightness_set_blocking =
+drivers/leds/leds-lm3642.c:				    &client->dev, &chip->cdev_indicator);
+drivers/leds/leds-lm3642.c:		dev_err(chip->dev, "failed to register indicator\n");
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_indicator);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_torch);
+drivers/leds/leds-lm3642.c:	led_classdev_unregister(&chip->cdev_flash);
+drivers/leds/leds-lm3642.c:	regmap_write(chip->regmap, REG_ENABLE, 0);
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5521.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp5521.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp5521.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp5521.c:		dev_err(&chip->cl->dev, "error in resetting chip\n");
+drivers/leds/leds-lp5521.c:		dev_err(&chip->cl->dev,
+drivers/leds/leds-lp5521.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	enum lp55xx_engine_mode mode = chip->engines[nr - 1].mode;
+drivers/leds/leds-lp5521.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5521.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5521.c:	chip->cl = client;
+drivers/leds/leds-lp5521.c:	chip->pdata = pdata;
+drivers/leds/leds-lp5521.c:	chip->cfg = &lp5521_cfg;
+drivers/leds/leds-lp5521.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5523.c:		chip->engine_idx = i;
+drivers/leds/leds-lp5523.c:		dev_err(&chip->cl->dev,
+drivers/leds/leds-lp5523.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp5523.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp5523.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp5523.c:	enum lp55xx_engine_mode mode = chip->engines[nr - 1].mode;
+drivers/leds/leds-lp5523.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	lp5523_mux_to_array(chip->engines[nr - 1].led_mux, mux);
+drivers/leds/leds-lp5523.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5523.c:	struct lp55xx_engine *engine = &chip->engines[nr - 1];
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->engine_idx = nr;
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5523.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5523.c:	chip->cl = client;
+drivers/leds/leds-lp5523.c:	chip->pdata = pdata;
+drivers/leds/leds-lp5523.c:	chip->cfg = &lp5523_cfg;
+drivers/leds/leds-lp5523.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lp5562.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5562.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5562.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp5562.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp5562.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp5562.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5562.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5562.c:	ptn = chip->pdata->patterns + (mode - 1);
+drivers/leds/leds-lp5562.c:		dev_err(&chip->cl->dev, "invalid pattern data\n");
+drivers/leds/leds-lp5562.c:		chip->engine_idx = i;
+drivers/leds/leds-lp5562.c:	struct lp55xx_predef_pattern *ptn = chip->pdata->patterns;
+drivers/leds/leds-lp5562.c:	int num_patterns = chip->pdata->num_patterns;
+drivers/leds/leds-lp5562.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5562.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5562.c:		enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp5562.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp5562.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp5562.c:	chip->cl = client;
+drivers/leds/leds-lp5562.c:	chip->pdata = pdata;
+drivers/leds/leds-lp5562.c:	chip->cfg = &lp5562_cfg;
+drivers/leds/leds-lp5562.c:	mutex_init(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	if (!chip->cfg->set_led_current)
+drivers/leds/leds-lp55xx-common.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	chip->cfg->set_led_current(led, (u8)curr);
+drivers/leds/leds-lp55xx-common.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = led->chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:			pdata->label ? : chip->cl->name, chan);
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp55xx-common.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	chip->engines[idx - 1].mode = LP55XX_ENGINE_LOAD;
+drivers/leds/leds-lp55xx-common.c:	chip->fw = fw;
+drivers/leds/leds-lp55xx-common.c:	if (chip->cfg->firmware_cb)
+drivers/leds/leds-lp55xx-common.c:		chip->cfg->firmware_cb(chip);
+drivers/leds/leds-lp55xx-common.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	release_firmware(chip->fw);
+drivers/leds/leds-lp55xx-common.c:	chip->fw = NULL;
+drivers/leds/leds-lp55xx-common.c:	const char *name = chip->cl->name;
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	return sprintf(buf, "%d\n", chip->engine_idx);
+drivers/leds/leds-lp55xx-common.c:		mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:		chip->engine_idx = val;
+drivers/leds/leds-lp55xx-common.c:		mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	if (chip->cfg->run_engine)
+drivers/leds/leds-lp55xx-common.c:		chip->cfg->run_engine(chip, start);
+drivers/leds/leds-lp55xx-common.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp55xx-common.c:	return i2c_smbus_write_byte_data(chip->cl, reg, val);
+drivers/leds/leds-lp55xx-common.c:	ret = i2c_smbus_read_byte_data(chip->cl, reg);
+drivers/leds/leds-lp55xx-common.c:	clk = devm_clk_get(&chip->cl->dev, "32k_clk");
+drivers/leds/leds-lp55xx-common.c:	dev_info(&chip->cl->dev, "%dHz external clock used\n",	LP55XX_CLK_32K);
+drivers/leds/leds-lp55xx-common.c:	chip->clk = clk;
+drivers/leds/leds-lp55xx-common.c:	dev_info(&chip->cl->dev, "internal clock used\n");
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	if (chip->clk)
+drivers/leds/leds-lp55xx-common.c:		clk_disable_unprepare(chip->clk);
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_platform_data *pdata = chip->pdata;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:		dev_err(&chip->cl->dev, "empty brightness configuration\n");
+drivers/leds/leds-lp55xx-common.c:		chip->num_leds++;
+drivers/leds/leds-lp55xx-common.c:	for (i = 0; i < chip->num_leds; i++) {
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp55xx-common.c:	struct device *dev = &chip->cl->dev;
+drivers/leds/leds-lp55xx-common.c:	struct lp55xx_device_config *cfg = chip->cfg;
+drivers/leds/leds-lp8501.c:	if (chip->pdata->clock_mode != LP55XX_CLOCK_EXT)
+drivers/leds/leds-lp8501.c:				LP8501_PWR_CONFIG_M, chip->pdata->pwr_sel);
+drivers/leds/leds-lp8501.c:	enum lp55xx_engine_index idx = chip->engine_idx;
+drivers/leds/leds-lp8501.c:	dev_err(&chip->cl->dev, "wrong pattern format\n");
+drivers/leds/leds-lp8501.c:	const struct firmware *fw = chip->fw;
+drivers/leds/leds-lp8501.c:		dev_err(&chip->cl->dev, "firmware data size overflow: %zu\n",
+drivers/leds/leds-lp8501.c:	mutex_lock(&chip->lock);
+drivers/leds/leds-lp8501.c:	mutex_unlock(&chip->lock);
+drivers/leds/leds-lp8501.c:	chip->cl = client;
+drivers/leds/leds-lp8501.c:	chip->pdata = pdata;
+drivers/leds/leds-lp8501.c:	chip->cfg = &lp8501_cfg;
+drivers/leds/leds-lp8501.c:	mutex_init(&chip->lock);
+drivers/leds/leds-pca955x.c:	if (!count || count > chip->bits)
+drivers/leds/leds-pca955x.c:				   chip->bits, sizeof(struct pca955x_led),
+drivers/leds/leds-pca955x.c:		if ((res != 0) || (reg >= chip->bits))
+drivers/leds/leds-pca955x.c:	pdata->num_leds = chip->bits;
+drivers/leds/leds-pca955x.c:	if ((client->addr & ~((1 << chip->slv_addr_shift) - 1)) !=
+drivers/leds/leds-pca955x.c:	    chip->slv_addr) {
+drivers/leds/leds-pca955x.c:			client->name, chip->bits, client->addr);
+drivers/leds/leds-pca955x.c:	if (pdata->num_leds != chip->bits) {
+drivers/leds/leds-pca955x.c:			pdata->num_leds, chip->bits);
+drivers/leds/leds-pca955x.c:			chip->bits, sizeof(*pca955x_led), GFP_KERNEL);
+drivers/leds/leds-pca955x.c:	for (i = 0; i < chip->bits; i++) {
+drivers/leds/leds-pca963x.c:	u8 ledout_addr = pca963x->chip->chipdef->ledout_base
+drivers/leds/leds-pca963x.c:	ledout = i2c_smbus_read_byte_data(pca963x->chip->client, ledout_addr);
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		ret = i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:	u8 ledout_addr = pca963x->chip->chipdef->ledout_base +
+drivers/leds/leds-pca963x.c:	u8 mode2 = i2c_smbus_read_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:	i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:			pca963x->chip->chipdef->grppwm,	pca963x->gdc);
+drivers/leds/leds-pca963x.c:	i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:			pca963x->chip->chipdef->grpfreq, pca963x->gfrq);
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
+drivers/leds/leds-pca963x.c:	mutex_lock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	ledout = i2c_smbus_read_byte_data(pca963x->chip->client, ledout_addr);
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(pca963x->chip->client, ledout_addr,
+drivers/leds/leds-pca963x.c:	mutex_unlock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	unsigned long *leds_on = &pca963x->chip->leds_on;
+drivers/leds/leds-pca963x.c:	unsigned long cached_leds = pca963x->chip->leds_on;
+drivers/leds/leds-pca963x.c:		return i2c_smbus_write_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:	mutex_lock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	mutex_unlock(&pca963x->chip->mutex);
+drivers/leds/leds-pca963x.c:	unsigned int scaling = pca963x->chip->chipdef->scaling;
+drivers/leds/leds-pca963x.c:	if (!count || count > chip->n_leds)
+drivers/leds/leds-pca963x.c:			chip->n_leds, sizeof(struct led_info), GFP_KERNEL);
+drivers/leds/leds-pca963x.c:		if ((res != 0) || (reg >= chip->n_leds))
+drivers/leds/leds-pca963x.c:	pdata->leds.num_leds = chip->n_leds;
+drivers/leds/leds-pca963x.c:				     &chip->scaling))
+drivers/leds/leds-pca963x.c:		chip->scaling = 1000;
+drivers/leds/leds-pca963x.c:				 pdata->leds.num_leds > chip->n_leds)) {
+drivers/leds/leds-pca963x.c:								chip->n_leds);
+drivers/leds/leds-pca963x.c:	pca963x = devm_kcalloc(&client->dev, chip->n_leds, sizeof(*pca963x),
+drivers/leds/leds-pca963x.c:	mutex_init(&pca963x_chip->mutex);
+drivers/leds/leds-pca963x.c:	pca963x_chip->chipdef = chip;
+drivers/leds/leds-pca963x.c:	pca963x_chip->client = client;
+drivers/leds/leds-pca963x.c:	pca963x_chip->leds = pca963x;
+drivers/leds/leds-pca963x.c:	for (i = 0; i < chip->n_leds / 4; i++)
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(client, chip->ledout_base + i, 0x00);
+drivers/leds/leds-pca963x.c:	for (i = 0; i < chip->n_leds; i++) {
+drivers/leds/leds-pca963x.c:		u8 mode2 = i2c_smbus_read_byte_data(pca963x->chip->client,
+drivers/leds/leds-pca963x.c:		i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
+drivers/macintosh/macio_asic.c:	if (dev->bus->chip->type != macio_gatwick)
+drivers/macintosh/macio_asic.c:	dev->bus = &chip->lbus;
+drivers/macintosh/macio_asic.c:	dev->ofdev.dev.archdata = chip->lbus.pdev->dev.archdata;
+drivers/macintosh/macio_asic.c:	dev->ofdev.dev.dma_ops = chip->lbus.pdev->dev.dma_ops;
+drivers/macintosh/macio_asic.c:	if (np == chip->of_node) {
+drivers/macintosh/macio_asic.c:			     chip->lbus.index,
+drivers/macintosh/macio_asic.c:			(unsigned int)pci_resource_start(chip->lbus.pdev, 0),
+drivers/macintosh/macio_asic.c:			     chip->lbus.index,
+drivers/macintosh/macio_asic.c:	if (chip->lbus.pdev) {
+drivers/macintosh/macio_asic.c:		parent = &chip->lbus.pdev->dev;
+drivers/macintosh/macio_asic.c:		root_res = &chip->lbus.pdev->resource[0];
+drivers/macintosh/macio_asic.c:	pnode = of_node_get(chip->of_node);
+drivers/macintosh/macio_asic.c:	if (chip->lbus.pdev == NULL) {
+drivers/macintosh/macio_asic.c:		chip->lbus.pdev = pdev;
+drivers/macintosh/macio_asic.c:		chip->lbus.chip = chip;
+drivers/macintosh/macio_asic.c:		pci_set_drvdata(pdev, &chip->lbus);
+drivers/macintosh/macio_asic.c:		chip->name);
+drivers/macintosh/macio_asic.c:	if (chip->type == macio_gatwick || chip->type == macio_ohareII)
+drivers/mailbox/Makefile:obj-$(CONFIG_ROCKCHIP_MBOX)	+= rockchip-mailbox.o
+drivers/mailbox/rockchip-mailbox.c:		.name = "rockchip-mailbox",
+drivers/media/common/b2c2/flexcop.h: * flexcop.h - private header file for all flexcop-chip-source files
+drivers/media/common/saa7146/saa7146_core.c:	/* get chip-revision; this is needed to enable bug-fixes */
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	clk_prepare_enable(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:	gpiod_set_value_cansleep(chip->reset_gpio, 1);
+drivers/media/dvb-frontends/mn88443x.c:	gpiod_set_value_cansleep(chip->reset_gpio, 0);
+drivers/media/dvb-frontends/mn88443x.c:	if (chip->spec->primary) {
+drivers/media/dvb-frontends/mn88443x.c:	gpiod_set_value_cansleep(chip->reset_gpio, 1);
+drivers/media/dvb-frontends/mn88443x.c:	clk_disable_unprepare(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_s = chip->regmap_s;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_s = chip->regmap_s;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct device *dev = &chip->client_s->dev;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	if (chip->clk_freq >= CLK_LOW && chip->clk_freq < CLK_DIRECT) {
+drivers/media/dvb-frontends/mn88443x.c:		chip->use_clkbuf = true;
+drivers/media/dvb-frontends/mn88443x.c:		chip->use_clkbuf = false;
+drivers/media/dvb-frontends/mn88443x.c:		adckt = chip->clk_freq;
+drivers/media/dvb-frontends/mn88443x.c:	if (!mn88443x_t_is_valid_clk(adckt, chip->if_freq)) {
+drivers/media/dvb-frontends/mn88443x.c:			chip->clk_freq, adckt, chip->if_freq);
+drivers/media/dvb-frontends/mn88443x.c:	if (chip->if_freq == DIRECT_IF_57MHZ ||
+drivers/media/dvb-frontends/mn88443x.c:	    chip->if_freq == DIRECT_IF_44MHZ)
+drivers/media/dvb-frontends/mn88443x.c:		nco = adckt * 2 - chip->if_freq;
+drivers/media/dvb-frontends/mn88443x.c:		nco = -((s64)chip->if_freq);
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_s = chip->regmap_s;
+drivers/media/dvb-frontends/mn88443x.c:	struct regmap *r_t = chip->regmap_t;
+drivers/media/dvb-frontends/mn88443x.c:		chip->spec = of_device_get_match_data(dev);
+drivers/media/dvb-frontends/mn88443x.c:		chip->spec = (struct mn88443x_spec *)id->driver_data;
+drivers/media/dvb-frontends/mn88443x.c:	if (!chip->spec)
+drivers/media/dvb-frontends/mn88443x.c:	chip->mclk = devm_clk_get(dev, "mclk");
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->mclk) && !conf) {
+drivers/media/dvb-frontends/mn88443x.c:			PTR_ERR(chip->mclk));
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:				   &chip->if_freq);
+drivers/media/dvb-frontends/mn88443x.c:	chip->reset_gpio = devm_gpiod_get_optional(dev, "reset",
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->reset_gpio)) {
+drivers/media/dvb-frontends/mn88443x.c:			PTR_ERR(chip->reset_gpio));
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->reset_gpio);
+drivers/media/dvb-frontends/mn88443x.c:		chip->mclk = conf->mclk;
+drivers/media/dvb-frontends/mn88443x.c:		chip->if_freq = conf->if_freq;
+drivers/media/dvb-frontends/mn88443x.c:		chip->reset_gpio = conf->reset_gpio;
+drivers/media/dvb-frontends/mn88443x.c:		*conf->fe = &chip->fe;
+drivers/media/dvb-frontends/mn88443x.c:	chip->client_s = client;
+drivers/media/dvb-frontends/mn88443x.c:	chip->regmap_s = devm_regmap_init_i2c(chip->client_s, &regmap_config);
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->regmap_s))
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->regmap_s);
+drivers/media/dvb-frontends/mn88443x.c:	chip->client_t = i2c_new_dummy_device(client->adapter, client->addr + 4);
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->client_t))
+drivers/media/dvb-frontends/mn88443x.c:		return PTR_ERR(chip->client_t);
+drivers/media/dvb-frontends/mn88443x.c:	chip->regmap_t = devm_regmap_init_i2c(chip->client_t, &regmap_config);
+drivers/media/dvb-frontends/mn88443x.c:	if (IS_ERR(chip->regmap_t)) {
+drivers/media/dvb-frontends/mn88443x.c:		ret = PTR_ERR(chip->regmap_t);
+drivers/media/dvb-frontends/mn88443x.c:	chip->clk_freq = clk_get_rate(chip->mclk);
+drivers/media/dvb-frontends/mn88443x.c:	memcpy(&chip->fe.ops, &mn88443x_ops, sizeof(mn88443x_ops));
+drivers/media/dvb-frontends/mn88443x.c:	chip->fe.demodulator_priv = chip;
+drivers/media/dvb-frontends/mn88443x.c:	i2c_unregister_device(chip->client_t);
+drivers/media/dvb-frontends/mn88443x.c:	i2c_unregister_device(chip->client_t);
+drivers/media/dvb-frontends/stv0900_core.c:			((temp_chip->internal->i2c_adap != i2c_adap) ||
+drivers/media/dvb-frontends/stv0900_core.c:			(temp_chip->internal->i2c_addr != i2c_addr)))
+drivers/media/dvb-frontends/stv0900_core.c:			temp_chip = temp_chip->next_inode;
+drivers/media/i2c/mt9m111.c:	/* receiver samples on falling edge, chip-hw default is rising */
+drivers/media/i2c/tvaudio.c:	/* chip-specific description - should point to
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:		chip->shadow.bytes[1] = val;
+drivers/media/i2c/tvaudio.c:		if (subaddr + 1 >= ARRAY_SIZE(chip->shadow.bytes)) {
+drivers/media/i2c/tvaudio.c:		chip->shadow.bytes[subaddr+1] = val;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:			val = (chip->shadow.bytes[1] & ~mask) | (val & mask);
+drivers/media/i2c/tvaudio.c:			if (subaddr + 1 >= ARRAY_SIZE(chip->shadow.bytes)) {
+drivers/media/i2c/tvaudio.c:			val = (chip->shadow.bytes[subaddr+1] & ~mask) | (val & mask);
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	if (cmd->count + cmd->bytes[0] - 1 >= ARRAY_SIZE(chip->shadow.bytes)) {
+drivers/media/i2c/tvaudio.c:		chip->shadow.bytes[i+cmd->bytes[0]] = cmd->bytes[i];
+drivers/media/i2c/tvaudio.c:	wake_up_process(chip->thread);
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC  *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:		if (chip->radio)
+drivers/media/i2c/tvaudio.c:		if (mode == chip->prevmode)
+drivers/media/i2c/tvaudio.c:		chip->prevmode = mode;
+drivers/media/i2c/tvaudio.c:		switch (chip->audmode) {
+drivers/media/i2c/tvaudio.c:		mod_timer(&chip->wt, jiffies+msecs_to_jiffies(2000));
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	int t = chip->shadow.bytes[TDA9840_SW + 1] & ~0x7e;
+drivers/media/i2c/tvaudio.c:	int c6 = chip->shadow.bytes[TDA985x_C6+1] & 0x3f;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	int sw_data  = chip->shadow.bytes[TDA9873_SW+1] & ~ TDA9873_TR_MASK;
+drivers/media/i2c/tvaudio.c:	/*	int adj_data = chip->shadow.bytes[TDA9873_AD+1] ; */
+drivers/media/i2c/tvaudio.c:		 "tda9873_setaudmode(): chip->shadow.bytes[%d] = %d\n",
+drivers/media/i2c/tvaudio.c:		 TDA9873_SW+1, chip->shadow.bytes[TDA9873_SW+1]);
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	chip->shadow.bytes[MAXREGS-2] = dsr;
+drivers/media/i2c/tvaudio.c:	chip->shadow.bytes[MAXREGS-1] = nsr;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:		if(chip->shadow.bytes[MAXREGS-2] & 0x20) /* DSR.RSSF=1 */
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1;
+drivers/media/i2c/tvaudio.c:	/* v4l2_dbg(1, debug, &chip->sd,
+drivers/media/i2c/tvaudio.c:	struct v4l2_subdev *sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:		chip->muted = ctrl->val;
+drivers/media/i2c/tvaudio.c:		if (chip->muted)
+drivers/media/i2c/tvaudio.c:					desc->inputmap[chip->input],desc->inputmask);
+drivers/media/i2c/tvaudio.c:		volume = chip->volume->val;
+drivers/media/i2c/tvaudio.c:		balance = chip->balance->val;
+drivers/media/i2c/tvaudio.c:	chip->radio = 1;
+drivers/media/i2c/tvaudio.c:	/* del_timer(&chip->wt); */
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	chip->input = input;
+drivers/media/i2c/tvaudio.c:	if (chip->muted)
+drivers/media/i2c/tvaudio.c:			desc->inputmap[chip->input], desc->inputmask);
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	if (chip->radio)
+drivers/media/i2c/tvaudio.c:	chip->audmode = vt->audmode;
+drivers/media/i2c/tvaudio.c:	if (chip->thread)
+drivers/media/i2c/tvaudio.c:		wake_up_process(chip->thread);
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	if (chip->radio)
+drivers/media/i2c/tvaudio.c:	vt->audmode = chip->audmode;
+drivers/media/i2c/tvaudio.c:	chip->radio = 0;
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	if (chip->thread) {
+drivers/media/i2c/tvaudio.c:		chip->prevmode = -1; /* reset previous mode */
+drivers/media/i2c/tvaudio.c:		mod_timer(&chip->wt, jiffies+msecs_to_jiffies(2000));
+drivers/media/i2c/tvaudio.c:	struct CHIPDESC *desc = chip->desc;
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_log_status(&chip->hdl, sd->name);
+drivers/media/i2c/tvaudio.c:	sd = &chip->sd;
+drivers/media/i2c/tvaudio.c:	chip->desc = desc;
+drivers/media/i2c/tvaudio.c:	chip->shadow.count = desc->registers+1;
+drivers/media/i2c/tvaudio.c:	chip->prevmode = -1;
+drivers/media/i2c/tvaudio.c:	chip->audmode = V4L2_TUNER_MODE_LANG1;
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_init(&chip->hdl, 5);
+drivers/media/i2c/tvaudio.c:		v4l2_ctrl_new_std(&chip->hdl, &tvaudio_ctrl_ops,
+drivers/media/i2c/tvaudio.c:			chip->volume = v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:			chip->balance = v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:			v4l2_ctrl_cluster(2, &chip->volume);
+drivers/media/i2c/tvaudio.c:			v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:			v4l2_ctrl_new_std(&chip->hdl,
+drivers/media/i2c/tvaudio.c:	sd->ctrl_handler = &chip->hdl;
+drivers/media/i2c/tvaudio.c:	if (chip->hdl.error) {
+drivers/media/i2c/tvaudio.c:		int err = chip->hdl.error;
+drivers/media/i2c/tvaudio.c:		v4l2_ctrl_handler_free(&chip->hdl);
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_setup(&chip->hdl);
+drivers/media/i2c/tvaudio.c:	chip->thread = NULL;
+drivers/media/i2c/tvaudio.c:	timer_setup(&chip->wt, chip_thread_wake, 0);
+drivers/media/i2c/tvaudio.c:		chip->thread = kthread_run(chip_thread, chip, "%s",
+drivers/media/i2c/tvaudio.c:		if (IS_ERR(chip->thread)) {
+drivers/media/i2c/tvaudio.c:			chip->thread = NULL;
+drivers/media/i2c/tvaudio.c:	del_timer_sync(&chip->wt);
+drivers/media/i2c/tvaudio.c:	if (chip->thread) {
+drivers/media/i2c/tvaudio.c:		kthread_stop(chip->thread);
+drivers/media/i2c/tvaudio.c:		chip->thread = NULL;
+drivers/media/i2c/tvaudio.c:	v4l2_ctrl_handler_free(&chip->hdl);
+drivers/media/i2c/video-i2c.c:				data->chip->buffer_size);
+drivers/media/i2c/video-i2c.c:				data->chip->buffer_size);
+drivers/media/i2c/video-i2c.c:	for (n = 0; n < data->chip->num_frame_intervals - 1; n++) {
+drivers/media/i2c/video-i2c.c:				       data->chip->frame_intervals[n]))
+drivers/media/i2c/video-i2c.c:	idx = data->chip->num_frame_intervals - n - 1;
+drivers/media/i2c/video-i2c.c:	unsigned int size = data->chip->buffer_size;
+drivers/media/i2c/video-i2c.c:	unsigned int size = data->chip->buffer_size;
+drivers/media/i2c/video-i2c.c:			ret = data->chip->xfer(data, vbuf);
+drivers/media/i2c/video-i2c.c:	ret = data->chip->setup(data);
+drivers/media/i2c/video-i2c.c:	*fmt = *data->chip->format;
+drivers/media/i2c/video-i2c.c:	const struct v4l2_frmsize_discrete *size = data->chip->size;
+drivers/media/i2c/video-i2c.c:	if (fsize->pixel_format != data->chip->format->pixelformat)
+drivers/media/i2c/video-i2c.c:	const struct v4l2_frmsize_discrete *size = data->chip->size;
+drivers/media/i2c/video-i2c.c:	if (fe->index >= data->chip->num_frame_intervals)
+drivers/media/i2c/video-i2c.c:	fe->discrete = data->chip->frame_intervals[fe->index];
+drivers/media/i2c/video-i2c.c:	const struct v4l2_frmsize_discrete *size = data->chip->size;
+drivers/media/i2c/video-i2c.c:	unsigned int bpp = data->chip->bpp / 8;
+drivers/media/i2c/video-i2c.c:	pix->pixelformat = data->chip->format->pixelformat;
+drivers/media/i2c/video-i2c.c:	for (i = 0; i < data->chip->num_frame_intervals - 1; i++) {
+drivers/media/i2c/video-i2c.c:				       data->chip->frame_intervals[i]))
+drivers/media/i2c/video-i2c.c:	data->frame_interval = data->chip->frame_intervals[i];
+drivers/media/i2c/video-i2c.c:	data->regmap = regmap_init_i2c(client, data->chip->regmap_config);
+drivers/media/i2c/video-i2c.c:	data->frame_interval = data->chip->frame_intervals[0];
+drivers/media/i2c/video-i2c.c:	if (data->chip->set_power) {
+drivers/media/i2c/video-i2c.c:		ret = data->chip->set_power(data, true);
+drivers/media/i2c/video-i2c.c:	if (data->chip->hwmon_init) {
+drivers/media/i2c/video-i2c.c:		ret = data->chip->hwmon_init(data);
+drivers/media/i2c/video-i2c.c:	if (data->chip->nvmem_config) {
+drivers/media/i2c/video-i2c.c:		struct nvmem_config *config = data->chip->nvmem_config;
+drivers/media/i2c/video-i2c.c:	if (data->chip->set_power)
+drivers/media/i2c/video-i2c.c:		data->chip->set_power(data, false);
+drivers/media/i2c/video-i2c.c:	if (data->chip->set_power)
+drivers/media/i2c/video-i2c.c:		data->chip->set_power(data, false);
+drivers/media/i2c/video-i2c.c:	if (!data->chip->set_power)
+drivers/media/i2c/video-i2c.c:	return data->chip->set_power(data, false);
+drivers/media/i2c/video-i2c.c:	if (!data->chip->set_power)
+drivers/media/i2c/video-i2c.c:	return data->chip->set_power(data, true);
+drivers/media/pci/cx23885/altera-ci.c:				(temp_chip->internal->dev != dev))
+drivers/media/pci/cx23885/altera-ci.c:		temp_chip = temp_chip->next_inode;
+drivers/media/pci/cx23885/altera-ci.c:		if (temp_chip->internal != NULL) {
+drivers/media/pci/cx23885/altera-ci.c:			temp_int = temp_chip->internal;
+drivers/media/pci/cx23885/altera-ci.c:		temp_chip = temp_chip->next_inode;
+drivers/media/pci/cx23885/cx23885-alsa.c:			chip->dev->name, ##arg); \
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_dev *dev  = chip->dev;
+drivers/media/pci/cx23885/cx23885-alsa.c:	cx23885_sram_channel_setup(chip->dev, audio_ch, buf->bpl,
+drivers/media/pci/cx23885/cx23885-alsa.c:	atomic_set(&chip->count, 0);
+drivers/media/pci/cx23885/cx23885-alsa.c:		chip->num_periods, buf->bpl * chip->num_periods);
+drivers/media/pci/cx23885/cx23885-alsa.c:	cx_set(PCI_INT_MSK, chip->dev->pci_irqmask | PCI_MSK_AUD_INT);
+drivers/media/pci/cx23885/cx23885-alsa.c:		cx23885_sram_channel_dump(chip->dev, audio_ch);
+drivers/media/pci/cx23885/cx23885-alsa.c:	struct cx23885_dev *dev = chip->dev;
+drivers/media/pci/cx23885/cx23885-alsa.c:		cx23885_sram_channel_dump(chip->dev,
+drivers/media/pci/cx23885/cx23885-alsa.c:		atomic_set(&chip->count, cx_read(AUD_INT_A_GPCNT));
+drivers/media/pci/cx23885/cx23885-alsa.c:		snd_pcm_period_elapsed(chip->substream);
+drivers/media/pci/cx23885/cx23885-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx23885/cx23885-alsa.c:	cx23885_alsa_dma_free(chip->buf);
+drivers/media/pci/cx23885/cx23885-alsa.c:	risc = &chip->buf->risc;
+drivers/media/pci/cx23885/cx23885-alsa.c:	pci_free_consistent(chip->pci, risc->size, risc->cpu, risc->dma);
+drivers/media/pci/cx23885/cx23885-alsa.c:	kfree(chip->buf);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->dma_size = 0;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->substream = substream;
+drivers/media/pci/cx23885/cx23885-alsa.c:	if (chip->dev->sram_channels[AUDIO_SRAM_CHANNEL].fifo_size !=
+drivers/media/pci/cx23885/cx23885-alsa.c:		unsigned int bpl = chip->dev->
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->period_size = params_period_bytes(hw_params);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->num_periods = params_periods(hw_params);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->dma_size = chip->period_size * params_periods(hw_params);
+drivers/media/pci/cx23885/cx23885-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx23885/cx23885-alsa.c:	BUG_ON(chip->num_periods & (chip->num_periods-1));
+drivers/media/pci/cx23885/cx23885-alsa.c:	buf->bpl = chip->period_size;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->buf = buf;
+drivers/media/pci/cx23885/cx23885-alsa.c:			(PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT));
+drivers/media/pci/cx23885/cx23885-alsa.c:	ret = cx23885_risc_databuffer(chip->pci, &buf->risc, buf->sglist,
+drivers/media/pci/cx23885/cx23885-alsa.c:				   chip->period_size, chip->num_periods, 1);
+drivers/media/pci/cx23885/cx23885-alsa.c:	substream->runtime->dma_area = chip->buf->vaddr;
+drivers/media/pci/cx23885/cx23885-alsa.c:	substream->runtime->dma_bytes = chip->dma_size;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx23885/cx23885-alsa.c:	spin_lock(&chip->lock);
+drivers/media/pci/cx23885/cx23885-alsa.c:	spin_unlock(&chip->lock);
+drivers/media/pci/cx23885/cx23885-alsa.c:	count = atomic_read(&chip->count);
+drivers/media/pci/cx23885/cx23885-alsa.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->dev = dev;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->pci = dev->pci;
+drivers/media/pci/cx23885/cx23885-alsa.c:	chip->card = card;
+drivers/media/pci/cx23885/cx23885-alsa.c:	spin_lock_init(&chip->lock);
+drivers/media/pci/cx23885/cx23885-alsa.c:	snd_card_free(chip->card);
+drivers/media/pci/cx23885/cx23885-ioctl.c:	if (chip->match.addr > 1)
+drivers/media/pci/cx23885/cx23885-ioctl.c:	if (chip->match.addr == 1) {
+drivers/media/pci/cx23885/cx23885-ioctl.c:		strscpy(chip->name, "cx23417", sizeof(chip->name));
+drivers/media/pci/cx23885/cx23885-ioctl.c:		strscpy(chip->name, dev->v4l2_dev.name, sizeof(chip->name));
+drivers/media/pci/cx25821/cx25821-alsa.c:		pr_info("%s/1: " fmt, chip->dev->name, ##arg);	\
+drivers/media/pci/cx25821/cx25821-alsa.c:		printk(KERN_DEBUG "%s/1: " fmt, chip->dev->name, ##arg); \
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx25821_set_gpiopin_direction(chip->dev, 0, 0);
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx25821_sram_channel_setup_audio(chip->dev, audio_ch, buf->bpl,
+drivers/media/pci/cx25821/cx25821-alsa.c:	atomic_set(&chip->count, 0);
+drivers/media/pci/cx25821/cx25821-alsa.c:		chip->num_periods, buf->bpl * chip->num_periods);
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx_set(PCI_INT_MSK, chip->dev->pci_irqmask | PCI_MSK_AUD_INT);
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:		atomic_set(&chip->count, cx_read(AUD_A_GPCNT));
+drivers/media/pci/cx25821/cx25821-alsa.c:		snd_pcm_period_elapsed(chip->substream);
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_dev *dev = chip->dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	struct cx25821_riscmem *risc = &chip->buf->risc;
+drivers/media/pci/cx25821/cx25821-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx25821/cx25821-alsa.c:	cx25821_alsa_dma_free(chip->buf);
+drivers/media/pci/cx25821/cx25821-alsa.c:	pci_free_consistent(chip->pci, risc->size, risc->cpu, risc->dma);
+drivers/media/pci/cx25821/cx25821-alsa.c:	kfree(chip->buf);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->dma_size = 0;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->substream = substream;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->period_size = params_period_bytes(hw_params);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->num_periods = params_periods(hw_params);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->dma_size = chip->period_size * params_periods(hw_params);
+drivers/media/pci/cx25821/cx25821-alsa.c:	BUG_ON(!chip->dma_size);
+drivers/media/pci/cx25821/cx25821-alsa.c:	BUG_ON(chip->num_periods & (chip->num_periods - 1));
+drivers/media/pci/cx25821/cx25821-alsa.c:	if (chip->period_size > AUDIO_LINE_SIZE)
+drivers/media/pci/cx25821/cx25821-alsa.c:		chip->period_size = AUDIO_LINE_SIZE;
+drivers/media/pci/cx25821/cx25821-alsa.c:	buf->bpl = chip->period_size;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->buf = buf;
+drivers/media/pci/cx25821/cx25821-alsa.c:			(PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT));
+drivers/media/pci/cx25821/cx25821-alsa.c:	ret = cx25821_risc_databuffer_audio(chip->pci, &buf->risc, buf->sglist,
+drivers/media/pci/cx25821/cx25821-alsa.c:			chip->period_size, chip->num_periods, 1);
+drivers/media/pci/cx25821/cx25821-alsa.c:	substream->runtime->dma_area = chip->buf->vaddr;
+drivers/media/pci/cx25821/cx25821-alsa.c:	substream->runtime->dma_bytes = chip->dma_size;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx25821/cx25821-alsa.c:	spin_lock(&chip->reg_lock);
+drivers/media/pci/cx25821/cx25821-alsa.c:	spin_unlock(&chip->reg_lock);
+drivers/media/pci/cx25821/cx25821-alsa.c:	count = atomic_read(&chip->count);
+drivers/media/pci/cx25821/cx25821-alsa.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+drivers/media/pci/cx25821/cx25821-alsa.c:	spin_lock_init(&chip->reg_lock);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->dev = dev;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->card = card;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->pci = dev->pci;
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->iobase = pci_resource_start(dev->pci, 0);
+drivers/media/pci/cx25821/cx25821-alsa.c:	chip->irq = dev->pci->irq;
+drivers/media/pci/cx25821/cx25821-alsa.c:			  IRQF_SHARED, chip->dev->name, chip);
+drivers/media/pci/cx25821/cx25821-alsa.c:		pr_err("ERROR %s: can't get IRQ %d for ALSA\n", chip->dev->name,
+drivers/media/pci/cx25821/cx25821-alsa.c:	sprintf(card->longname, "%s at 0x%lx irq %d", chip->dev->name,
+drivers/media/pci/cx25821/cx25821-alsa.c:		chip->iobase, chip->irq);
+drivers/media/pci/cx88/cx88-alsa.c:			chip->core->name, ##arg);			\
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	cx88_sram_channel_setup(chip->core, audio_ch, buf->bpl, buf->risc.dma);
+drivers/media/pci/cx88/cx88-alsa.c:	atomic_set(&chip->count, 0);
+drivers/media/pci/cx88/cx88-alsa.c:		chip->num_periods, buf->bpl * chip->num_periods);
+drivers/media/pci/cx88/cx88-alsa.c:	cx_set(MO_PCI_INTMSK, chip->core->pci_irqmask | PCI_INT_AUDINT);
+drivers/media/pci/cx88/cx88-alsa.c:		cx88_sram_channel_dump(chip->core, audio_ch);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:		cx88_sram_channel_dump(chip->core,
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:		atomic_set(&chip->count, cx_read(MO_AUDD_GPCNT));
+drivers/media/pci/cx88/cx88-alsa.c:		snd_pcm_period_elapsed(chip->substream);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_audio_buffer *buf = chip->buf;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_riscmem *risc = &chip->buf->risc;
+drivers/media/pci/cx88/cx88-alsa.c:	WARN_ON(!chip->dma_size);
+drivers/media/pci/cx88/cx88-alsa.c:	cx88_alsa_dma_free(chip->buf);
+drivers/media/pci/cx88/cx88-alsa.c:		pci_free_consistent(chip->pci, risc->size,
+drivers/media/pci/cx88/cx88-alsa.c:	kfree(chip->buf);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->buf = NULL;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->substream = substream;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->period_size = params_period_bytes(hw_params);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->num_periods = params_periods(hw_params);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->dma_size = chip->period_size * params_periods(hw_params);
+drivers/media/pci/cx88/cx88-alsa.c:	WARN_ON(!chip->dma_size);
+drivers/media/pci/cx88/cx88-alsa.c:	WARN_ON(chip->num_periods & (chip->num_periods - 1));
+drivers/media/pci/cx88/cx88-alsa.c:	chip->buf = buf;
+drivers/media/pci/cx88/cx88-alsa.c:	buf->bpl = chip->period_size;
+drivers/media/pci/cx88/cx88-alsa.c:				 (PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT));
+drivers/media/pci/cx88/cx88-alsa.c:	ret = cx88_risc_databuffer(chip->pci, &buf->risc, buf->sglist,
+drivers/media/pci/cx88/cx88-alsa.c:				   chip->period_size, chip->num_periods, 1);
+drivers/media/pci/cx88/cx88-alsa.c:	substream->runtime->dma_area = chip->buf->vaddr;
+drivers/media/pci/cx88/cx88-alsa.c:	substream->runtime->dma_bytes = chip->dma_size;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	spin_unlock(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	count = atomic_read(&chip->count);
+drivers/media/pci/cx88/cx88-alsa.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	spin_unlock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	spin_unlock_irq(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	struct cx88_core *core = chip->core;
+drivers/media/pci/cx88/cx88-alsa.c:	if (chip->irq >= 0)
+drivers/media/pci/cx88/cx88-alsa.c:		free_irq(chip->irq, chip);
+drivers/media/pci/cx88/cx88-alsa.c:	cx88_core_put(chip->core, chip->pci);
+drivers/media/pci/cx88/cx88-alsa.c:	pci_disable_device(chip->pci);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->card = card;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->pci = pci;
+drivers/media/pci/cx88/cx88-alsa.c:	chip->irq = -1;
+drivers/media/pci/cx88/cx88-alsa.c:	spin_lock_init(&chip->reg_lock);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->core = core;
+drivers/media/pci/cx88/cx88-alsa.c:	err = request_irq(chip->pci->irq, cx8801_irq,
+drivers/media/pci/cx88/cx88-alsa.c:			  IRQF_SHARED, chip->core->name, chip);
+drivers/media/pci/cx88/cx88-alsa.c:			chip->core->name, chip->pci->irq);
+drivers/media/pci/cx88/cx88-alsa.c:	chip->irq = pci->irq;
+drivers/media/pci/cx88/cx88-alsa.c:	synchronize_irq(chip->irq);
+drivers/media/pci/saa7134/saa7134-alsa.c:	dev = chip->dev;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	old_addr = chip->capture_source_addr;
+drivers/media/pci/saa7134/saa7134-alsa.c:			 chip->capture_source[0] != left ||
+drivers/media/pci/saa7134/saa7134-alsa.c:			 chip->capture_source[1] != right;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_source[0] = left;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_source[1] = right;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_source_addr = addr;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_unlock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:			snd_ctl_notify(chip->card,
+drivers/media/pci/saa7134/saa7134-alsa.c:				       &chip->capture_ctl[addr]->id);
+drivers/media/pci/saa7134/saa7134-alsa.c:			snd_ctl_notify(chip->card,
+drivers/media/pci/saa7134/saa7134-alsa.c:				       &chip->capture_ctl[old_addr]->id);
+drivers/media/pci/saa7134/saa7134-alsa.c:	ucontrol->value.integer.value[0] = chip->mixer_volume[addr][0];
+drivers/media/pci/saa7134/saa7134-alsa.c:	ucontrol->value.integer.value[1] = chip->mixer_volume[addr][1];
+drivers/media/pci/saa7134/saa7134-alsa.c:	struct saa7134_dev *dev = chip->dev;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->mixer_volume[addr][0] != left) {
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->mixer_volume[addr][1] != right) {
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->mixer_volume[addr][0] = left;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->mixer_volume[addr][1] = right;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_unlock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->capture_source_addr == addr) {
+drivers/media/pci/saa7134/saa7134-alsa.c:		ucontrol->value.integer.value[0] = chip->capture_source[0];
+drivers/media/pci/saa7134/saa7134-alsa.c:		ucontrol->value.integer.value[1] = chip->capture_source[1];
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_unlock_irq(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	struct snd_card *card = chip->card;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->capture_ctl[addr] = kcontrol;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->capture_source_addr = MIXER_ADDR_UNSELECTED;
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->dev->dmasound.priv_data == NULL)
+drivers/media/pci/saa7134/saa7134-alsa.c:	if (chip->irq >= 0)
+drivers/media/pci/saa7134/saa7134-alsa.c:		free_irq(chip->irq, &chip->dev->dmasound);
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->dev->dmasound.priv_data = NULL;
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_init(&chip->lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	spin_lock_init(&chip->mixer_lock);
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->dev = dev;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->card = card;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->pci = dev->pci;
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->iobase = pci_resource_start(dev->pci, 0);
+drivers/media/pci/saa7134/saa7134-alsa.c:	chip->irq = dev->pci->irq;
+drivers/media/pci/saa7134/saa7134-alsa.c:		chip->dev->name, chip->iobase, chip->irq);
+drivers/media/platform/rockchip/rga/Makefile:rockchip-rga-objs := rga.o rga-hw.o rga-buf.o
+drivers/media/platform/rockchip/rga/Makefile:obj-$(CONFIG_VIDEO_ROCKCHIP_RGA) += rockchip-rga.o
+drivers/media/platform/rockchip/rga/rga.c:	strscpy(cap->card, "rockchip-rga", sizeof(cap->card));
+drivers/media/platform/rockchip/rga/rga.c:	.name = "rockchip-rga",
+drivers/media/platform/rockchip/rga/rga.h:#define RGA_NAME "rockchip-rga"
+drivers/media/usb/cx231xx/cx231xx-video.c:	switch (chip->match.addr) {
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "AFE (byte)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "Video (byte)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "I2S (byte)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "AFE (dword)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "Video (dword)", sizeof(chip->name));
+drivers/media/usb/cx231xx/cx231xx-video.c:		strscpy(chip->name, "I2S (dword)", sizeof(chip->name));
+drivers/media/usb/em28xx/em28xx-video.c:	if (chip->match.addr > 1)
+drivers/media/usb/em28xx/em28xx-video.c:	if (chip->match.addr == 1)
+drivers/media/usb/em28xx/em28xx-video.c:		strscpy(chip->name, "ac97", sizeof(chip->name));
+drivers/media/usb/em28xx/em28xx-video.c:		strscpy(chip->name,
+drivers/media/usb/em28xx/em28xx-video.c:			dev->v4l2->v4l2_dev.name, sizeof(chip->name));
+drivers/media/usb/gspca/gspca.c:	return chip->match.addr ? -EINVAL : 0;
+drivers/media/usb/gspca/sn9c20x.c:	if (chip->match.addr > 1)
+drivers/media/usb/gspca/sn9c20x.c:	if (chip->match.addr == 1)
+drivers/media/usb/gspca/sn9c20x.c:		strscpy(chip->name, "sensor", sizeof(chip->name));
+drivers/media/usb/pvrusb2/pvrusb2-devattr.h:	   interpreted by logic which must send commands to the chip-level
+drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c:		   that the normal i2c chip-level driver expects. */
+drivers/media/usb/tm6000/tm6000-alsa.c:		printk(KERN_INFO "%s/1: " fmt, chip->core->name , ## arg); \
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->substream = substream;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct snd_pcm_substream *substream = chip->substream;
+drivers/media/usb/tm6000/tm6000-alsa.c:	buf_pos = chip->buf_pos;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->buf_pos += length;
+drivers/media/usb/tm6000/tm6000-alsa.c:	if (chip->buf_pos >= runtime->buffer_size)
+drivers/media/usb/tm6000/tm6000-alsa.c:		chip->buf_pos -= runtime->buffer_size;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->period_pos += length;
+drivers/media/usb/tm6000/tm6000-alsa.c:	if (chip->period_pos >= runtime->period_size) {
+drivers/media/usb/tm6000/tm6000-alsa.c:		chip->period_pos -= runtime->period_size;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->buf_pos = 0;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->period_pos = 0;
+drivers/media/usb/tm6000/tm6000-alsa.c:	struct tm6000_core *core = chip->core;
+drivers/media/usb/tm6000/tm6000-alsa.c:	return chip->buf_pos;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->core = dev;
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->card = card;
+drivers/media/usb/tm6000/tm6000-alsa.c:	spin_lock_init(&chip->reg_lock);
+drivers/media/usb/tm6000/tm6000-alsa.c:	if (!chip->card)
+drivers/media/usb/tm6000/tm6000-alsa.c:	snd_card_free(chip->card);
+drivers/media/usb/tm6000/tm6000-alsa.c:	chip->card = NULL;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_substream = substream;
+drivers/media/usb/usbtv/usbtv-audio.c:	if (atomic_read(&chip->snd_stream)) {
+drivers/media/usb/usbtv/usbtv-audio.c:		atomic_set(&chip->snd_stream, 0);
+drivers/media/usb/usbtv/usbtv-audio.c:		schedule_work(&chip->snd_trigger);
+drivers/media/usb/usbtv/usbtv-audio.c:		dev_warn(chip->dev, "pcm audio buffer allocation failure %i\n",
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_buffer_pos = 0;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_period_pos = 0;
+drivers/media/usb/usbtv/usbtv-audio.c:	struct snd_pcm_substream *substream = chip->snd_substream;
+drivers/media/usb/usbtv/usbtv-audio.c:		dev_warn(chip->dev, "unknown audio urb status %i\n",
+drivers/media/usb/usbtv/usbtv-audio.c:	if (!atomic_read(&chip->snd_stream))
+drivers/media/usb/usbtv/usbtv-audio.c:	buffer_pos = chip->snd_buffer_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	period_pos = chip->snd_period_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_buffer_pos = buffer_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_period_pos = period_pos;
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_bulk_urb = usb_alloc_urb(0, GFP_KERNEL);
+drivers/media/usb/usbtv/usbtv-audio.c:	if (chip->snd_bulk_urb == NULL)
+drivers/media/usb/usbtv/usbtv-audio.c:	pipe = usb_rcvbulkpipe(chip->udev, USBTV_AUDIO_ENDP);
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_bulk_urb->transfer_buffer = kzalloc(
+drivers/media/usb/usbtv/usbtv-audio.c:	if (chip->snd_bulk_urb->transfer_buffer == NULL)
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_fill_bulk_urb(chip->snd_bulk_urb, chip->udev, pipe,
+drivers/media/usb/usbtv/usbtv-audio.c:		chip->snd_bulk_urb->transfer_buffer, USBTV_AUDIO_URBSIZE,
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_clear_halt(chip->udev, pipe);
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_submit_urb(chip->snd_bulk_urb, GFP_ATOMIC);
+drivers/media/usb/usbtv/usbtv-audio.c:	usb_free_urb(chip->snd_bulk_urb);
+drivers/media/usb/usbtv/usbtv-audio.c:	chip->snd_bulk_urb = NULL;
+drivers/media/usb/usbtv/usbtv-audio.c:	if (chip->snd_bulk_urb) {
+drivers/media/usb/usbtv/usbtv-audio.c:		usb_kill_urb(chip->snd_bulk_urb);
+drivers/media/usb/usbtv/usbtv-audio.c:		kfree(chip->snd_bulk_urb->transfer_buffer);
+drivers/media/usb/usbtv/usbtv-audio.c:		usb_free_urb(chip->snd_bulk_urb);
+drivers/media/usb/usbtv/usbtv-audio.c:		chip->snd_bulk_urb = NULL;
+drivers/media/usb/usbtv/usbtv-audio.c:	if (!chip->snd)
+drivers/media/usb/usbtv/usbtv-audio.c:	if (atomic_read(&chip->snd_stream))
+drivers/media/usb/usbtv/usbtv-audio.c:		atomic_set(&chip->snd_stream, 1);
+drivers/media/usb/usbtv/usbtv-audio.c:		atomic_set(&chip->snd_stream, 0);
+drivers/media/usb/usbtv/usbtv-audio.c:	schedule_work(&chip->snd_trigger);
+drivers/media/usb/usbtv/usbtv-audio.c:	return chip->snd_buffer_pos;
+drivers/memory/emif.h: * ZQ Calibration simultaneously on both chip-selects:
+drivers/memory/omap-gpmc.c:/* Define chip-selects as reserved by default until probe completes */
+drivers/memory/omap-gpmc.c: * gpmc_cs_remap - remaps a chip-select physical base address
+drivers/memory/omap-gpmc.c: * @cs:		chip-select to remap
+drivers/memory/omap-gpmc.c: * @base:	physical base address to re-map chip-select to
+drivers/memory/omap-gpmc.c: * Re-maps a chip-select to a new physical base address specified by
+drivers/memory/omap-gpmc.c:		pr_err("%s: requested chip-select is disabled\n", __func__);
+drivers/memory/omap-gpmc.c:		pr_err("%s: requested chip-select is disabled\n", __func__);
+drivers/memory/omap-gpmc.c: * @cs:		GPMC chip-select to program
+drivers/memory/omap-gpmc.c: * Programs non-timing related settings for a GPMC chip-select, such as
+drivers/memory/omap-gpmc.c: * for each chip-select that is being used and must be called before
+drivers/memory/omap-gpmc.c: * Allocates and configures a GPMC chip-select for a child device.
+drivers/memory/omap-gpmc.c:		pr_err("%s: number of chip-selects not defined\n", __func__);
+drivers/memory/omap-gpmc.c:		pr_err("%s: all chip-selects are disabled\n", __func__);
+drivers/memory/omap-gpmc.c:		pr_err("%s: number of supported chip-selects cannot be > %d\n",
+drivers/memory/ti-aemif.c: * @cs: chip-select number
+drivers/memory/ti-aemif.c: * @num_cs: number of assigned chip-selects
+drivers/memory/ti-aemif.c: * @cs_data: array of chip-select settings
+drivers/memory/ti-aemif.c: * chip-select.
+drivers/memstick/host/jmb38x_ms.c:		if (1 != dma_map_sg(&host->chip->pdev->dev, &host->req->sg, 1,
+drivers/memstick/host/jmb38x_ms.c:		dma_unmap_sg(&host->chip->pdev->dev, &host->req->sg, 1,
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "irq_status = %08x\n", irq_status);
+drivers/memstick/host/jmb38x_ms.c:				dev_dbg(&host->chip->pdev->dev, "TPC_ERR\n");
+drivers/memstick/host/jmb38x_ms.c:		dev_dbg(&host->chip->pdev->dev, "media changed\n");
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "abort\n");
+drivers/memstick/host/jmb38x_ms.c:			dev_dbg(&host->chip->pdev->dev, "tasklet req %d\n", rc);
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "reset_req timeout\n");
+drivers/memstick/host/jmb38x_ms.c:	dev_dbg(&host->chip->pdev->dev, "reset timeout\n");
+drivers/memstick/host/jmb38x_ms.c:			dev_dbg(&host->chip->pdev->dev, "power on\n");
+drivers/memstick/host/jmb38x_ms.c:			dev_dbg(&host->chip->pdev->dev, "power off\n");
+drivers/memstick/host/jmb38x_ms.c:		dev_dbg(&host->chip->pdev->dev,
+drivers/memstick/host/jmb38x_ms.c:		pci_write_config_byte(host->chip->pdev,
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->ReplyFifo, pa);
+drivers/message/fusion/mptbase.c:	u32 pa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo);
+drivers/message/fusion/mptbase.c:		pa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->RequestFifo, mf_dma_addr);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->RequestHiPriFifo, mf_dma_addr);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell,
+drivers/message/fusion/mptbase.c:	if (!(CHIPREG_READ32(&ioc->chip->Doorbell) & MPI_DOORBELL_ACTIVE))
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Doorbell, word);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	if (CHIPREG_READ32(&ioc->chip->Doorbell)
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell,
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	    CHIPREG_READ32(&ioc->chip->Doorbell));
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->alt_ioc->chip->IntMask,
+drivers/message/fusion/mptbase.c:				CHIPREG_WRITE32(&ioc->alt_ioc->chip->IntMask, MPI_HIM_DIM);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->alt_ioc->chip->IntMask,
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:	s = CHIPREG_READ32(&ioc->chip->Doorbell);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_PREVENT_IOC_BOOT | MPI_DIAG_DISABLE_ARM));
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_RESET_ADAPTER);
+drivers/message/fusion/mptbase.c:		diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_RW_ENABLE | MPI_DIAG_DISABLE_ARM));
+drivers/message/fusion/mptbase.c:	CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, pFwHeader->LoadStartAddress);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, *ptrFw++);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, load_addr);
+drivers/message/fusion/mptbase.c:			CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, *ptrFw++);
+drivers/message/fusion/mptbase.c:	CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, pFwHeader->IopResetRegAddr);
+drivers/message/fusion/mptbase.c:	CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, pFwHeader->IopResetVectorValue);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, 0x3F000000);
+drivers/message/fusion/mptbase.c:		diagRwData = CHIPREG_PIO_READ32(&ioc->pio_chip->DiagRwData);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwAddress, 0x3F000000);
+drivers/message/fusion/mptbase.c:		CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, diagRwData);
+drivers/message/fusion/mptbase.c:		diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val |
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:			&ioc->chip->Doorbell, &ioc->chip->Reset_1078));
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Reset_1078, 0x07);
+drivers/message/fusion/mptbase.c:			doorbell = CHIPREG_READ32(&ioc->chip->Doorbell);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:			diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:				diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_DISABLE_ARM);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_RESET_ADAPTER);
+drivers/message/fusion/mptbase.c:				diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:				doorbell = CHIPREG_READ32(&ioc->chip->Doorbell);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_3RD_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE);
+drivers/message/fusion/mptbase.c:		diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:			diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell, reset_type<<MPI_DOORBELL_FUNCTION_SHIFT);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->ReplyFifo, alloc_dma);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->Doorbell,
+drivers/message/fusion/mptbase.c:	if (!(CHIPREG_READ32(&ioc->chip->Doorbell) & MPI_DOORBELL_ACTIVE))
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->Doorbell, word);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:			intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+drivers/message/fusion/mptbase.c:		hs_reply[u16cnt++] = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:			hs_reply[u16cnt++] = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
+drivers/message/fusion/mptbase.c:			CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:		hword = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
+drivers/message/fusion/mptbase.c:		CHIPREG_WRITE32(&ioc->chip->Doorbell, 0xC0FFEE00);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);
+drivers/message/fusion/mptbase.c:	CHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM);
+drivers/mfd/88pm800.c:	struct pm80x_subchip *subchip = chip->subchip;
+drivers/mfd/88pm800.c:	struct regmap *map = subchip->regmap_gpadc;
+drivers/mfd/88pm800.c:		dev_warn(chip->dev,
+drivers/mfd/88pm800.c:	dev_info(chip->dev, "pm800 device_gpadc_init: Done\n");
+drivers/mfd/88pm800.c:	dev_info(chip->dev, "pm800 device_gpadc_init: Failed!\n");
+drivers/mfd/88pm800.c:	ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/88pm800.c:	ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0],
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/88pm800.c:	ret = mfd_add_devices(chip->dev, 0, &regulator_devs[0],
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add regulator subdev\n");
+drivers/mfd/88pm800.c:	struct regmap *map = chip->regmap;
+drivers/mfd/88pm800.c:	if (!map || !chip->irq) {
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "incorrect parameters\n");
+drivers/mfd/88pm800.c:	    regmap_add_irq_chip(chip->regmap, chip->irq, flags, -1,
+drivers/mfd/88pm800.c:				chip->regmap_irq_chip, &chip->irq_data);
+drivers/mfd/88pm800.c:	regmap_del_irq_chip(chip->irq, chip->irq_data);
+drivers/mfd/88pm800.c:	struct i2c_client *client = chip->client;
+drivers/mfd/88pm800.c:	subchip = chip->subchip;
+drivers/mfd/88pm800.c:	if (!subchip || !subchip->power_page_addr || !subchip->gpadc_page_addr)
+drivers/mfd/88pm800.c:	subchip->power_page = i2c_new_dummy_device(client->adapter,
+drivers/mfd/88pm800.c:					    subchip->power_page_addr);
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->power_page)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->power_page);
+drivers/mfd/88pm800.c:	subchip->regmap_power = devm_regmap_init_i2c(subchip->power_page,
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->regmap_power)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->regmap_power);
+drivers/mfd/88pm800.c:		dev_err(chip->dev,
+drivers/mfd/88pm800.c:	i2c_set_clientdata(subchip->power_page, chip);
+drivers/mfd/88pm800.c:	subchip->gpadc_page = i2c_new_dummy_device(client->adapter,
+drivers/mfd/88pm800.c:					    subchip->gpadc_page_addr);
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->gpadc_page)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->gpadc_page);
+drivers/mfd/88pm800.c:	subchip->regmap_gpadc = devm_regmap_init_i2c(subchip->gpadc_page,
+drivers/mfd/88pm800.c:	if (IS_ERR(subchip->regmap_gpadc)) {
+drivers/mfd/88pm800.c:		ret = PTR_ERR(subchip->regmap_gpadc);
+drivers/mfd/88pm800.c:		dev_err(chip->dev,
+drivers/mfd/88pm800.c:	i2c_set_clientdata(subchip->gpadc_page, chip);
+drivers/mfd/88pm800.c:	subchip = chip->subchip;
+drivers/mfd/88pm800.c:	if (subchip && subchip->power_page)
+drivers/mfd/88pm800.c:		i2c_unregister_device(subchip->power_page);
+drivers/mfd/88pm800.c:	if (subchip && subchip->gpadc_page)
+drivers/mfd/88pm800.c:		i2c_unregister_device(subchip->gpadc_page);
+drivers/mfd/88pm800.c:	ret = regmap_read(chip->regmap, PM800_RTC_CONTROL, &val);
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to read RTC register: %d\n", ret);
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "[%s]Failed to init gpadc\n", __func__);
+drivers/mfd/88pm800.c:	chip->regmap_irq_chip = &pm800_irq_chip;
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "[%s]Failed to init pm800 irq\n", __func__);
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to add regulators subdev\n");
+drivers/mfd/88pm800.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm800.c:	subchip->power_page_addr = client->addr + 1;
+drivers/mfd/88pm800.c:	subchip->gpadc_page_addr = client->addr + 2;
+drivers/mfd/88pm800.c:	chip->subchip = subchip;
+drivers/mfd/88pm800.c:		dev_err(chip->dev, "Failed to initialize 88pm800 devices\n");
+drivers/mfd/88pm800.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm805.c:	struct regmap *map = chip->regmap;
+drivers/mfd/88pm805.c:	if (!map || !chip->irq) {
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "incorrect parameters\n");
+drivers/mfd/88pm805.c:	    regmap_add_irq_chip(chip->regmap, chip->irq, flags, -1,
+drivers/mfd/88pm805.c:				chip->regmap_irq_chip, &chip->irq_data);
+drivers/mfd/88pm805.c:	regmap_del_irq_chip(chip->irq, chip->irq_data);
+drivers/mfd/88pm805.c:	struct regmap *map = chip->regmap;
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "regmap is invalid\n");
+drivers/mfd/88pm805.c:	chip->regmap_irq_chip = &pm805_irq_chip;
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "Failed to init pm805 irq!\n");
+drivers/mfd/88pm805.c:	ret = mfd_add_devices(chip->dev, 0, &codec_devs[0],
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "Failed to add codec subdev\n");
+drivers/mfd/88pm805.c:		dev_info(chip->dev, "[%s]:Added mfd codec_devs\n", __func__);
+drivers/mfd/88pm805.c:		dev_err(chip->dev, "Failed to initialize 88pm805 devices\n");
+drivers/mfd/88pm805.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm80x.c:	chip->client = client;
+drivers/mfd/88pm80x.c:	chip->regmap = map;
+drivers/mfd/88pm80x.c:	chip->irq = client->irq;
+drivers/mfd/88pm80x.c:	chip->dev = &client->dev;
+drivers/mfd/88pm80x.c:	dev_set_drvdata(chip->dev, chip);
+drivers/mfd/88pm80x.c:	i2c_set_clientdata(chip->client, chip);
+drivers/mfd/88pm80x.c:	ret = regmap_read(chip->regmap, PM80X_CHIP_ID, &val);
+drivers/mfd/88pm80x.c:		dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret);
+drivers/mfd/88pm80x.c:			chip->type = chip_mapping[i].type;
+drivers/mfd/88pm80x.c:		dev_err(chip->dev,
+drivers/mfd/88pm80x.c:		chip->companion = g_pm80x_chip->client;
+drivers/mfd/88pm80x.c:		g_pm80x_chip->companion = chip->client;
+drivers/mfd/88pm80x.c:	if (g_pm80x_chip->companion)
+drivers/mfd/88pm80x.c:		g_pm80x_chip->companion = NULL;
+drivers/mfd/88pm80x.c:	if (chip && chip->wu_flag)
+drivers/mfd/88pm80x.c:		if (device_may_wakeup(chip->dev))
+drivers/mfd/88pm80x.c:			enable_irq_wake(chip->irq);
+drivers/mfd/88pm80x.c:	if (chip && chip->wu_flag)
+drivers/mfd/88pm80x.c:		if (device_may_wakeup(chip->dev))
+drivers/mfd/88pm80x.c:			disable_irq_wake(chip->irq);
+drivers/mfd/88pm860x-core.c:	i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:			handle_nested_irq(chip->irq_base + i);
+drivers/mfd/88pm860x-core.c:	mutex_lock(&chip->irq_lock);
+drivers/mfd/88pm860x-core.c:	i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:			dev_err(chip->dev, "wrong IRQ\n");
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->irq_lock);
+drivers/mfd/88pm860x-core.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ?
+drivers/mfd/88pm860x-core.c:		chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:	chip->irq_mode = 0;
+drivers/mfd/88pm860x-core.c:		chip->irq_mode = 1;
+drivers/mfd/88pm860x-core.c:	if (chip->irq_mode) {
+drivers/mfd/88pm860x-core.c:	mutex_init(&chip->irq_lock);
+drivers/mfd/88pm860x-core.c:	chip->irq_base = irq_alloc_descs(irq_base, 0, nr_irqs, 0);
+drivers/mfd/88pm860x-core.c:	if (chip->irq_base < 0) {
+drivers/mfd/88pm860x-core.c:			chip->irq_base);
+drivers/mfd/88pm860x-core.c:	irq_domain_add_legacy(node, nr_irqs, chip->irq_base, 0,
+drivers/mfd/88pm860x-core.c:	chip->core_irq = i2c->irq;
+drivers/mfd/88pm860x-core.c:	if (!chip->core_irq)
+drivers/mfd/88pm860x-core.c:	ret = request_threaded_irq(chip->core_irq, NULL, pm860x_irq,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to request IRQ: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		chip->core_irq = 0;
+drivers/mfd/88pm860x-core.c:	chip->core_irq = 0;
+drivers/mfd/88pm860x-core.c:	if (chip->core_irq)
+drivers/mfd/88pm860x-core.c:		free_irq(chip->core_irq, chip);
+drivers/mfd/88pm860x-core.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8606) ?
+drivers/mfd/88pm860x-core.c:		chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): client=0x%x\n", __func__, client);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): vote=0x%x status=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status);
+drivers/mfd/88pm860x-core.c:	mutex_lock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	chip->osc_vote |= client;
+drivers/mfd/88pm860x-core.c:	if (chip->osc_status != PM8606_REF_GP_OSC_ON) {
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_UNKNOWN;
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_ON;
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(A): vote=0x%x status=%d ret=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status, ret);
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	struct i2c_client *i2c = (chip->id == CHIP_PM8606) ?
+drivers/mfd/88pm860x-core.c:		chip->client : chip->companion;
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): client=0x%x\n", __func__, client);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(B): vote=0x%x status=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status);
+drivers/mfd/88pm860x-core.c:	mutex_lock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	chip->osc_vote &= ~(client);
+drivers/mfd/88pm860x-core.c:	if ((chip->osc_status != PM8606_REF_GP_OSC_OFF) &&
+drivers/mfd/88pm860x-core.c:			(chip->osc_vote == REF_GP_NO_CLIENTS)) {
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_UNKNOWN;
+drivers/mfd/88pm860x-core.c:		chip->osc_status = PM8606_REF_GP_OSC_OFF;
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	dev_dbg(chip->dev, "%s(A): vote=0x%x status=%d ret=%d\n",
+drivers/mfd/88pm860x-core.c:			__func__, chip->osc_vote,
+drivers/mfd/88pm860x-core.c:			chip->osc_status, ret);
+drivers/mfd/88pm860x-core.c:	mutex_unlock(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	mutex_init(&chip->osc_lock);
+drivers/mfd/88pm860x-core.c:	chip->osc_vote = REF_GP_NO_CLIENTS;
+drivers/mfd/88pm860x-core.c:	chip->osc_status = PM8606_REF_GP_OSC_OFF;
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, bk_devs,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add backlight subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, led_devs,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add led subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, reg_devs,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add regulator subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0],
+drivers/mfd/88pm860x-core.c:			      chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &touch_devs[0],
+drivers/mfd/88pm860x-core.c:			      chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add touch subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[0], 1,
+drivers/mfd/88pm860x-core.c:			      &battery_resources[0], chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add battery subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[1], 1,
+drivers/mfd/88pm860x-core.c:			      &charger_resources[0], chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add charger subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[2], 1,
+drivers/mfd/88pm860x-core.c:			      NULL, chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add preg subdev\n");
+drivers/mfd/88pm860x-core.c:		ret = mfd_add_devices(chip->dev, 0, &power_devs[3], 1,
+drivers/mfd/88pm860x-core.c:				      NULL, chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:			dev_err(chip->dev, "Failed to add chg-manager subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+drivers/mfd/88pm860x-core.c:			      chip->irq_base, NULL);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/88pm860x-core.c:	ret = mfd_add_devices(chip->dev, 0, &codec_devs[0],
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to add codec subdev\n");
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		dev_info(chip->dev, "Marvell 88PM8607 (ID: %02x) detected\n",
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev,
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to read BUCK3 register: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		chip->buck3_double = 1;
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to read MISC1 register: %d\n", ret);
+drivers/mfd/88pm860x-core.c:		dev_err(chip->dev, "Failed to access MISC1:%d\n", ret);
+drivers/mfd/88pm860x-core.c:	chip->core_irq = 0;
+drivers/mfd/88pm860x-core.c:	switch (chip->id) {
+drivers/mfd/88pm860x-core.c:		device_8606_init(chip, chip->client, pdata);
+drivers/mfd/88pm860x-core.c:		device_8607_init(chip, chip->client, pdata);
+drivers/mfd/88pm860x-core.c:	if (chip->companion) {
+drivers/mfd/88pm860x-core.c:		switch (chip->id) {
+drivers/mfd/88pm860x-core.c:			device_8606_init(chip, chip->companion, pdata);
+drivers/mfd/88pm860x-core.c:			device_8607_init(chip, chip->companion, pdata);
+drivers/mfd/88pm860x-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/88pm860x-core.c:	chip->id = verify_addr(client);
+drivers/mfd/88pm860x-core.c:	chip->regmap = devm_regmap_init_i2c(client, &pm860x_regmap_config);
+drivers/mfd/88pm860x-core.c:	if (IS_ERR(chip->regmap)) {
+drivers/mfd/88pm860x-core.c:		ret = PTR_ERR(chip->regmap);
+drivers/mfd/88pm860x-core.c:	chip->client = client;
+drivers/mfd/88pm860x-core.c:	chip->dev = &client->dev;
+drivers/mfd/88pm860x-core.c:	dev_set_drvdata(chip->dev, chip);
+drivers/mfd/88pm860x-core.c:		chip->companion_addr = pdata->companion_addr;
+drivers/mfd/88pm860x-core.c:		chip->companion = i2c_new_dummy_device(chip->client->adapter,
+drivers/mfd/88pm860x-core.c:						chip->companion_addr);
+drivers/mfd/88pm860x-core.c:		if (IS_ERR(chip->companion)) {
+drivers/mfd/88pm860x-core.c:			return PTR_ERR(chip->companion);
+drivers/mfd/88pm860x-core.c:		chip->regmap_companion = regmap_init_i2c(chip->companion,
+drivers/mfd/88pm860x-core.c:		if (IS_ERR(chip->regmap_companion)) {
+drivers/mfd/88pm860x-core.c:			ret = PTR_ERR(chip->regmap_companion);
+drivers/mfd/88pm860x-core.c:			dev_err(&chip->companion->dev,
+drivers/mfd/88pm860x-core.c:			i2c_unregister_device(chip->companion);
+drivers/mfd/88pm860x-core.c:		i2c_set_clientdata(chip->companion, chip);
+drivers/mfd/88pm860x-core.c:	if (chip->companion) {
+drivers/mfd/88pm860x-core.c:		regmap_exit(chip->regmap_companion);
+drivers/mfd/88pm860x-core.c:		i2c_unregister_device(chip->companion);
+drivers/mfd/88pm860x-core.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/88pm860x-core.c:		enable_irq_wake(chip->core_irq);
+drivers/mfd/88pm860x-core.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/88pm860x-core.c:		disable_irq_wake(chip->core_irq);
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/88pm860x-i2c.c:	struct regmap *map = (i2c == chip->client) ? chip->regmap
+drivers/mfd/88pm860x-i2c.c:				: chip->regmap_companion;
+drivers/mfd/ab3100-core.c: * and some basic chip-configuration.
+drivers/mfd/adp5520.c:	mutex_lock(&chip->lock);
+drivers/mfd/adp5520.c:	mutex_unlock(&chip->lock);
+drivers/mfd/adp5520.c:	mutex_lock(&chip->lock);
+drivers/mfd/adp5520.c:	ret = __adp5520_read(chip->client, reg, &reg_val);
+drivers/mfd/adp5520.c:		ret = __adp5520_write(chip->client, reg, reg_val);
+drivers/mfd/adp5520.c:	mutex_unlock(&chip->lock);
+drivers/mfd/adp5520.c:	mutex_lock(&chip->lock);
+drivers/mfd/adp5520.c:	ret = __adp5520_read(chip->client, reg, &reg_val);
+drivers/mfd/adp5520.c:		ret = __adp5520_write(chip->client, reg, reg_val);
+drivers/mfd/adp5520.c:	mutex_unlock(&chip->lock);
+drivers/mfd/adp5520.c:	if (chip->irq) {
+drivers/mfd/adp5520.c:		adp5520_set_bits(chip->dev, ADP5520_INTERRUPT_ENABLE,
+drivers/mfd/adp5520.c:		return blocking_notifier_chain_register(&chip->notifier_list,
+drivers/mfd/adp5520.c:	adp5520_clr_bits(chip->dev, ADP5520_INTERRUPT_ENABLE,
+drivers/mfd/adp5520.c:	return blocking_notifier_chain_unregister(&chip->notifier_list, nb);
+drivers/mfd/adp5520.c:	ret = __adp5520_read(chip->client, ADP5520_MODE_STATUS, &reg_val);
+drivers/mfd/adp5520.c:	blocking_notifier_call_chain(&chip->notifier_list, events, NULL);
+drivers/mfd/adp5520.c:	__adp5520_ack_bits(chip->client, ADP5520_MODE_STATUS, events);
+drivers/mfd/adp5520.c:	return device_for_each_child(chip->dev, NULL, __remove_subdev);
+drivers/mfd/adp5520.c:	chip->client = client;
+drivers/mfd/adp5520.c:	chip->dev = &client->dev;
+drivers/mfd/adp5520.c:	chip->irq = client->irq;
+drivers/mfd/adp5520.c:	chip->id = id->driver_data;
+drivers/mfd/adp5520.c:	mutex_init(&chip->lock);
+drivers/mfd/adp5520.c:	if (chip->irq) {
+drivers/mfd/adp5520.c:		BLOCKING_INIT_NOTIFIER_HEAD(&chip->notifier_list);
+drivers/mfd/adp5520.c:		ret = request_threaded_irq(chip->irq, NULL, adp5520_irq_thread,
+drivers/mfd/adp5520.c:					chip->irq);
+drivers/mfd/adp5520.c:	ret = adp5520_write(chip->dev, ADP5520_MODE_STATUS, ADP5520_nSTNBY);
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev, "adp5520-keys",
+drivers/mfd/adp5520.c:				chip->id, pdata->keys, sizeof(*pdata->keys));
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev, "adp5520-gpio",
+drivers/mfd/adp5520.c:				chip->id, pdata->gpio, sizeof(*pdata->gpio));
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev, "adp5520-led",
+drivers/mfd/adp5520.c:				chip->id, pdata->leds, sizeof(*pdata->leds));
+drivers/mfd/adp5520.c:		pdev = platform_device_register_data(chip->dev,
+drivers/mfd/adp5520.c:						chip->id,
+drivers/mfd/adp5520.c:	if (chip->irq)
+drivers/mfd/adp5520.c:		free_irq(chip->irq, chip);
+drivers/mfd/adp5520.c:	adp5520_read(chip->dev, ADP5520_MODE_STATUS, &chip->mode);
+drivers/mfd/adp5520.c:	chip->mode &= ADP5520_BL_EN | ADP5520_DIM_EN | ADP5520_nSTNBY;
+drivers/mfd/adp5520.c:	adp5520_write(chip->dev, ADP5520_MODE_STATUS, 0);
+drivers/mfd/adp5520.c:	adp5520_write(chip->dev, ADP5520_MODE_STATUS, chip->mode);
+drivers/mfd/asic3.c:	data->chip->irq_ack(data);
+drivers/mfd/da903x.c:	chip->ops->unmask_events(chip, events);
+drivers/mfd/da903x.c:	return blocking_notifier_chain_register(&chip->notifier_list, nb);
+drivers/mfd/da903x.c:	chip->ops->mask_events(chip, events);
+drivers/mfd/da903x.c:	return blocking_notifier_chain_unregister(&chip->notifier_list, nb);
+drivers/mfd/da903x.c:	mutex_lock(&chip->lock);
+drivers/mfd/da903x.c:	ret = __da903x_read(chip->client, reg, &reg_val);
+drivers/mfd/da903x.c:		ret = __da903x_write(chip->client, reg, reg_val);
+drivers/mfd/da903x.c:	mutex_unlock(&chip->lock);
+drivers/mfd/da903x.c:	mutex_lock(&chip->lock);
+drivers/mfd/da903x.c:	ret = __da903x_read(chip->client, reg, &reg_val);
+drivers/mfd/da903x.c:		ret = __da903x_write(chip->client, reg, reg_val);
+drivers/mfd/da903x.c:	mutex_unlock(&chip->lock);
+drivers/mfd/da903x.c:	mutex_lock(&chip->lock);
+drivers/mfd/da903x.c:	ret = __da903x_read(chip->client, reg, &reg_val);
+drivers/mfd/da903x.c:		ret = __da903x_write(chip->client, reg, reg_val);
+drivers/mfd/da903x.c:	mutex_unlock(&chip->lock);
+drivers/mfd/da903x.c:	chip->ops->read_status(chip, &status);
+drivers/mfd/da903x.c:	err = __da903x_read(chip->client, DA9030_CHIP_ID, &chip_id);
+drivers/mfd/da903x.c:	err = __da903x_write(chip->client, DA9030_SYS_CTRL_A, 0xE8);
+drivers/mfd/da903x.c:	dev_info(chip->dev, "DA9030 (CHIP ID: 0x%02x) detected\n", chip_id);
+drivers/mfd/da903x.c:	chip->events_mask &= ~events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9030_IRQ_MASK_A, 3, v);
+drivers/mfd/da903x.c:	chip->events_mask |= events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9030_IRQ_MASK_A, 3, v);
+drivers/mfd/da903x.c:	ret = __da903x_reads(chip->client, DA9030_EVENT_A, 3, v);
+drivers/mfd/da903x.c:	return __da903x_read(chip->client, DA9030_STATUS, (uint8_t *)status);
+drivers/mfd/da903x.c:	err = __da903x_read(chip->client, DA9034_CHIP_ID, &chip_id);
+drivers/mfd/da903x.c:	err = __da903x_write(chip->client, DA9034_SYS_CTRL_A, 0xE8);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x10, 0x07);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x11, 0xff);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x12, 0xff);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, DA9034_SYS_CTRL_B, 0x20);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, DA9034_SYS_CTRL_A, 0x60);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x90, 0x01);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0xB0, 0x08);
+drivers/mfd/da903x.c:	__da903x_write(chip->client, 0x20, 0x00);
+drivers/mfd/da903x.c:	dev_info(chip->dev, "DA9034 (CHIP ID: 0x%02x) detected\n", chip_id);
+drivers/mfd/da903x.c:	chip->events_mask &= ~events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	v[3] = (chip->events_mask >> 24) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9034_IRQ_MASK_A, 4, v);
+drivers/mfd/da903x.c:	chip->events_mask |= events;
+drivers/mfd/da903x.c:	v[0] = (chip->events_mask & 0xff);
+drivers/mfd/da903x.c:	v[1] = (chip->events_mask >> 8) & 0xff;
+drivers/mfd/da903x.c:	v[2] = (chip->events_mask >> 16) & 0xff;
+drivers/mfd/da903x.c:	v[3] = (chip->events_mask >> 24) & 0xff;
+drivers/mfd/da903x.c:	return __da903x_writes(chip->client, DA9034_IRQ_MASK_A, 4, v);
+drivers/mfd/da903x.c:	ret = __da903x_reads(chip->client, DA9034_EVENT_A, 4, v);
+drivers/mfd/da903x.c:	ret = __da903x_reads(chip->client, DA9034_STATUS_A, 2, v);
+drivers/mfd/da903x.c:		if (chip->ops->read_events(chip, &events))
+drivers/mfd/da903x.c:		events &= ~chip->events_mask;
+drivers/mfd/da903x.c:				&chip->notifier_list, events, NULL);
+drivers/mfd/da903x.c:	enable_irq(chip->client->irq);
+drivers/mfd/da903x.c:	(void)schedule_work(&chip->irq_work);
+drivers/mfd/da903x.c:	return device_for_each_child(chip->dev, NULL, __remove_subdev);
+drivers/mfd/da903x.c:		pdev->dev.parent = chip->dev;
+drivers/mfd/da903x.c:	chip->client = client;
+drivers/mfd/da903x.c:	chip->dev = &client->dev;
+drivers/mfd/da903x.c:	chip->ops = &da903x_ops[id->driver_data];
+drivers/mfd/da903x.c:	mutex_init(&chip->lock);
+drivers/mfd/da903x.c:	INIT_WORK(&chip->irq_work, da903x_irq_work);
+drivers/mfd/da903x.c:	BLOCKING_INIT_NOTIFIER_HEAD(&chip->notifier_list);
+drivers/mfd/da903x.c:	ret = chip->ops->init_chip(chip);
+drivers/mfd/da903x.c:	chip->events_mask = 0xffffffff;
+drivers/mfd/da903x.c:	chip->ops->mask_events(chip, chip->events_mask);
+drivers/mfd/da903x.c:	chip->ops->read_events(chip, &tmp);
+drivers/mfd/da9062-core.c:	ret = regmap_read(chip->regmap, DA9062AA_FAULT_LOG, &fault_log);
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: TWD_ERROR\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: POR\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: VDD_FAULT\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: VDD_START\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: TEMP_CRIT\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: KEY_RESET\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: NSHUTDOWN\n");
+drivers/mfd/da9062-core.c:			dev_dbg(chip->dev, "Fault log entry detected: WAIT_SHUT\n");
+drivers/mfd/da9062-core.c:		ret = regmap_write(chip->regmap, DA9062AA_FAULT_LOG,
+drivers/mfd/da9062-core.c:	ret = regmap_read(chip->regmap, DA9062AA_DEVICE_ID, &device_id);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Cannot read chip ID.\n");
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Invalid device ID: 0x%02x\n", device_id);
+drivers/mfd/da9062-core.c:	ret = regmap_read(chip->regmap, DA9062AA_VARIANT_ID, &variant_id);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Cannot read chip variant id.\n");
+drivers/mfd/da9062-core.c:	dev_info(chip->dev,
+drivers/mfd/da9062-core.c:		dev_err(chip->dev,
+drivers/mfd/da9062-core.c:		chip->chip_type = (uintptr_t)match->data;
+drivers/mfd/da9062-core.c:		chip->chip_type = id->driver_data;
+drivers/mfd/da9062-core.c:	chip->dev = &i2c->dev;
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "No IRQ configured\n");
+drivers/mfd/da9062-core.c:	switch (chip->chip_type) {
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Unrecognised chip type\n");
+drivers/mfd/da9062-core.c:	chip->regmap = devm_regmap_init_i2c(i2c, config);
+drivers/mfd/da9062-core.c:	if (IS_ERR(chip->regmap)) {
+drivers/mfd/da9062-core.c:		ret = PTR_ERR(chip->regmap);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/mfd/da9062-core.c:		dev_warn(chip->dev, "Cannot clear fault log\n");
+drivers/mfd/da9062-core.c:	ret = regmap_add_irq_chip(chip->regmap, i2c->irq,
+drivers/mfd/da9062-core.c:			&chip->regmap_irq);
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Failed to request IRQ %d: %d\n",
+drivers/mfd/da9062-core.c:	irq_base = regmap_irq_chip_get_base(chip->regmap_irq);
+drivers/mfd/da9062-core.c:	ret = mfd_add_devices(chip->dev, PLATFORM_DEVID_NONE, cell,
+drivers/mfd/da9062-core.c:		dev_err(chip->dev, "Cannot register child devices\n");
+drivers/mfd/da9062-core.c:		regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
+drivers/mfd/da9062-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/da9062-core.c:	regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
+drivers/mfd/da9063-core.c:		 "Device detected (chip-ID: 0x%02X, var-ID: 0x%02X)\n",
+drivers/mfd/ezx-pcap.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+drivers/mfd/htc-i2cpld.c:	chip->irqs_enabled &= ~(1 << (data->irq - chip->irq_start));
+drivers/mfd/htc-i2cpld.c:	pr_debug("HTCPLD mask %d %04x\n", data->irq, chip->irqs_enabled);
+drivers/mfd/htc-i2cpld.c:	chip->irqs_enabled |= 1 << (data->irq - chip->irq_start);
+drivers/mfd/htc-i2cpld.c:	pr_debug("HTCPLD unmask %d %04x\n", data->irq, chip->irqs_enabled);
+drivers/mfd/htc-i2cpld.c:	chip->flow_type = flags;
+drivers/mfd/htc-i2cpld.c:		if (chip->nirqs == 0)
+drivers/mfd/htc-i2cpld.c:		client = chip->client;
+drivers/mfd/htc-i2cpld.c:		val = i2c_smbus_read_byte_data(client, chip->cache_out);
+drivers/mfd/htc-i2cpld.c:			dev_warn(chip->dev, "Unable to read from chip: %d\n",
+drivers/mfd/htc-i2cpld.c:		spin_lock_irqsave(&chip->lock, flags);
+drivers/mfd/htc-i2cpld.c:		old_val = chip->cache_in;
+drivers/mfd/htc-i2cpld.c:		chip->cache_in = uval;
+drivers/mfd/htc-i2cpld.c:		spin_unlock_irqrestore(&chip->lock, flags);
+drivers/mfd/htc-i2cpld.c:		for (irqpin = 0; irqpin < chip->nirqs; irqpin++) {
+drivers/mfd/htc-i2cpld.c:			unsigned oldb, newb, type = chip->flow_type;
+drivers/mfd/htc-i2cpld.c:			irq = chip->irq_start + irqpin;
+drivers/mfd/htc-i2cpld.c:	if (!strncmp(chip->label, "htcpld-out", 10)) {
+drivers/mfd/htc-i2cpld.c:	} else if (!strncmp(chip->label, "htcpld-in", 9)) {
+drivers/mfd/htc-i2cpld.c:	return (offset < chip->ngpio) ? 0 : -EINVAL;
+drivers/mfd/htc-i2cpld.c:	irq_end = chip->irq_start + chip->nirqs;
+drivers/mfd/htc-i2cpld.c:	for (irq = chip->irq_start; irq < irq_end; irq++) {
+drivers/mfd/htc-i2cpld.c:	chip->client = client;
+drivers/mfd/htc-i2cpld.c:	chip->cache_in = i2c_smbus_read_byte_data(client, chip->cache_out);
+drivers/mfd/htc-i2cpld.c:	i2c_unregister_device(chip->client);
+drivers/mfd/htc-i2cpld.c:	gpio_chip = &(chip->chip_out);
+drivers/mfd/htc-i2cpld.c:	gpio_chip->label           = "htcpld-out";
+drivers/mfd/htc-i2cpld.c:	gpio_chip->parent             = dev;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->owner           = THIS_MODULE;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->get             = htcpld_chip_get;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->set             = htcpld_chip_set;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_input = NULL;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_output = htcpld_direction_output;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->base            = plat_chip_data->gpio_out_base;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->ngpio           = plat_chip_data->num_gpios;
+drivers/mfd/htc-i2cpld.c:	gpio_chip = &(chip->chip_in);
+drivers/mfd/htc-i2cpld.c:	gpio_chip->label           = "htcpld-in";
+drivers/mfd/htc-i2cpld.c:	gpio_chip->parent             = dev;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->owner           = THIS_MODULE;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->get             = htcpld_chip_get;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->set             = NULL;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_input = htcpld_direction_input;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->direction_output = NULL;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->to_irq          = htcpld_chip_to_irq;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->base            = plat_chip_data->gpio_in_base;
+drivers/mfd/htc-i2cpld.c:	gpio_chip->ngpio           = plat_chip_data->num_gpios;
+drivers/mfd/htc-i2cpld.c:	ret = gpiochip_add_data(&(chip->chip_out), chip);
+drivers/mfd/htc-i2cpld.c:	ret = gpiochip_add_data(&(chip->chip_in), chip);
+drivers/mfd/htc-i2cpld.c:		gpiochip_remove(&(chip->chip_out));
+drivers/mfd/intel_soc_pmic_bxtwc.c:			pirq, chip->name, irq);
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_INTENLBT,
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to set GLBLM: %d\n", ret);
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_INTENLBT,
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to reset GLBLM: %d\n", ret);
+drivers/mfd/max77620.c:	switch (chip->chip_id) {
+drivers/mfd/max77620.c:	struct device *dev = chip->dev;
+drivers/mfd/max77620.c:	switch (chip->chip_id) {
+drivers/mfd/max77620.c:		chip->shutdown_fps_period[fps_id] = min(param_val,
+drivers/mfd/max77620.c:				chip->shutdown_fps_period[fps_id]);
+drivers/mfd/max77620.c:		chip->suspend_fps_period[fps_id] = min(param_val,
+drivers/mfd/max77620.c:	if (!chip->sleep_enable && !chip->enable_global_lpm) {
+drivers/mfd/max77620.c:				chip->sleep_enable = true;
+drivers/mfd/max77620.c:				chip->enable_global_lpm = true;
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_FPS_CFG0 + fps_id,
+drivers/mfd/max77620.c:	struct device *dev = chip->dev;
+drivers/mfd/max77620.c:		chip->shutdown_fps_period[fps_id] = -1;
+drivers/mfd/max77620.c:		chip->suspend_fps_period[fps_id] = -1;
+drivers/mfd/max77620.c:	config = chip->enable_global_lpm ? MAX77620_ONOFFCNFG2_SLP_LPM_MSK : 0;
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX77663)
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max77620.c:	if ((chip->chip_id == MAX20024) && chip->sleep_enable) {
+drivers/mfd/max77620.c:		ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1,
+drivers/mfd/max77620.c:		ret = regmap_read(chip->rmap, i, &val);
+drivers/mfd/max77620.c:			dev_err(chip->dev, "Failed to read CID: %d\n", ret);
+drivers/mfd/max77620.c:		dev_dbg(chip->dev, "CID%d: 0x%02x\n",
+drivers/mfd/max77620.c:	dev_info(chip->dev, "PMIC Version OTP:0x%02X and ES:0x%X\n",
+drivers/mfd/max77620.c:	regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1,
+drivers/mfd/max77620.c:	chip->dev = &client->dev;
+drivers/mfd/max77620.c:	chip->chip_irq = client->irq;
+drivers/mfd/max77620.c:	chip->chip_id = (enum max77620_chip_id)id->driver_data;
+drivers/mfd/max77620.c:	switch (chip->chip_id) {
+drivers/mfd/max77620.c:		dev_err(chip->dev, "ChipID is invalid %d\n", chip->chip_id);
+drivers/mfd/max77620.c:	chip->rmap = devm_regmap_init_i2c(client, rmap_config);
+drivers/mfd/max77620.c:	if (IS_ERR(chip->rmap)) {
+drivers/mfd/max77620.c:		ret = PTR_ERR(chip->rmap);
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to initialise regmap: %d\n", ret);
+drivers/mfd/max77620.c:	ret = devm_regmap_add_irq_chip(chip->dev, chip->rmap, client->irq,
+drivers/mfd/max77620.c:				       &chip->top_irq_data);
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to add regmap irq: %d\n", ret);
+drivers/mfd/max77620.c:	ret =  devm_mfd_add_devices(chip->dev, PLATFORM_DEVID_NONE,
+drivers/mfd/max77620.c:				    regmap_irq_get_domain(chip->top_irq_data));
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to add MFD children: %d\n", ret);
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_FPS_CFG0 + fps_id,
+drivers/mfd/max77620.c:		dev_err(chip->dev, "Failed to update FPS period: %d\n", ret);
+drivers/mfd/max77620.c:		if (chip->suspend_fps_period[fps] < 0)
+drivers/mfd/max77620.c:					      chip->suspend_fps_period[fps]);
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX20024)
+drivers/mfd/max77620.c:	config = (chip->sleep_enable) ? MAX77620_ONOFFCNFG1_SLPEN : 0;
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1,
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX77663)
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max77620.c:		if (chip->shutdown_fps_period[fps] < 0)
+drivers/mfd/max77620.c:					      chip->shutdown_fps_period[fps]);
+drivers/mfd/max77620.c:	if (chip->chip_id == MAX20024 || chip->chip_id == MAX77663)
+drivers/mfd/max77620.c:	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
+drivers/mfd/max8925-core.c:	return &max8925_irqs[irq - chip->irq_base];
+drivers/mfd/max8925-core.c:			i2c = chip->rtc;
+drivers/mfd/max8925-core.c:			i2c = chip->adc;
+drivers/mfd/max8925-core.c:			i2c = chip->i2c;
+drivers/mfd/max8925-core.c:			handle_nested_irq(chip->irq_base + i);
+drivers/mfd/max8925-core.c:			i2c = chip->rtc;
+drivers/mfd/max8925-core.c:			i2c = chip->adc;
+drivers/mfd/max8925-core.c:			i2c = chip->i2c;
+drivers/mfd/max8925-core.c:			handle_nested_irq(chip->irq_base + i);
+drivers/mfd/max8925-core.c:	mutex_lock(&chip->irq_lock);
+drivers/mfd/max8925-core.c:			dev_err(chip->dev, "wrong IRQ\n");
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ2_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK,
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, irq_rtc);
+drivers/mfd/max8925-core.c:		max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, irq_tsc);
+drivers/mfd/max8925-core.c:	mutex_unlock(&chip->irq_lock);
+drivers/mfd/max8925-core.c:	max8925_irqs[data->irq - chip->irq_base].enable
+drivers/mfd/max8925-core.c:		= max8925_irqs[data->irq - chip->irq_base].offs;
+drivers/mfd/max8925-core.c:	max8925_irqs[data->irq - chip->irq_base].enable = 0;
+drivers/mfd/max8925-core.c:	struct device_node *node = chip->dev->of_node;
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_CHG_IRQ1);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_CHG_IRQ2);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ1);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ2);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->rtc, MAX8925_RTC_IRQ);
+drivers/mfd/max8925-core.c:	max8925_reg_read(chip->adc, MAX8925_TSC_IRQ);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->rtc, MAX8925_ALARM0_CNTL, 0);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->rtc, MAX8925_ALARM1_CNTL, 0);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ2_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK, 0xff);
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, 0xff);
+drivers/mfd/max8925-core.c:	mutex_init(&chip->irq_lock);
+drivers/mfd/max8925-core.c:	chip->irq_base = irq_alloc_descs(-1, 0, MAX8925_NR_IRQS, 0);
+drivers/mfd/max8925-core.c:	if (chip->irq_base < 0) {
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to allocate interrupts, ret:%d\n",
+drivers/mfd/max8925-core.c:			chip->irq_base);
+drivers/mfd/max8925-core.c:	irq_domain_add_legacy(node, MAX8925_NR_IRQS, chip->irq_base, 0,
+drivers/mfd/max8925-core.c:	chip->core_irq = irq;
+drivers/mfd/max8925-core.c:	if (!chip->core_irq)
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to request core IRQ: %d\n", ret);
+drivers/mfd/max8925-core.c:		chip->core_irq = 0;
+drivers/mfd/max8925-core.c:	max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, 0x0f);
+drivers/mfd/max8925-core.c:		dev_warn(chip->dev, "No interrupt support on TSC IRQ\n");
+drivers/mfd/max8925-core.c:	chip->tsc_irq = pdata->tsc_irq;
+drivers/mfd/max8925-core.c:	ret = request_threaded_irq(chip->tsc_irq, NULL, max8925_tsc_irq,
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to request TSC IRQ: %d\n", ret);
+drivers/mfd/max8925-core.c:		chip->tsc_irq = 0;
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, reg_devs, ARRAY_SIZE(reg_devs),
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add regulator subdev\n");
+drivers/mfd/max8925-core.c:	max8925_irq_init(chip, chip->i2c->irq, pdata);
+drivers/mfd/max8925-core.c:		max8925_set_bits(chip->i2c, MAX8925_RESET_CNFG, 1, 1);
+drivers/mfd/max8925-core.c:		max8925_set_bits(chip->adc, MAX8925_TSC_CNFG1, 3, 2);
+drivers/mfd/max8925-core.c:			ret = max8925_reg_read(chip->adc, MAX8925_TSC_IRQ);
+drivers/mfd/max8925-core.c:		max8925_set_bits(chip->adc, MAX8925_ADC_SCHED, 3, 2);
+drivers/mfd/max8925-core.c:	max8925_set_bits(chip->rtc, MAX8925_MPL_CNTL, 1 << 4, 1 << 4);
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0],
+drivers/mfd/max8925-core.c:			      NULL, chip->irq_base, NULL);
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add rtc subdev\n");
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+drivers/mfd/max8925-core.c:			      NULL, chip->irq_base, NULL);
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add onkey subdev\n");
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, bk_devs, ARRAY_SIZE(bk_devs),
+drivers/mfd/max8925-core.c:		dev_err(chip->dev, "Failed to add backlight subdev\n");
+drivers/mfd/max8925-core.c:	ret = mfd_add_devices(chip->dev, 0, &power_devs[0],
+drivers/mfd/max8925-core.c:		dev_err(chip->dev,
+drivers/mfd/max8925-core.c:		ret = mfd_add_devices(chip->dev, 0, &touch_devs[0],
+drivers/mfd/max8925-core.c:				      NULL, chip->tsc_irq, NULL);
+drivers/mfd/max8925-core.c:			dev_err(chip->dev, "Failed to add touch subdev\n");
+drivers/mfd/max8925-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/max8925-core.c:	if (chip->core_irq)
+drivers/mfd/max8925-core.c:		free_irq(chip->core_irq, chip);
+drivers/mfd/max8925-core.c:	if (chip->tsc_irq)
+drivers/mfd/max8925-core.c:		free_irq(chip->tsc_irq, chip);
+drivers/mfd/max8925-core.c:	mfd_remove_devices(chip->dev);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_lock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	mutex_unlock(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	chip->i2c = client;
+drivers/mfd/max8925-i2c.c:	chip->dev = &client->dev;
+drivers/mfd/max8925-i2c.c:	dev_set_drvdata(chip->dev, chip);
+drivers/mfd/max8925-i2c.c:	mutex_init(&chip->io_lock);
+drivers/mfd/max8925-i2c.c:	chip->rtc = i2c_new_dummy_device(chip->i2c->adapter, RTC_I2C_ADDR);
+drivers/mfd/max8925-i2c.c:	if (IS_ERR(chip->rtc)) {
+drivers/mfd/max8925-i2c.c:		dev_err(chip->dev, "Failed to allocate I2C device for RTC\n");
+drivers/mfd/max8925-i2c.c:		return PTR_ERR(chip->rtc);
+drivers/mfd/max8925-i2c.c:	i2c_set_clientdata(chip->rtc, chip);
+drivers/mfd/max8925-i2c.c:	chip->adc = i2c_new_dummy_device(chip->i2c->adapter, ADC_I2C_ADDR);
+drivers/mfd/max8925-i2c.c:	if (IS_ERR(chip->adc)) {
+drivers/mfd/max8925-i2c.c:		dev_err(chip->dev, "Failed to allocate I2C device for ADC\n");
+drivers/mfd/max8925-i2c.c:		i2c_unregister_device(chip->rtc);
+drivers/mfd/max8925-i2c.c:		return PTR_ERR(chip->adc);
+drivers/mfd/max8925-i2c.c:	i2c_set_clientdata(chip->adc, chip);
+drivers/mfd/max8925-i2c.c:	i2c_unregister_device(chip->adc);
+drivers/mfd/max8925-i2c.c:	i2c_unregister_device(chip->rtc);
+drivers/mfd/max8925-i2c.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/max8925-i2c.c:		enable_irq_wake(chip->core_irq);
+drivers/mfd/max8925-i2c.c:	if (device_may_wakeup(dev) && chip->wakeup_flag)
+drivers/mfd/max8925-i2c.c:		disable_irq_wake(chip->core_irq);
+drivers/mfd/motorola-cpcap.c:	chip->irqs = &cpcap->irqs[irq_start];
+drivers/mfd/motorola-cpcap.c:	chip->num_irqs = nr_irqs;
+drivers/mfd/motorola-cpcap.c:	chip->irq_drv_data = cpcap;
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[0], chip->wake_mask[0]);
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[1], chip->wake_mask[1]);
+drivers/mfd/mt6397-core.c:	enable_irq_wake(chip->irq);
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[0], chip->irq_masks_cur[0]);
+drivers/mfd/mt6397-core.c:	regmap_write(chip->regmap, chip->int_con[1], chip->irq_masks_cur[1]);
+drivers/mfd/mt6397-core.c:	disable_irq_wake(chip->irq);
+drivers/mfd/mt6397-irq.c:	mutex_init(&chip->irqlock);
+drivers/mfd/mt6397-irq.c:	switch (chip->chip_id) {
+drivers/mfd/mt6397-irq.c:		chip->int_con[0] = MT6323_INT_CON0;
+drivers/mfd/mt6397-irq.c:		chip->int_con[1] = MT6323_INT_CON1;
+drivers/mfd/mt6397-irq.c:		chip->int_status[0] = MT6323_INT_STATUS0;
+drivers/mfd/mt6397-irq.c:		chip->int_status[1] = MT6323_INT_STATUS1;
+drivers/mfd/mt6397-irq.c:		chip->int_con[0] = MT6397_INT_CON0;
+drivers/mfd/mt6397-irq.c:		chip->int_con[1] = MT6397_INT_CON1;
+drivers/mfd/mt6397-irq.c:		chip->int_status[0] = MT6397_INT_STATUS0;
+drivers/mfd/mt6397-irq.c:		chip->int_status[1] = MT6397_INT_STATUS1;
+drivers/mfd/mt6397-irq.c:		dev_err(chip->dev, "unsupported chip: 0x%x\n", chip->chip_id);
+drivers/mfd/mt6397-irq.c:	regmap_write(chip->regmap, chip->int_con[0], 0x0);
+drivers/mfd/mt6397-irq.c:	regmap_write(chip->regmap, chip->int_con[1], 0x0);
+drivers/mfd/mt6397-irq.c:	chip->irq_domain = irq_domain_add_linear(chip->dev->of_node,
+drivers/mfd/mt6397-irq.c:	if (!chip->irq_domain) {
+drivers/mfd/mt6397-irq.c:		dev_err(chip->dev, "could not create irq domain\n");
+drivers/mfd/mt6397-irq.c:	ret = devm_request_threaded_irq(chip->dev, chip->irq, NULL,
+drivers/mfd/mt6397-irq.c:		dev_err(chip->dev, "failed to register irq=%d; err: %d\n",
+drivers/mfd/mt6397-irq.c:			chip->irq, ret);
+drivers/mfd/qcom-pm8xxx.c:	spin_lock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_IT_STATUS, ip);
+drivers/mfd/qcom-pm8xxx.c:	spin_unlock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	spin_lock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_CONFIG, cp);
+drivers/mfd/qcom-pm8xxx.c:	spin_unlock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:			irq = irq_find_mapping(chip->irqdomain, pmirq);
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_M_STATUS1 + master,
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_ROOT, &root);
+drivers/mfd/qcom-pm8xxx.c:	for (i = 0; i < chip->num_masters; i++)
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:			irq = irq_find_mapping(chip->irqdomain, pmirq);
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	ret = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	config = chip->config[pmirq] | PM_IRQF_MASK_ALL | PM_IRQF_CLR;
+drivers/mfd/qcom-pm8xxx.c:	config = chip->config[pmirq];
+drivers/mfd/qcom-pm8xxx.c:	chip->config[pmirq] = (irq_bit << PM_IRQF_BITS_SHIFT)
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_RE;
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_FE;
+drivers/mfd/qcom-pm8xxx.c:		chip->config[pmirq] |= PM_IRQF_LVL_SEL;
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_RE;
+drivers/mfd/qcom-pm8xxx.c:			chip->config[pmirq] &= ~PM_IRQF_MASK_FE;
+drivers/mfd/qcom-pm8xxx.c:	config = chip->config[pmirq] | PM_IRQF_CLR;
+drivers/mfd/qcom-pm8xxx.c:	spin_lock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, block);
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_read(chip->regmap, SSBI_REG_ADDR_IRQ_RT_STATUS, &bits);
+drivers/mfd/qcom-pm8xxx.c:	spin_unlock(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	irq_domain_set_info(domain, irq, hwirq, chip->pm_irq_data->irq_chip,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_update_bits(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_update_bits(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_update_bits(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	rc = regmap_read(chip->regmap,
+drivers/mfd/qcom-pm8xxx.c:	chip->regmap = regmap;
+drivers/mfd/qcom-pm8xxx.c:	chip->num_blocks = DIV_ROUND_UP(data->num_irqs, 8);
+drivers/mfd/qcom-pm8xxx.c:	chip->num_masters = DIV_ROUND_UP(chip->num_blocks, 8);
+drivers/mfd/qcom-pm8xxx.c:	chip->pm_irq_data = data;
+drivers/mfd/qcom-pm8xxx.c:	spin_lock_init(&chip->pm_irq_lock);
+drivers/mfd/qcom-pm8xxx.c:	chip->irqdomain = irq_domain_add_linear(pdev->dev.of_node,
+drivers/mfd/qcom-pm8xxx.c:	if (!chip->irqdomain)
+drivers/mfd/qcom-pm8xxx.c:		irq_domain_remove(chip->irqdomain);
+drivers/mfd/qcom-pm8xxx.c:	irq_domain_remove(chip->irqdomain);
+drivers/mfd/retu-mfd.c:	ret = retu_write(rdev, rdat->irq_chip->mask_base, 0xffff);
+drivers/mfd/sm501.c:	if (smc501_readl(smchip->control) & bit) {
+drivers/mfd/sm501.c:		dev_info(sm501_gpio_to_dev(smchip->ourgpio)->dev,
+drivers/mfd/sm501.c:		ctrl = smc501_readl(smchip->control);
+drivers/mfd/sm501.c:		smc501_writel(ctrl, smchip->control);
+drivers/mfd/sm501.c:		sm501_sync_regs(sm501_gpio_to_dev(smchip->ourgpio));
+drivers/mfd/sm501.c:	struct sm501_gpio *smgpio = smchip->ourgpio;
+drivers/mfd/sm501.c:	void __iomem *regs = smchip->regbase;
+drivers/mfd/sm501.c:	struct sm501_gpio *smgpio = smchip->ourgpio;
+drivers/mfd/sm501.c:	void __iomem *regs = smchip->regbase;
+drivers/mfd/sm501.c:	struct sm501_gpio *smgpio = smchip->ourgpio;
+drivers/mfd/sm501.c:	void __iomem *regs = smchip->regbase;
+drivers/mfd/sm501.c:	struct gpio_chip *gchip = &chip->gpio;
+drivers/mfd/sm501.c:	chip->gpio = gpio_chip_template;
+drivers/mfd/sm501.c:		chip->regbase = gpio->regs + SM501_GPIO_DATA_HIGH;
+drivers/mfd/sm501.c:		chip->control = sm->regs + SM501_GPIO63_32_CONTROL;
+drivers/mfd/sm501.c:		gchip->label  = "SM501-HIGH";
+drivers/mfd/sm501.c:		chip->regbase = gpio->regs + SM501_GPIO_DATA_LOW;
+drivers/mfd/sm501.c:		chip->control = sm->regs + SM501_GPIO31_0_CONTROL;
+drivers/mfd/sm501.c:		gchip->label  = "SM501-LOW";
+drivers/mfd/sm501.c:	gchip->base   = base;
+drivers/mfd/sm501.c:	chip->ourgpio = gpio;
+drivers/mfd/sm501.c:	/* Create a gpiod lookup using gpiochip-local offsets */
+drivers/mfd/vexpress-sysreg.c:	mmc_gpio_chip->ngpio = 2;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	if (chip->prox_en)
+drivers/misc/apds990x.c:	lux = lux * (APDS_CALIB_SCALER / 4) / (chip->lux_calib / 4);
+drivers/misc/apds990x.c:	cpl = ((u32)chip->atime * (u32)again[chip->again_next] *
+drivers/misc/apds990x.c:		APDS_PARAM_SCALE * 64) / (chip->cf.ga * chip->cf.df);
+drivers/misc/apds990x.c:	ir = (u32)chip->lux_ir * (u32)again[chip->again_next] /
+drivers/misc/apds990x.c:		(u32)again[chip->again_meas];
+drivers/misc/apds990x.c:	if (chip->lux_clear * APDS_PARAM_SCALE >=
+drivers/misc/apds990x.c:		chip->rcf.afactor * chip->lux_ir)
+drivers/misc/apds990x.c:		thres = (chip->rcf.cf1 * thres + chip->rcf.irf1 * ir) /
+drivers/misc/apds990x.c:		thres = (chip->rcf.cf2 * thres + chip->rcf.irf2 * ir) /
+drivers/misc/apds990x.c:	if (thres >= chip->a_max_result)
+drivers/misc/apds990x.c:		thres = chip->a_max_result - 1;
+drivers/misc/apds990x.c:	chip->atime = time_ms;
+drivers/misc/apds990x.c:	chip->a_max_result = (u16)(256 - reg_value) * APDS990X_TIME_TO_ADC;
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/apds990x.c:	if (data < chip->prox_thres) {
+drivers/misc/apds990x.c:		hi = chip->prox_thres;
+drivers/misc/apds990x.c:		lo = chip->prox_thres - APDS_PROX_HYSTERESIS;
+drivers/misc/apds990x.c:		if (chip->prox_continuous_mode)
+drivers/misc/apds990x.c:			hi = chip->prox_thres;
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/apds990x.c:			apds990x_lux_to_threshold(chip, chip->lux_thres_lo));
+drivers/misc/apds990x.c:			apds990x_lux_to_threshold(chip, chip->lux_thres_hi));
+drivers/misc/apds990x.c:	int curr_again = chip->again_meas;
+drivers/misc/apds990x.c:	int next_again = chip->again_meas;
+drivers/misc/apds990x.c:	if (chip->lux_clear == chip->a_max_result)
+drivers/misc/apds990x.c:	else if (chip->lux_clear > chip->a_max_result / 2)
+drivers/misc/apds990x.c:	else if (chip->lux_clear < APDS_LUX_GAIN_LO_LIMIT_STRICT)
+drivers/misc/apds990x.c:	else if (chip->lux_clear < APDS_LUX_GAIN_LO_LIMIT)
+drivers/misc/apds990x.c:	if (chip->lux_clear == chip->a_max_result)
+drivers/misc/apds990x.c:		chip->lux_clear < APDS_LUX_GAIN_LO_LIMIT_STRICT)
+drivers/misc/apds990x.c:	chip->again_next = next_again;
+drivers/misc/apds990x.c:			(chip->pdrive << 6) |
+drivers/misc/apds990x.c:			(chip->pdiode << 4) |
+drivers/misc/apds990x.c:			(chip->pgain << 2) |
+drivers/misc/apds990x.c:			(chip->again_next << 0));
+drivers/misc/apds990x.c:	iac1 = (chip->cf.cf1 * clear - chip->cf.irf1 * ir) / APDS_PARAM_SCALE;
+drivers/misc/apds990x.c:	iac2 = (chip->cf.cf2 * clear - chip->cf.irf2 * ir) / APDS_PARAM_SCALE;
+drivers/misc/apds990x.c:	lpc = APDS990X_LUX_OUTPUT_SCALE * (chip->cf.df * chip->cf.ga) /
+drivers/misc/apds990x.c:		(u32)(again[chip->again_meas] * (u32)chip->atime);
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	if (!pm_runtime_suspended(&chip->client->dev)) {
+drivers/misc/apds990x.c:					&chip->lux_clear);
+drivers/misc/apds990x.c:					&chip->lux_ir);
+drivers/misc/apds990x.c:			chip->again_meas = chip->again_next;
+drivers/misc/apds990x.c:			chip->lux_raw = apds990x_get_lux(chip,
+drivers/misc/apds990x.c:							chip->lux_clear,
+drivers/misc/apds990x.c:							chip->lux_ir);
+drivers/misc/apds990x.c:				chip->lux = chip->lux_raw;
+drivers/misc/apds990x.c:				chip->lux_wait_fresh_res = false;
+drivers/misc/apds990x.c:				wake_up(&chip->wait);
+drivers/misc/apds990x.c:				sysfs_notify(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:		if ((status & APDS990X_ST_PINT) && chip->prox_en) {
+drivers/misc/apds990x.c:			if (chip->again_meas == 0 &&
+drivers/misc/apds990x.c:				clr_ch == chip->a_max_result)
+drivers/misc/apds990x.c:				chip->prox_data = 0;
+drivers/misc/apds990x.c:						&chip->prox_data);
+drivers/misc/apds990x.c:			apds990x_refresh_pthres(chip, chip->prox_data);
+drivers/misc/apds990x.c:			if (chip->prox_data < chip->prox_thres)
+drivers/misc/apds990x.c:				chip->prox_data = 0;
+drivers/misc/apds990x.c:			else if (!chip->prox_continuous_mode)
+drivers/misc/apds990x.c:				chip->prox_data = APDS_PROX_RANGE;
+drivers/misc/apds990x.c:			sysfs_notify(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:			(chip->lux_persistence << APDS990X_APERS_SHIFT) |
+drivers/misc/apds990x.c:			(chip->prox_persistence << APDS990X_PPERS_SHIFT));
+drivers/misc/apds990x.c:	apds990x_write_byte(chip, APDS990X_PPCOUNT, chip->pdata->ppcount);
+drivers/misc/apds990x.c:	chip->again_meas = 1;
+drivers/misc/apds990x.c:	chip->again_next = 1;
+drivers/misc/apds990x.c:			(chip->pdrive << 6) |
+drivers/misc/apds990x.c:			(chip->pdiode << 4) |
+drivers/misc/apds990x.c:			(chip->pgain << 2) |
+drivers/misc/apds990x.c:			(chip->again_next << 0));
+drivers/misc/apds990x.c:	struct i2c_client *client = chip->client;
+drivers/misc/apds990x.c:	ret = apds990x_read_byte(chip, APDS990X_REV, &chip->revision);
+drivers/misc/apds990x.c:		snprintf(chip->chipname, sizeof(chip->chipname), "APDS-990x");
+drivers/misc/apds990x.c:	int err	 = regulator_bulk_enable(ARRAY_SIZE(chip->regs),
+drivers/misc/apds990x.c:					chip->regs);
+drivers/misc/apds990x.c:	chip->prox_data = 0;
+drivers/misc/apds990x.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	timeout = wait_event_interruptible_timeout(chip->wait,
+drivers/misc/apds990x.c:						!chip->lux_wait_fresh_res,
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	result = (chip->lux * chip->lux_calib) / APDS_CALIB_SCALER;
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	return sprintf(buf, "%u\n", chip->lux_calib);
+drivers/misc/apds990x.c:	chip->lux_calib = value;
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->arate);
+drivers/misc/apds990x.c:	chip->lux_persistence = apersis[i];
+drivers/misc/apds990x.c:	chip->arate = arates_hz[i];
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/apds990x.c:			(chip->lux_persistence << APDS990X_APERS_SHIFT) |
+drivers/misc/apds990x.c:			(chip->prox_persistence << APDS990X_PPERS_SHIFT));
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	if (pm_runtime_suspended(dev) || !chip->prox_en)
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	ret = sprintf(buf, "%d\n", chip->prox_data);
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->prox_en);
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	if (!chip->prox_en)
+drivers/misc/apds990x.c:		chip->prox_data = 0;
+drivers/misc/apds990x.c:		chip->prox_en++;
+drivers/misc/apds990x.c:	else if (chip->prox_en > 0)
+drivers/misc/apds990x.c:		chip->prox_en--;
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:		reporting_modes[!!chip->prox_continuous_mode]);
+drivers/misc/apds990x.c:	chip->prox_continuous_mode = ret;
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->lux_thres_hi);
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->lux_thres_lo);
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	if (!chip->lux_wait_fresh_res)
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	int ret = apds990x_set_lux_thresh(chip, &chip->lux_thres_hi, buf);
+drivers/misc/apds990x.c:	int ret = apds990x_set_lux_thresh(chip, &chip->lux_thres_lo, buf);
+drivers/misc/apds990x.c:	return sprintf(buf, "%d\n", chip->prox_thres);
+drivers/misc/apds990x.c:	mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:	chip->prox_thres = value;
+drivers/misc/apds990x.c:	mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:		mutex_lock(&chip->mutex);
+drivers/misc/apds990x.c:		chip->lux_wait_fresh_res = true;
+drivers/misc/apds990x.c:		mutex_unlock(&chip->mutex);
+drivers/misc/apds990x.c:	return sprintf(buf, "%s %d\n", chip->chipname, chip->revision);
+drivers/misc/apds990x.c:	chip->client  = client;
+drivers/misc/apds990x.c:	init_waitqueue_head(&chip->wait);
+drivers/misc/apds990x.c:	mutex_init(&chip->mutex);
+drivers/misc/apds990x.c:	chip->pdata	= client->dev.platform_data;
+drivers/misc/apds990x.c:	if (chip->pdata == NULL) {
+drivers/misc/apds990x.c:	if (chip->pdata->cf.ga == 0) {
+drivers/misc/apds990x.c:		chip->cf.ga = 1966; /* 0.48 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.cf1 = 4096; /* 1.00 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.irf1 = 9134; /* 2.23 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.cf2 = 2867; /* 0.70 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.irf2 = 5816; /* 1.42 * APDS_PARAM_SCALE */
+drivers/misc/apds990x.c:		chip->cf.df = 52;
+drivers/misc/apds990x.c:		chip->cf = chip->pdata->cf;
+drivers/misc/apds990x.c:	chip->rcf.afactor =
+drivers/misc/apds990x.c:		(chip->cf.irf1 - chip->cf.irf2) * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		(chip->cf.cf1 - chip->cf.cf2);
+drivers/misc/apds990x.c:	chip->rcf.cf1 = APDS_PARAM_SCALE * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf1;
+drivers/misc/apds990x.c:	chip->rcf.irf1 = chip->cf.irf1 * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf1;
+drivers/misc/apds990x.c:	chip->rcf.cf2 = APDS_PARAM_SCALE * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf2;
+drivers/misc/apds990x.c:	chip->rcf.irf2 = chip->cf.irf2 * APDS_PARAM_SCALE /
+drivers/misc/apds990x.c:		chip->cf.cf2;
+drivers/misc/apds990x.c:	chip->lux_thres_hi = APDS_LUX_DEF_THRES_HI;
+drivers/misc/apds990x.c:	chip->lux_thres_lo = APDS_LUX_DEF_THRES_LO;
+drivers/misc/apds990x.c:	chip->lux_calib = APDS_LUX_NEUTRAL_CALIB_VALUE;
+drivers/misc/apds990x.c:	chip->prox_thres = APDS_PROX_DEF_THRES;
+drivers/misc/apds990x.c:	chip->pdrive = chip->pdata->pdrive;
+drivers/misc/apds990x.c:	chip->pdiode = APDS_PDIODE_IR;
+drivers/misc/apds990x.c:	chip->pgain = APDS_PGAIN_1X;
+drivers/misc/apds990x.c:	chip->prox_calib = APDS_PROX_NEUTRAL_CALIB_VALUE;
+drivers/misc/apds990x.c:	chip->prox_persistence = APDS_DEFAULT_PROX_PERS;
+drivers/misc/apds990x.c:	chip->prox_continuous_mode = false;
+drivers/misc/apds990x.c:	chip->regs[0].supply = reg_vcc;
+drivers/misc/apds990x.c:	chip->regs[1].supply = reg_vled;
+drivers/misc/apds990x.c:				 ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	err = regulator_bulk_enable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	if (chip->pdata->setup_resources) {
+drivers/misc/apds990x.c:		err = chip->pdata->setup_resources();
+drivers/misc/apds990x.c:	err = sysfs_create_group(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:		dev_err(&chip->client->dev, "Sysfs registration failed\n");
+drivers/misc/apds990x.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:	if (chip->pdata && chip->pdata->release_resources)
+drivers/misc/apds990x.c:		chip->pdata->release_resources();
+drivers/misc/apds990x.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	regulator_bulk_free(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/apds990x.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/apds990x.c:	if (chip->pdata && chip->pdata->release_resources)
+drivers/misc/apds990x.c:		chip->pdata->release_resources();
+drivers/misc/apds990x.c:	regulator_bulk_free(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c: * interrupt control functions are called while keeping chip->mutex
+drivers/misc/bh1770glc.c:	chip->int_mode_lux = lux;
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:					(lux << 1) | chip->int_mode_prox);
+drivers/misc/bh1770glc.c:	chip->int_mode_prox = ps;
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:					(chip->int_mode_lux << 1) | (ps << 0));
+drivers/misc/bh1770glc.c:/* chip->mutex is always kept here */
+drivers/misc/bh1770glc.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/bh1770glc.c:	if (chip->prox_enable_count)
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:		chip->prox_rate_threshold : chip->prox_rate;
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:					chip->prox_led);
+drivers/misc/bh1770glc.c:	adjusted = (u16)(((u32)(psraw + chip->prox_const) * chip->prox_coef) /
+drivers/misc/bh1770glc.c:	raw = (((u32)ps * BH1770_COEF_SCALER) / chip->prox_coef);
+drivers/misc/bh1770glc.c:	if (raw > chip->prox_const)
+drivers/misc/bh1770glc.c:		raw = raw - chip->prox_const;
+drivers/misc/bh1770glc.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/bh1770glc.c:	tmp = bh1770_psadjusted_to_raw(chip, chip->prox_threshold);
+drivers/misc/bh1770glc.c:	chip->prox_threshold_hw = tmp;
+drivers/misc/bh1770glc.c:	return	i2c_smbus_write_byte_data(chip->client, BH1770_PS_TH_LED1,
+drivers/misc/bh1770glc.c:	lux = ((u32)raw * chip->lux_corr) / BH1770_LUX_CORR_SCALE;
+drivers/misc/bh1770glc.c:	return (u32)adjusted * BH1770_LUX_CORR_SCALE / chip->lux_corr;
+drivers/misc/bh1770glc.c:/* chip->mutex is kept when this is called */
+drivers/misc/bh1770glc.c:	if (pm_runtime_suspended(&chip->client->dev))
+drivers/misc/bh1770glc.c:	if (chip->lux_thres_hi_onchip == threshold_hi &&
+drivers/misc/bh1770glc.c:	    chip->lux_thres_lo_onchip == threshold_lo)
+drivers/misc/bh1770glc.c:	chip->lux_thres_hi_onchip = threshold_hi;
+drivers/misc/bh1770glc.c:	chip->lux_thres_lo_onchip = threshold_lo;
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_write_i2c_block_data(chip->client,
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_read_byte_data(chip->client, BH1770_ALS_DATA_0);
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_read_byte_data(chip->client, BH1770_ALS_DATA_1);
+drivers/misc/bh1770glc.c:	chip->lux_data_raw = data | ((ret & 0xff) << 8);
+drivers/misc/bh1770glc.c:	tmp = (BH1770_LUX_CORR_SCALE * chip->lux_ga) / BH1770_LUX_GA_SCALE;
+drivers/misc/bh1770glc.c:	tmp = (tmp * chip->lux_cf) / BH1770_LUX_CF_SCALE;
+drivers/misc/bh1770glc.c:	tmp = (tmp * chip->lux_calib) / BH1770_CALIB_SCALER;
+drivers/misc/bh1770glc.c:	return bh1770_lux_raw_to_adjusted(chip, chip->lux_data_raw);
+drivers/misc/bh1770glc.c:	int ret = regulator_bulk_enable(ARRAY_SIZE(chip->regs),
+drivers/misc/bh1770glc.c:					chip->regs);
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client, BH1770_ALS_CONTROL,
+drivers/misc/bh1770glc.c:	chip->lux_data_raw = 0;
+drivers/misc/bh1770glc.c:	chip->prox_data = 0;
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	chip->lux_thres_hi_onchip = BH1770_LUX_RANGE;
+drivers/misc/bh1770glc.c:	chip->lux_thres_lo_onchip = 0;
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:/* chip->mutex is kept when this is called */
+drivers/misc/bh1770glc.c:	if (chip->prox_enable_count) {
+drivers/misc/bh1770glc.c:		chip->prox_force_update = true; /* Force immediate update */
+drivers/misc/bh1770glc.c:		bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:		chip->prox_data = 0;
+drivers/misc/bh1770glc.c:		bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		i2c_smbus_write_byte_data(chip->client,
+drivers/misc/bh1770glc.c:/* chip->mutex is kept when this is called */
+drivers/misc/bh1770glc.c:	ret = i2c_smbus_read_byte_data(chip->client, BH1770_PS_DATA_LED1);
+drivers/misc/bh1770glc.c:	if (ret > chip->prox_threshold_hw)
+drivers/misc/bh1770glc.c:	if (chip->lux_data_raw > PROX_IGNORE_LUX_LIMIT)
+drivers/misc/bh1770glc.c:	chip->prox_data = bh1770_psraw_to_adjusted(chip, ret);
+drivers/misc/bh1770glc.c:	if (chip->prox_data >= chip->prox_abs_thres ||
+drivers/misc/bh1770glc.c:	    chip->prox_force_update)
+drivers/misc/bh1770glc.c:		chip->prox_persistence_counter = chip->prox_persistence;
+drivers/misc/bh1770glc.c:	chip->prox_force_update = false;
+drivers/misc/bh1770glc.c:		if (chip->prox_persistence_counter < chip->prox_persistence) {
+drivers/misc/bh1770glc.c:			chip->prox_persistence_counter++;
+drivers/misc/bh1770glc.c:		chip->prox_persistence_counter = 0;
+drivers/misc/bh1770glc.c:		chip->prox_data = 0;
+drivers/misc/bh1770glc.c:		sysfs_notify(&chip->client->dev.kobj, NULL, "prox0_raw");
+drivers/misc/bh1770glc.c:	struct i2c_client *client = chip->client;
+drivers/misc/bh1770glc.c:	chip->revision = (part & BH1770_REV_MASK) >> BH1770_REV_SHIFT;
+drivers/misc/bh1770glc.c:	chip->prox_coef = BH1770_COEF_SCALER;
+drivers/misc/bh1770glc.c:	chip->prox_const = 0;
+drivers/misc/bh1770glc.c:	chip->lux_cf = BH1770_NEUTRAL_CF;
+drivers/misc/bh1770glc.c:		snprintf(chip->chipname, sizeof(chip->chipname), "BH1770GLC");
+drivers/misc/bh1770glc.c:		snprintf(chip->chipname, sizeof(chip->chipname), "SFH7770");
+drivers/misc/bh1770glc.c:		chip->prox_coef = 819; /* 0.8 * BH1770_COEF_SCALER */
+drivers/misc/bh1770glc.c:		chip->prox_const = 40;
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	status = i2c_smbus_read_byte_data(chip->client, BH1770_ALS_PS_STATUS);
+drivers/misc/bh1770glc.c:	i2c_smbus_read_byte_data(chip->client, BH1770_INTERRUPT);
+drivers/misc/bh1770glc.c:		if (unlikely(chip->lux_wait_result)) {
+drivers/misc/bh1770glc.c:			chip->lux_wait_result = false;
+drivers/misc/bh1770glc.c:			wake_up(&chip->wait);
+drivers/misc/bh1770glc.c:						chip->lux_threshold_hi,
+drivers/misc/bh1770glc.c:						chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client, BH1770_INTERRUPT,
+drivers/misc/bh1770glc.c:		sysfs_notify(&chip->client->dev.kobj, NULL, "lux0_input");
+drivers/misc/bh1770glc.c:	if (chip->int_mode_prox && (status & BH1770_INT_LEDS_INT)) {
+drivers/misc/bh1770glc.c:		rate = prox_rates_ms[chip->prox_rate_threshold];
+drivers/misc/bh1770glc.c:	i2c_smbus_write_byte_data(chip->client, BH1770_INTERRUPT,
+drivers/misc/bh1770glc.c:				  (chip->int_mode_lux << 1) |
+drivers/misc/bh1770glc.c:				  (chip->int_mode_prox << 0));
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:		cancel_delayed_work_sync(&chip->prox_work);
+drivers/misc/bh1770glc.c:		schedule_delayed_work(&chip->prox_work,
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:		ret = bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		chip->lux_wait_result = true;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	timeout = wait_event_interruptible_timeout(chip->wait,
+drivers/misc/bh1770glc.c:					!chip->lux_wait_result,
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	if (!chip->prox_enable_count)
+drivers/misc/bh1770glc.c:		chip->prox_data = 0;
+drivers/misc/bh1770glc.c:		chip->prox_enable_count++;
+drivers/misc/bh1770glc.c:	else if (chip->prox_enable_count > 0)
+drivers/misc/bh1770glc.c:		chip->prox_enable_count--;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	len = sprintf(buf, "%d\n", chip->prox_enable_count);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	if (chip->prox_enable_count && !pm_runtime_suspended(dev))
+drivers/misc/bh1770glc.c:		ret = sprintf(buf, "%d\n", chip->prox_data);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", prox_rates_hz[chip->prox_rate_threshold]);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", prox_rates_hz[chip->prox_rate]);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->prox_rate_threshold = bh1770_prox_rate_validate(value);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->prox_rate = bh1770_prox_rate_validate(value);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", chip->prox_threshold);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->prox_threshold = value;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%u\n", chip->prox_persistence);
+drivers/misc/bh1770glc.c:	chip->prox_persistence = value;
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%u\n", chip->prox_abs_thres);
+drivers/misc/bh1770glc.c:	chip->prox_abs_thres = value;
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%s rev %d\n", chip->chipname, chip->revision);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	len = sprintf(buf, "%u\n", chip->lux_calib);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	old_calib = chip->lux_calib;
+drivers/misc/bh1770glc.c:	chip->lux_calib = value;
+drivers/misc/bh1770glc.c:		chip->lux_calib = old_calib;
+drivers/misc/bh1770glc.c:		mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->lux_corr = new_corr;
+drivers/misc/bh1770glc.c:	bh1770_lux_update_thresholds(chip, chip->lux_threshold_hi,
+drivers/misc/bh1770glc.c:				chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", lux_rates_hz[chip->lux_rate_index]);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	chip->lux_rate_index = i;
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", chip->lux_threshold_hi);
+drivers/misc/bh1770glc.c:	return sprintf(buf, "%d\n", chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	mutex_lock(&chip->mutex);
+drivers/misc/bh1770glc.c:	if (!chip->lux_wait_result)
+drivers/misc/bh1770glc.c:						chip->lux_threshold_hi,
+drivers/misc/bh1770glc.c:						chip->lux_threshold_lo);
+drivers/misc/bh1770glc.c:	mutex_unlock(&chip->mutex);
+drivers/misc/bh1770glc.c:	int ret = bh1770_set_lux_thresh(chip, &chip->lux_threshold_hi, buf);
+drivers/misc/bh1770glc.c:	int ret = bh1770_set_lux_thresh(chip, &chip->lux_threshold_lo, buf);
+drivers/misc/bh1770glc.c:	chip->client  = client;
+drivers/misc/bh1770glc.c:	mutex_init(&chip->mutex);
+drivers/misc/bh1770glc.c:	init_waitqueue_head(&chip->wait);
+drivers/misc/bh1770glc.c:	INIT_DELAYED_WORK(&chip->prox_work, bh1770_prox_work);
+drivers/misc/bh1770glc.c:	chip->pdata		= client->dev.platform_data;
+drivers/misc/bh1770glc.c:	chip->lux_calib		= BH1770_LUX_NEUTRAL_CALIB_VALUE;
+drivers/misc/bh1770glc.c:	chip->lux_rate_index	= BH1770_LUX_DEFAULT_RATE;
+drivers/misc/bh1770glc.c:	chip->lux_threshold_lo	= BH1770_LUX_DEF_THRES;
+drivers/misc/bh1770glc.c:	chip->lux_threshold_hi	= BH1770_LUX_DEF_THRES;
+drivers/misc/bh1770glc.c:	if (chip->pdata->glass_attenuation == 0)
+drivers/misc/bh1770glc.c:		chip->lux_ga = BH1770_NEUTRAL_GA;
+drivers/misc/bh1770glc.c:		chip->lux_ga = chip->pdata->glass_attenuation;
+drivers/misc/bh1770glc.c:	chip->prox_threshold	= BH1770_PROX_DEF_THRES;
+drivers/misc/bh1770glc.c:	chip->prox_led		= chip->pdata->led_def_curr;
+drivers/misc/bh1770glc.c:	chip->prox_abs_thres	= BH1770_PROX_DEF_ABS_THRES;
+drivers/misc/bh1770glc.c:	chip->prox_persistence	= BH1770_DEFAULT_PERSISTENCE;
+drivers/misc/bh1770glc.c:	chip->prox_rate_threshold = BH1770_PROX_DEF_RATE_THRESH;
+drivers/misc/bh1770glc.c:	chip->prox_rate		= BH1770_PROX_DEFAULT_RATE;
+drivers/misc/bh1770glc.c:	chip->prox_data		= 0;
+drivers/misc/bh1770glc.c:	chip->regs[0].supply = reg_vcc;
+drivers/misc/bh1770glc.c:	chip->regs[1].supply = reg_vleds;
+drivers/misc/bh1770glc.c:				      ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:	err = regulator_bulk_enable(ARRAY_SIZE(chip->regs),
+drivers/misc/bh1770glc.c:				chip->regs);
+drivers/misc/bh1770glc.c:	chip->lux_corr = bh1770_get_corr_value(chip);
+drivers/misc/bh1770glc.c:	if (chip->lux_corr == 0) {
+drivers/misc/bh1770glc.c:	if (chip->pdata->setup_resources) {
+drivers/misc/bh1770glc.c:		err = chip->pdata->setup_resources();
+drivers/misc/bh1770glc.c:	err = sysfs_create_group(&chip->client->dev.kobj,
+drivers/misc/bh1770glc.c:		dev_err(&chip->client->dev, "Sysfs registration failed\n");
+drivers/misc/bh1770glc.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/bh1770glc.c:	if (chip->pdata->release_resources)
+drivers/misc/bh1770glc.c:		chip->pdata->release_resources();
+drivers/misc/bh1770glc.c:	regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
+drivers/misc/bh1770glc.c:	sysfs_remove_group(&chip->client->dev.kobj,
+drivers/misc/bh1770glc.c:	if (chip->pdata->release_resources)
+drivers/misc/bh1770glc.c:		chip->pdata->release_resources();
+drivers/misc/bh1770glc.c:	cancel_delayed_work_sync(&chip->prox_work);
+drivers/misc/bh1770glc.c:		ret = bh1770_lux_rate(chip, chip->lux_rate_index);
+drivers/misc/bh1770glc.c:		chip->lux_wait_result = true;
+drivers/misc/cb710/core.c:	struct cb710_slot *slot = &chip->slot[0];
+drivers/misc/cb710/core.c:	spin_lock(&chip->irq_lock); /* incl. smp_rmb() */
+drivers/misc/cb710/core.c:	for (nr = chip->slots; nr; ++slot, --nr) {
+drivers/misc/cb710/core.c:	spin_unlock(&chip->irq_lock);
+drivers/misc/cb710/core.c:	atomic_dec(&chip->slot_refs_count);
+drivers/misc/cb710/core.c:	int nr = chip->slots;
+drivers/misc/cb710/core.c:	struct cb710_slot *slot = &chip->slot[nr];
+drivers/misc/cb710/core.c:		name, chip->platform_id, nr, slot_mask, io_offset);
+drivers/misc/cb710/core.c:	++chip->slots;
+drivers/misc/cb710/core.c:	slot->iobase = chip->iobase + io_offset;
+drivers/misc/cb710/core.c:	slot->pdev.id = chip->platform_id;
+drivers/misc/cb710/core.c:	slot->pdev.dev.parent = &chip->pdev->dev;
+drivers/misc/cb710/core.c:	atomic_inc(&chip->slot_refs_count);
+drivers/misc/cb710/core.c:		--chip->slots;
+drivers/misc/cb710/core.c:	chip->slot_mask |= slot_mask;
+drivers/misc/cb710/core.c:	int nr = chip->slots - 1;
+drivers/misc/cb710/core.c:	if (!(chip->slot_mask & slot_mask))
+drivers/misc/cb710/core.c:	platform_device_unregister(&chip->slot[nr].pdev);
+drivers/misc/cb710/core.c:	BUG_ON(chip->slot[nr].irq_handler != NULL);
+drivers/misc/cb710/core.c:	--chip->slots;
+drivers/misc/cb710/core.c:	chip->slot_mask &= ~slot_mask;
+drivers/misc/cb710/core.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/misc/cb710/core.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/misc/cb710/core.c:	spin_lock_init(&chip->irq_lock);
+drivers/misc/cb710/core.c:	chip->pdev = pdev;
+drivers/misc/cb710/core.c:	chip->iobase = pcim_iomap_table(pdev)[0];
+drivers/misc/cb710/core.c:	chip->platform_id = err;
+drivers/misc/cb710/core.c:		chip->platform_id, chip->iobase, pdev->irq);
+drivers/misc/cb710/core.c:	BUG_ON(atomic_read(&chip->slot_refs_count) != 0);
+drivers/misc/cb710/core.c:	BUG_ON(atomic_read(&chip->slot_refs_count) != 0);
+drivers/misc/cb710/core.c:	ida_free(&cb710_ida, chip->platform_id);
+drivers/misc/cb710/debug.c:	cb710_read_regs_##t(chip->iobase, regs, select);		\
+drivers/misc/cs5535-mfgpt.c:		spin_lock_irqsave(&timer->chip->lock, flags);
+drivers/misc/cs5535-mfgpt.c:		__set_bit(timer->nr, timer->chip->avail);
+drivers/misc/cs5535-mfgpt.c:		spin_unlock_irqrestore(&timer->chip->lock, flags);
+drivers/misc/cs5535-mfgpt.c:	return inw(timer->chip->base + reg + (timer->nr * 8));
+drivers/misc/cs5535-mfgpt.c:	outw(value, timer->chip->base + reg + (timer->nr * 8));
+drivers/misc/cxl/pci.c:	while (np && !(prop = of_get_property(np, "ibm,chip-id", NULL)))
+drivers/misc/eeprom/at25.c:	strncpy(chip->name, "at25", sizeof(chip->name));
+drivers/misc/eeprom/at25.c:		chip->byte_len = val;
+drivers/misc/eeprom/at25.c:		chip->page_size = (u16)val;
+drivers/misc/eeprom/at25.c:		chip->flags = (u16)val;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_INSTR_BIT3_IS_ADDR;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_ADDR1;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_ADDR2;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_ADDR3;
+drivers/misc/eeprom/at25.c:			chip->flags |= EE_READONLY;
+drivers/misc/pch_phub.c:	void __iomem *reg_addr = chip->pch_phub_base_address + reg_addr_offset;
+drivers/misc/pch_phub.c:	void __iomem *p = chip->pch_phub_base_address;
+drivers/misc/pch_phub.c:	chip->phub_id_reg = ioread32(p + PCH_PHUB_ID_REG);
+drivers/misc/pch_phub.c:	chip->q_pri_val_reg = ioread32(p + PCH_PHUB_QUEUE_PRI_VAL_REG);
+drivers/misc/pch_phub.c:	chip->rc_q_maxsize_reg = ioread32(p + PCH_PHUB_RC_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	chip->bri_q_maxsize_reg = ioread32(p + PCH_PHUB_BRI_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	chip->comp_resp_timeout_reg =
+drivers/misc/pch_phub.c:	chip->bus_slave_control_reg =
+drivers/misc/pch_phub.c:	chip->deadlock_avoid_type_reg =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg0 =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg1 =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg2 =
+drivers/misc/pch_phub.c:	chip->intpin_reg_wpermit_reg3 =
+drivers/misc/pch_phub.c:		"chip->phub_id_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->q_pri_val_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->rc_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bri_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->comp_resp_timeout_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bus_slave_control_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->deadlock_avoid_type_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg0=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg1=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg2=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg3=%x\n", __func__,
+drivers/misc/pch_phub.c:		chip->phub_id_reg,
+drivers/misc/pch_phub.c:		chip->q_pri_val_reg,
+drivers/misc/pch_phub.c:		chip->rc_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->bri_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->comp_resp_timeout_reg,
+drivers/misc/pch_phub.c:		chip->bus_slave_control_reg,
+drivers/misc/pch_phub.c:		chip->deadlock_avoid_type_reg,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg0,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg1,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg2,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg3);
+drivers/misc/pch_phub.c:		chip->int_reduce_control_reg[i] =
+drivers/misc/pch_phub.c:			"chip->int_reduce_control_reg[%d]=%x\n",
+drivers/misc/pch_phub.c:			__func__, i, chip->int_reduce_control_reg[i]);
+drivers/misc/pch_phub.c:	chip->clkcfg_reg = ioread32(p + CLKCFG_REG_OFFSET);
+drivers/misc/pch_phub.c:	if ((chip->ioh_type == 2) || (chip->ioh_type == 4))
+drivers/misc/pch_phub.c:		chip->funcsel_reg = ioread32(p + FUNCSEL_REG_OFFSET);
+drivers/misc/pch_phub.c:	p = chip->pch_phub_base_address;
+drivers/misc/pch_phub.c:	iowrite32(chip->phub_id_reg, p + PCH_PHUB_ID_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->q_pri_val_reg, p + PCH_PHUB_QUEUE_PRI_VAL_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->rc_q_maxsize_reg, p + PCH_PHUB_RC_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->bri_q_maxsize_reg, p + PCH_PHUB_BRI_QUEUE_MAXSIZE_REG);
+drivers/misc/pch_phub.c:	iowrite32(chip->comp_resp_timeout_reg,
+drivers/misc/pch_phub.c:	iowrite32(chip->bus_slave_control_reg,
+drivers/misc/pch_phub.c:	iowrite32(chip->deadlock_avoid_type_reg,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg0,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg1,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg2,
+drivers/misc/pch_phub.c:	iowrite32(chip->intpin_reg_wpermit_reg3,
+drivers/misc/pch_phub.c:		"chip->phub_id_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->q_pri_val_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->rc_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bri_q_maxsize_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->comp_resp_timeout_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->bus_slave_control_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->deadlock_avoid_type_reg=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg0=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg1=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg2=%x, "
+drivers/misc/pch_phub.c:		"chip->intpin_reg_wpermit_reg3=%x\n", __func__,
+drivers/misc/pch_phub.c:		chip->phub_id_reg,
+drivers/misc/pch_phub.c:		chip->q_pri_val_reg,
+drivers/misc/pch_phub.c:		chip->rc_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->bri_q_maxsize_reg,
+drivers/misc/pch_phub.c:		chip->comp_resp_timeout_reg,
+drivers/misc/pch_phub.c:		chip->bus_slave_control_reg,
+drivers/misc/pch_phub.c:		chip->deadlock_avoid_type_reg,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg0,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg1,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg2,
+drivers/misc/pch_phub.c:		chip->intpin_reg_wpermit_reg3);
+drivers/misc/pch_phub.c:		iowrite32(chip->int_reduce_control_reg[i],
+drivers/misc/pch_phub.c:			"chip->int_reduce_control_reg[%d]=%x\n",
+drivers/misc/pch_phub.c:			__func__, i, chip->int_reduce_control_reg[i]);
+drivers/misc/pch_phub.c:	iowrite32(chip->clkcfg_reg, p + CLKCFG_REG_OFFSET);
+drivers/misc/pch_phub.c:	if ((chip->ioh_type == 2) || (chip->ioh_type == 4))
+drivers/misc/pch_phub.c:		iowrite32(chip->funcsel_reg, p + FUNCSEL_REG_OFFSET);
+drivers/misc/pch_phub.c:	void __iomem *mem_addr = chip->pch_phub_extrom_base_address +
+drivers/misc/pch_phub.c:	void __iomem *mem_addr = chip->pch_phub_extrom_base_address +
+drivers/misc/pch_phub.c:			chip->pch_phub_extrom_base_address + PHUB_CONTROL);
+drivers/misc/pch_phub.c:	while (ioread8(chip->pch_phub_extrom_base_address +
+drivers/misc/pch_phub.c:			chip->pch_phub_extrom_base_address + PHUB_CONTROL);
+drivers/misc/pch_phub.c:	mem_addr = chip->pch_mac_start_address +
+drivers/misc/pch_phub.c:	mem_addr = chip->pch_mac_start_address +
+drivers/misc/pch_phub.c:	if ((chip->ioh_type == 1) || (chip->ioh_type == 5)) /* EG20T or ML7831*/
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address) {
+drivers/misc/pch_phub.c:	pch_phub_read_serial_rom(chip, chip->pch_opt_rom_start_address,
+drivers/misc/pch_phub.c:	pch_phub_read_serial_rom(chip, chip->pch_opt_rom_start_address + 1,
+drivers/misc/pch_phub.c:					 chip->pch_opt_rom_start_address + 2,
+drivers/misc/pch_phub.c:			    chip->pch_opt_rom_start_address + addr_offset + off,
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address) {
+drivers/misc/pch_phub.c:			    chip->pch_opt_rom_start_address + addr_offset + off,
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address)
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size);
+drivers/misc/pch_phub.c:	if (!chip->pch_phub_extrom_base_address)
+drivers/misc/pch_phub.c:	pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address);
+drivers/misc/pch_phub.c:	chip->pch_phub_base_address = pci_iomap(pdev, 1, 0);
+drivers/misc/pch_phub.c:	if (chip->pch_phub_base_address == NULL) {
+drivers/misc/pch_phub.c:		chip->pch_phub_base_address);
+drivers/misc/pch_phub.c:	chip->pdev = pdev; /* Save pci device struct */
+drivers/misc/pch_phub.c:		iowrite32(prefetch, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		iowrite32(0x25, chip->pch_phub_base_address + 0x44);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:		iowrite32(0x000affa0, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address =\
+drivers/misc/pch_phub.c:		iowrite32(0x000a0000, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		iowrite32(0x25, chip->pch_phub_base_address + 0x140);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address =\
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;
+drivers/misc/pch_phub.c:		iowrite32(0x0000ffa0, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address =\
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;
+drivers/misc/pch_phub.c:		iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14);
+drivers/misc/pch_phub.c:		iowrite32(0x25, chip->pch_phub_base_address + 0x44);
+drivers/misc/pch_phub.c:		chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;
+drivers/misc/pch_phub.c:	chip->ioh_type = id->driver_data;
+drivers/misc/pch_phub.c:	pci_iounmap(pdev, chip->pch_phub_base_address);
+drivers/misc/pch_phub.c:	pci_iounmap(pdev, chip->pch_phub_base_address);
+drivers/mmc/host/cb710-mmc.c:	pci_read_config_dword(chip->pdev, 0x48, &val);
+drivers/mmc/host/mmc_spi.c:				"can't change chip-select polarity\n");
+drivers/mmc/host/mmc_spi.c:					"can't restore chip-select polarity\n");
+drivers/mmc/host/sdhci-acpi.c:			host->ops            = c->slot->chip->ops;
+drivers/mmc/host/sdhci-acpi.c:			host->quirks        |= c->slot->chip->quirks;
+drivers/mmc/host/sdhci-acpi.c:			host->quirks2       |= c->slot->chip->quirks2;
+drivers/mmc/host/sdhci-acpi.c:			host->mmc->caps     |= c->slot->chip->caps;
+drivers/mmc/host/sdhci-acpi.c:			host->mmc->caps2    |= c->slot->chip->caps2;
+drivers/mmc/host/sdhci-acpi.c:			host->mmc->pm_caps  |= c->slot->chip->pm_caps;
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		struct sdhci_pci_slot *slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:		return device_wakeup_enable(&chip->pdev->dev);
+drivers/mmc/host/sdhci-pci-core.c:		return device_wakeup_disable(&chip->pdev->dev);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		struct sdhci_pci_slot *slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:		if (chip->pm_retune && host->tuning_mode != SDHCI_TUNING_MODE_3)
+drivers/mmc/host/sdhci-pci-core.c:		if (device_may_wakeup(&chip->pdev->dev))
+drivers/mmc/host/sdhci-pci-core.c:		sdhci_resume_host(chip->slots[i]->host);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:	ret = cqhci_suspend(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	return cqhci_resume(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:		if (chip->rpm_retune &&
+drivers/mmc/host/sdhci-pci-core.c:		sdhci_runtime_resume_host(chip->slots[i]->host, 0);
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++) {
+drivers/mmc/host/sdhci-pci-core.c:		slot = chip->slots[i];
+drivers/mmc/host/sdhci-pci-core.c:	ret = cqhci_suspend(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	return cqhci_resume(chip->slots[0]->host->mmc);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SONY)
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_NO_CARD_NO_RESET;
+drivers/mmc/host/sdhci-pci-core.c:	chip->num_slots = 1;
+drivers/mmc/host/sdhci-pci-core.c:	err = devm_gpio_request(&slot->chip->pdev->dev, gpio, "sd_cd");
+drivers/mmc/host/sdhci-pci-core.c:	devm_gpio_free(&slot->chip->pdev->dev, gpio);
+drivers/mmc/host/sdhci-pci-core.c:	dev_warn(&slot->chip->pdev->dev, "failed to setup card detect wake up\n");
+drivers/mmc/host/sdhci-pci-core.c:	struct device *dev = &slot->chip->pdev->dev;
+drivers/mmc/host/sdhci-pci-core.c:	slot->chip->rpm_retune = intel_host->d3_retune;
+drivers/mmc/host/sdhci-pci-core.c:	struct device *dev = &slot->chip->pdev->dev;
+drivers/mmc/host/sdhci-pci-core.c:	byt_ocp_setting(slot->chip->pdev);
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BSW_EMMC)
+drivers/mmc/host/sdhci-pci-core.c:	return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device != PCI_DEVICE_ID_INTEL_GLK_EMMC) {
+drivers/mmc/host/sdhci-pci-core.c:	struct device *dev = &slot->chip->pdev->dev;
+drivers/mmc/host/sdhci-pci-core.c:	struct sdhci_pci_slot *slot = chip->slots[0];
+drivers/mmc/host/sdhci-pci-core.c:	chip->rpm_retune = true;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
+drivers/mmc/host/sdhci-pci-core.c:	    !chip->rpm_retune)
+drivers/mmc/host/sdhci-pci-core.c:	status = acpi_evaluate_integer(ACPI_HANDLE(&slot->chip->pdev->dev),
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&slot->chip->pdev->dev,
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXT_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXTM_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_APL_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_SD)
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->subsystem_vendor == PCI_VENDOR_ID_NI &&
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->subsystem_device == PCI_SUBDEVICE_ID_NI_78E3)
+drivers/mmc/host/sdhci-pci-core.c:	byt_ocp_setting(chip->pdev);
+drivers/mmc/host/sdhci-pci-core.c:	byt_ocp_setting(chip->pdev);
+drivers/mmc/host/sdhci-pci-core.c:	device = ACPI_COMPANION(&slot->chip->pdev->dev);
+drivers/mmc/host/sdhci-pci-core.c:	unsigned int func = PCI_FUNC(slot->chip->pdev->devfn);
+drivers/mmc/host/sdhci-pci-core.c:	ret = pci_read_config_byte(chip->pdev, 0xAE, &scratch);
+drivers/mmc/host/sdhci-pci-core.c:	return pci_write_config_byte(chip->pdev, 0xAE, scratch);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->revision == 0) {
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_32BIT_DMA_ADDR |
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_SD)
+drivers/mmc/host/sdhci-pci-core.c:	else if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_SD)
+drivers/mmc/host/sdhci-pci-core.c:			if ((PCI_SLOT(chip->pdev->devfn) ==
+drivers/mmc/host/sdhci-pci-core.c:				(chip->pdev->bus == sd_dev->bus))
+drivers/mmc/host/sdhci-pci-core.c:			dev_info(&chip->pdev->dev, "Refusing to bind to "
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&chip->pdev->dev, "Failure enabling card power\n");
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_SD ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD)
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_UNSTABLE_RO_DETECT;
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->revision == 0) {
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) {
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD)
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD)
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) {
+drivers/mmc/host/sdhci-pci-core.c:		for (i = 0; i < chip->num_slots; i++)
+drivers/mmc/host/sdhci-pci-core.c:			jmicron_enable_mmc(chip->slots[i]->host, 0);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC ||
+drivers/mmc/host/sdhci-pci-core.c:	    chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) {
+drivers/mmc/host/sdhci-pci-core.c:		for (i = 0; i < chip->num_slots; i++)
+drivers/mmc/host/sdhci-pci-core.c:			jmicron_enable_mmc(chip->slots[i]->host, 1);
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&chip->pdev->dev, "Failure enabling card power\n");
+drivers/mmc/host/sdhci-pci-core.c:	if ((chip->pdev->class & 0x0000FF) == PCI_SDHCI_IFVENDOR) {
+drivers/mmc/host/sdhci-pci-core.c:		chip->pdev->class &= ~0x0000FF;
+drivers/mmc/host/sdhci-pci-core.c:		chip->pdev->class |= PCI_SDHCI_IFDMA;
+drivers/mmc/host/sdhci-pci-core.c:	dev_info(&slot->chip->pdev->dev, "SysKonnect CardBus2SDIO, "
+drivers/mmc/host/sdhci-pci-core.c:		dev_err(&slot->chip->pdev->dev,
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->pdev->revision == 0x10)
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks |= SDHCI_QUIRK_DELAY_AFTER_POWER;
+drivers/mmc/host/sdhci-pci-core.c:	struct pci_dev *pdev = slot->chip->pdev;
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks2 |= SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD;
+drivers/mmc/host/sdhci-pci-core.c:	struct pci_dev *pdev = slot->chip->pdev;
+drivers/mmc/host/sdhci-pci-core.c:	pdev = slot->chip->pdev;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->suspend)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->suspend(chip);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->resume)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->resume(chip);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->runtime_suspend)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->runtime_suspend(chip);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->runtime_resume)
+drivers/mmc/host/sdhci-pci-core.c:		return chip->fixes->runtime_resume(chip);
+drivers/mmc/host/sdhci-pci-core.c:	size_t priv_size = chip->fixes ? chip->fixes->priv_size : 0;
+drivers/mmc/host/sdhci-pci-core.c:	host->ops = chip->fixes && chip->fixes->ops ?
+drivers/mmc/host/sdhci-pci-core.c:		    chip->fixes->ops :
+drivers/mmc/host/sdhci-pci-core.c:	host->quirks = chip->quirks;
+drivers/mmc/host/sdhci-pci-core.c:	host->quirks2 = chip->quirks2;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->probe_slot) {
+drivers/mmc/host/sdhci-pci-core.c:		ret = chip->fixes->probe_slot(slot);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->add_host)
+drivers/mmc/host/sdhci-pci-core.c:		ret = chip->fixes->add_host(slot);
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->own_cd_for_runtime_pm &&
+drivers/mmc/host/sdhci-pci-core.c:		chip->allow_runtime_pm = false;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->remove_slot)
+drivers/mmc/host/sdhci-pci-core.c:		chip->fixes->remove_slot(slot, 0);
+drivers/mmc/host/sdhci-pci-core.c:	if (slot->chip->fixes && slot->chip->fixes->remove_slot)
+drivers/mmc/host/sdhci-pci-core.c:		slot->chip->fixes->remove_slot(slot, dead);
+drivers/mmc/host/sdhci-pci-core.c:	chip->pdev = pdev;
+drivers/mmc/host/sdhci-pci-core.c:	chip->fixes = (const struct sdhci_pci_fixes *)ent->driver_data;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes) {
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks = chip->fixes->quirks;
+drivers/mmc/host/sdhci-pci-core.c:		chip->quirks2 = chip->fixes->quirks2;
+drivers/mmc/host/sdhci-pci-core.c:		chip->allow_runtime_pm = chip->fixes->allow_runtime_pm;
+drivers/mmc/host/sdhci-pci-core.c:	chip->num_slots = slots;
+drivers/mmc/host/sdhci-pci-core.c:	chip->pm_retune = true;
+drivers/mmc/host/sdhci-pci-core.c:	chip->rpm_retune = true;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->fixes && chip->fixes->probe) {
+drivers/mmc/host/sdhci-pci-core.c:		ret = chip->fixes->probe(chip);
+drivers/mmc/host/sdhci-pci-core.c:	slots = chip->num_slots;	/* Quirk may have changed this */
+drivers/mmc/host/sdhci-pci-core.c:				sdhci_pci_remove_slot(chip->slots[i]);
+drivers/mmc/host/sdhci-pci-core.c:		chip->slots[i] = slot;
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->allow_runtime_pm)
+drivers/mmc/host/sdhci-pci-core.c:	if (chip->allow_runtime_pm)
+drivers/mmc/host/sdhci-pci-core.c:	for (i = 0; i < chip->num_slots; i++)
+drivers/mmc/host/sdhci-pci-core.c:		sdhci_pci_remove_slot(chip->slots[i]);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch_8);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev, O2_SD_FUNC_REG4, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch_8);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_DEV_CTRL, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_DEV_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_MISC_REG5, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_MISC_REG5, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_TEST_REG, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_TEST_REG, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_DELAY_CTRL, 0x00002492);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_LD0_CTRL, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_LD0_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_CAP_REG0, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_CAP_REG0, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_TUNING_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_UHS2_L1_CTRL, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_FUNC_REG3, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_FUNC_REG3, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev, O2_SD_CAPS, &scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_CAPS, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:	pci_write_config_dword(chip->pdev, O2_SD_MISC_CTRL4, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_find_capability(chip->pdev, PCI_CAP_ID_MSI);
+drivers/mmc/host/sdhci-pci-o2micro.c:	ret = pci_alloc_irq_vectors(chip->pdev, 1, 1,
+drivers/mmc/host/sdhci-pci-o2micro.c:	host->irq = pci_irq_vector(chip->pdev, 0);
+drivers/mmc/host/sdhci-pci-o2micro.c:	switch (chip->pdev->device) {
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device == PCI_DEVICE_ID_O2_SEABIRD0) {
+drivers/mmc/host/sdhci-pci-o2micro.c:			ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device != PCI_DEVICE_ID_O2_FUJIN2)
+drivers/mmc/host/sdhci-pci-o2micro.c:	switch (chip->pdev->device) {
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_MULTI_VCC3V, 0x08);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_CLKREQ, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev, O2_SD_CAPS, &scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_CAPS, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_CAPS, 0x73);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_ADMA1, 0x39);
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_ADMA2, 0x08);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_INF_MOD, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device == PCI_DEVICE_ID_O2_FUJIN2) {
+drivers/mmc/host/sdhci-pci-o2micro.c:			ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:				pci_write_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev, O2_SD_CLKREQ, scratch_32);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		if (chip->pdev->device == PCI_DEVICE_ID_O2_FUJIN2)
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			ret = pci_read_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:			pci_write_config_dword(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		ret = pci_read_config_byte(chip->pdev,
+drivers/mmc/host/sdhci-pci-o2micro.c:		pci_write_config_byte(chip->pdev, O2_SD_LOCK_WP, scratch);
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->start += j << partshift;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->priv = &shared[i];
+drivers/mtd/chips/cfi_cmdset_0001.c:				init_waitqueue_head(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_init(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (mode == FL_SYNCING && chip->oldstate != FL_READY)
+drivers/mtd/chips/cfi_cmdset_0001.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->priv && map_word_andequal(map, status, status_PWS, status_PWS))
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if ((adr & chip->in_progress_block_mask) ==
+drivers/mtd/chips/cfi_cmdset_0001.c:		    chip->in_progress_block_addr)
+drivers/mtd/chips/cfi_cmdset_0001.c:		    (chip->in_progress_block_mask == ~(0x8000-1)))
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0xB0), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0x70), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0001.c:			status = map_read(map, chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (mode == FL_READY && chip->oldstate == FL_READY)
+drivers/mtd/chips/cfi_cmdset_0001.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->priv &&
+drivers/mtd/chips/cfi_cmdset_0001.c:	    || mode == FL_SHUTDOWN) && chip->state != FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->priv) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (shared->writing == chip && chip->oldstate == FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:	switch(chip->oldstate) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0xd0), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0x70), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		printk(KERN_ERR "%s: put_chip() called with oldstate %d!!\n", map->name, chip->oldstate);
+drivers/mtd/chips/cfi_cmdset_0001.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		    ((chip->state == FL_ERASING && (cfip->FeatureSupport&2)) ||
+drivers/mtd/chips/cfi_cmdset_0001.c:		     (chip->state == FL_WRITING && (cfip->FeatureSupport&4))) &&
+drivers/mtd/chips/cfi_cmdset_0001.c:		    (cfi_interleave_is_1(cfi) || chip->oldstate == FL_READY)) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->write_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = newstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			while (chip->state != newstate) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:				remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:	int chip_state = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state != chip_state) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->erase_suspended && chip_state == FL_ERASING)  {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->write_suspended && chip_state == FL_WRITING)  {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->write_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c: 	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state != FL_POINT && chip->state != FL_READY)
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_POINT;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->ref_point_counter++;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state == FL_POINT) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->ref_point_counter--;
+drivers/mtd/chips/cfi_cmdset_0001.c:			if(chip->ref_point_counter == 0)
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:		put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = mode;
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->word_write_time,
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->word_write_time_max);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_STATUS) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_WRITING_TO_BUFFER;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_WRITING;
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->buffer_write_time,
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->buffer_write_time_max);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->in_progress_block_addr = adr;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->in_progress_block_mask = ~(len - 1);
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->erase_time,
+drivers/mtd/chips/cfi_cmdset_0001.c:				   chip->erase_time_max);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		ret = get_chip(map, chip, chip->start, FL_SYNCING);
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = FL_SYNCING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	chip->state = FL_JEDEC_QUERY;
+drivers/mtd/chips/cfi_cmdset_0001.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	ret = get_chip(map, chip, chip->start, FL_JEDEC_QUERY);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:	INVALIDATE_CACHED_RANGE(map, chip->start + offset, size);
+drivers/mtd/chips/cfi_cmdset_0001.c:	xip_disable(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:	if (chip->state != FL_JEDEC_QUERY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:		map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:		chip->state = FL_JEDEC_QUERY;
+drivers/mtd/chips/cfi_cmdset_0001.c:	map_copy_from(map, buf, chip->start + offset, size);
+drivers/mtd/chips/cfi_cmdset_0001.c:	xip_enable(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:	INVALIDATE_CACHED_RANGE(map, chip->start + offset, size);
+drivers/mtd/chips/cfi_cmdset_0001.c:	put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->oldstate == FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->state = FL_PM_SUSPENDED;
+drivers/mtd/chips/cfi_cmdset_0001.c:				printk(KERN_NOTICE "Flash device refused suspend due to pending operation (oldstate %d)\n", chip->oldstate);
+drivers/mtd/chips/cfi_cmdset_0001.c:			printk(KERN_NOTICE "Flash device refused suspend due to active operation (state %d)\n", chip->state);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:			if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0001.c:				chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->oldstate = chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0001.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0001.c:		ret = get_chip(map, chip, chip->start, FL_SHUTDOWN);
+drivers/mtd/chips/cfi_cmdset_0001.c:			map_write(map, CMD(0xff), chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:			chip->state = FL_SHUTDOWN;
+drivers/mtd/chips/cfi_cmdset_0001.c:			put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0001.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:		cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:		cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if ((adr & chip->in_progress_block_mask) ==
+drivers/mtd/chips/cfi_cmdset_0002.c:		    chip->in_progress_block_addr)
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xB0), chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (mode == FL_READY && chip->oldstate == FL_READY)
+drivers/mtd/chips/cfi_cmdset_0002.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	switch(chip->oldstate) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, cfi->sector_erase_cmd, chip->in_progress_block_addr);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->oldstate = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		printk(KERN_ERR "MTD: put_chip() called with oldstate %d!!\n", chip->oldstate);
+drivers/mtd/chips/cfi_cmdset_0002.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:		    ((chip->state == FL_ERASING && (extp->EraseSuspend & 2))) &&
+drivers/mtd/chips/cfi_cmdset_0002.c:		    (cfi_interleave_is_1(cfi) || chip->oldstate == FL_READY)) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_XIP_WHILE_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->erase_suspended = 1;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			while (chip->state != FL_XIP_WHILE_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:				add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:				remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c: * with chip->state set to FL_READY (or FL_XIP_WHILE_*) where flash state
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);  \
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state != FL_POINT && chip->state != FL_READY) {
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x88, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	INVALIDATE_CACHED_RANGE(map, chip->start + adr, len);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x90, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x00, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	INVALIDATE_CACHED_RANGE(map, chip->start + adr, len);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state != FL_READY){
+drivers/mtd/chips/cfi_cmdset_0002.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	ret = get_chip(map, chip, chip->start, FL_LOCKING);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x40, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0xA0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(lockreg), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x00), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			base = chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:					mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:						 chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:						 chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:						 chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:				map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:				map_write(map, CMD(0x00), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:				put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = mode;
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->word_write_time);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != mode) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	u_write_timeout = usecs_to_jiffies(chip->buffer_write_time_max);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != FL_WRITING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_WRITING_TO_BUFFER;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_WRITING;
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->word_write_time);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	if (chip->state == FL_READY && chip_ready(map, chip, adr))
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	       __func__, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x10, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_addr = adr;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_mask = ~(map->size - 1);
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->erase_time*500);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != FL_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->erase_suspended) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_addr = adr;
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->in_progress_block_mask = ~(len - 1);
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->erase_time*500);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state != FL_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->erase_suspended) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->erase_suspended = 0;
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	ret = get_chip(map, chip, adr + chip->start, FL_LOCKING);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x40), chip->start + adr);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	put_chip(map, chip, adr + chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	ret = get_chip(map, chip, adr + chip->start, FL_UNLOCKING);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	put_chip(map, chip, adr + chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:	cfi_send_gen_cmd(0xC0, cfi->addr_unlock1, chip->start, map, cfi,
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0x80), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:		map_write(map, CMD(0x30), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:		chip->state = FL_JEDEC_QUERY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x90), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	map_write(map, CMD(0x00), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:	chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_SYNCING;
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_PM_SUSPENDED;
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:			if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0002.c:				chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0002.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0002.c:			map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0002.c:		ret = get_chip(map, chip, chip->start, FL_SHUTDOWN);
+drivers/mtd/chips/cfi_cmdset_0002.c:			map_write(map, CMD(0xF0), chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:			chip->state = FL_SHUTDOWN;
+drivers/mtd/chips/cfi_cmdset_0002.c:			put_chip(map, chip, chip->start);
+drivers/mtd/chips/cfi_cmdset_0002.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/chips/cfi_cmdset_0020.c:				chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0020.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:        adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:       printk("%s: chip->state[%d]\n", __func__, chip->state);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:                chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_WRITING_TO_BUFFER;
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_WRITING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	cfi_udelay(chip->buffer_write_time);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state != FL_WRITING) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->buffer_write_time--;
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (!chip->buffer_write_time)
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->buffer_write_time++;
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->buffer_write_time++;
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:		wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_ERASING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state != FL_ERASING) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:				chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_SYNCING;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		        remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state == FL_SYNCING) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0020.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_LOCKING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	adr += chip->start;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	switch (chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:		chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_UNLOCKING;
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:	chip->state = FL_STATUS;
+drivers/mtd/chips/cfi_cmdset_0020.c:	wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		switch(chip->state) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->oldstate = chip->state;
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_PM_SUSPENDED;
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:			if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0020.c:				chip->state = chip->oldstate;
+drivers/mtd/chips/cfi_cmdset_0020.c:				wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_lock(&chip->mutex);
+drivers/mtd/chips/cfi_cmdset_0020.c:		if (chip->state == FL_PM_SUSPENDED) {
+drivers/mtd/chips/cfi_cmdset_0020.c:			chip->state = FL_READY;
+drivers/mtd/chips/cfi_cmdset_0020.c:			wake_up(&chip->wq);
+drivers/mtd/chips/cfi_cmdset_0020.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/fwh_lock.h:	if (chip->start < 0x400000) {
+drivers/mtd/chips/fwh_lock.h:		pr_debug( "MTD %s(): chip->start: %lx wanted >= 0x400000\n",
+drivers/mtd/chips/fwh_lock.h:			__func__, chip->start );
+drivers/mtd/chips/fwh_lock.h:	adr += chip->start - 0x400000;
+drivers/mtd/chips/fwh_lock.h:	mutex_lock(&chip->mutex);
+drivers/mtd/chips/fwh_lock.h:		mutex_unlock(&chip->mutex);
+drivers/mtd/chips/fwh_lock.h:	chip->oldstate = chip->state;
+drivers/mtd/chips/fwh_lock.h:	chip->state = xxlt->state;
+drivers/mtd/chips/fwh_lock.h:	chip->state = chip->oldstate;
+drivers/mtd/chips/fwh_lock.h:	mutex_unlock(&chip->mutex);
+drivers/mtd/chips/gen_probe.c:			pchip->start = (i << cfi.chipshift);
+drivers/mtd/chips/gen_probe.c:			pchip->state = FL_READY;
+drivers/mtd/chips/gen_probe.c:			init_waitqueue_head(&pchip->wq);
+drivers/mtd/chips/gen_probe.c:			mutex_init(&pchip->mutex);
+drivers/mtd/devices/docg3.c:	{ .compatible = "m-systems,diskonchip-g3" },
+drivers/mtd/devices/spear_smi.c:	/* Matches chip-id to entire list of 'serial-nor flash' ids */
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->start += j << lpddr->chipshift;
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->oldstate = chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->priv = &shared[i];
+drivers/mtd/lpddr/lpddr_cmds.c:			init_waitqueue_head(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_init(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	flstate_t chip_state = chip->state;
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		while (chip->state != chip_state) {
+drivers/mtd/lpddr/lpddr_cmds.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		if (chip->erase_suspended || chip->write_suspended)  {
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->erase_suspended = chip->write_suspended = 0;
+drivers/mtd/lpddr/lpddr_cmds.c:	chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:	if (chip->priv && (mode == FL_WRITING || mode == FL_ERASING)
+drivers/mtd/lpddr/lpddr_cmds.c:		&& chip->state != FL_SYNCING) {
+drivers/mtd/lpddr/lpddr_cmds.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			if (chip->state == FL_SYNCING) {
+drivers/mtd/lpddr/lpddr_cmds.c:			add_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:			remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:			mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	if (FL_SYNCING == mode && FL_READY != chip->oldstate)
+drivers/mtd/lpddr/lpddr_cmds.c:	switch (chip->state) {
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->oldstate = FL_ERASING;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_ERASE_SUSPENDING;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->erase_suspended = 1;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:		if (mode == FL_READY && chip->oldstate == FL_READY)
+drivers/mtd/lpddr/lpddr_cmds.c:		add_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		remove_wait_queue(&chip->wq, &wait);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	if (chip->priv) {
+drivers/mtd/lpddr/lpddr_cmds.c:		struct flchip_shared *shared = chip->priv;
+drivers/mtd/lpddr/lpddr_cmds.c:		if (shared->writing == chip && chip->oldstate == FL_READY) {
+drivers/mtd/lpddr/lpddr_cmds.c:				mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:				mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:				wake_up(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:			wake_up(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:	switch (chip->oldstate) {
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->oldstate = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_ERASING;
+drivers/mtd/lpddr/lpddr_cmds.c:				map->name, chip->oldstate);
+drivers/mtd/lpddr/lpddr_cmds.c:	wake_up(&chip->wq);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	chip->state = FL_WRITING;
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	chip->state = FL_ERASING;
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	*mtdbuf = (void *)map->virt + chip->start + ofs;
+drivers/mtd/lpddr/lpddr_cmds.c:			last_end = chip->start;
+drivers/mtd/lpddr/lpddr_cmds.c:		else if (chip->start != last_end)
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_POINT;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->ref_point_counter++;
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		if (chip->state == FL_POINT) {
+drivers/mtd/lpddr/lpddr_cmds.c:			chip->ref_point_counter--;
+drivers/mtd/lpddr/lpddr_cmds.c:			if (chip->ref_point_counter == 0)
+drivers/mtd/lpddr/lpddr_cmds.c:				chip->state = FL_READY;
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_lock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		mutex_unlock(&chip->mutex);
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_LOCKING;
+drivers/mtd/lpddr/lpddr_cmds.c:		chip->state = FL_UNLOCKING;
+drivers/mtd/lpddr/lpddr_cmds.c:	mutex_unlock(&chip->mutex);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->legacy.dev_ready = NULL;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->legacy.dev_ready = atmel_nand_dev_ready;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->legacy.dev_ready = atmel_hsmc_nand_dev_ready;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		memcpy_toio(nc->sram.virt + mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		memcpy_fromio(chip->oob_poi, nc->sram.virt + mtd->writesize,
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	eccbuf = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/atmel/nand-controller.c:		eccbuf += chip->ecc.bytes;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	eccbuf = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/atmel/nand-controller.c:							  chip->ecc.size,
+drivers/mtd/nand/raw/atmel/nand-controller.c:							  chip->ecc.bytes,
+drivers/mtd/nand/raw/atmel/nand-controller.c:							  chip->ecc.strength);
+drivers/mtd/nand/raw/atmel/nand-controller.c:		databuf += chip->ecc.size;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		eccbuf += chip->ecc.bytes;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	atmel_nand_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	atmel_nand_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	atmel_nand_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	status = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_hsmc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:			chip->ecc.strength = val;
+drivers/mtd/nand/raw/atmel/nand-controller.c:			chip->ecc.size = val;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->ecc.options & NAND_ECC_MAXIMIZE)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	else if (chip->ecc.strength)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.strength = chip->ecc.strength;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	else if (chip->base.eccreq.strength)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->ecc.size)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.sectorsize = chip->ecc.size;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	else if (chip->base.eccreq.step_size)
+drivers/mtd/nand/raw/atmel/nand-controller.c:		req.ecc.sectorsize = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.size = req.ecc.sectorsize;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.bytes = req.ecc.bytes / req.ecc.nsectors;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.strength = req.ecc.strength;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.read_page = atmel_nand_pmecc_read_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.write_page = atmel_nand_pmecc_write_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.read_page_raw = atmel_nand_pmecc_read_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.write_page_raw = atmel_nand_pmecc_write_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:			chip->ecc.mode);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.read_page = atmel_hsmc_nand_pmecc_read_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.write_page = atmel_hsmc_nand_pmecc_write_page;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.read_page_raw = atmel_hsmc_nand_pmecc_read_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->ecc.write_page_raw = atmel_hsmc_nand_pmecc_write_page_raw;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.cmd_ctrl = atmel_nand_cmd_ctrl;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.read_byte = atmel_nand_read_byte;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.write_byte = atmel_nand_write_byte;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.read_buf = atmel_nand_read_buf;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.write_buf = atmel_nand_write_buf;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.select_chip = atmel_nand_select_chip;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.chip_delay = 40;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->options |= NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/atmel/nand-controller.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	smc_nc = to_smc_nand_controller(chip->controller);
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.cmd_ctrl = atmel_hsmc_nand_cmd_ctrl;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	chip->legacy.select_chip = atmel_hsmc_nand_select_chip;
+drivers/mtd/nand/raw/atmel/nand-controller.c:	struct atmel_nand_controller *nc = to_nand_controller(chip->controller);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	BUG_ON(b47n->curr_page_addr & ~nand_chip->pagemask);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	/* Don't validate column using nand_chip->page_shift, it may be bigger
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	BUG_ON(b47n->curr_page_addr & ~nand_chip->pagemask);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	/* Don't validate column using nand_chip->page_shift, it may be bigger
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:		nand_chip->legacy.cmd_ctrl(nand_chip, command, NAND_CTRL_CLE);
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.select_chip = bcm47xxnflash_ops_bcm4706_select_chip;
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.cmd_ctrl = bcm47xxnflash_ops_bcm4706_cmd_ctrl;
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.dev_ready = bcm47xxnflash_ops_bcm4706_dev_ready;
+drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c:	nand_chip->legacy.chip_delay = 50;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	/* List of NAND hosts (one for each chip-select) */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	const u8		*cs_offsets; /* within each chip-select */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:/* Per chip-select offsets for v7.1 */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:/* Per chip-select offsets for pre v7.1, except CS0 on <= v5.0 */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:/* Per chip-select offset for <= v5.0 on CS0 only */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	/* Per chip-select registers */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	oobregion->offset = ((section + 1) * sas) - chip->ecc.bytes;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (sas <= chip->ecc.bytes)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	oobregion->length = sas - chip->ecc.bytes;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (section > 1 || sas - chip->ecc.bytes < 6 ||
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	    (section && sas - chip->ecc.bytes == 6))
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		oobregion->length = sas - chip->ecc.bytes - 6;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	u64 addr = (u64)page_addr << chip->page_shift;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	void *oob = chip->oob_poi;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	int page = addr >> chip->page_shift;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	sas = mtd->oobsize / chip->ecc.steps;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	ret = chip->ecc.read_page_raw(chip, buf, true, page);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	for (i = 0; i < chip->ecc.steps; i++, oob += sas) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		ecc_chunk = buf + chip->ecc.size * i;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:						  chip->ecc.size,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:						  chip->ecc.strength);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	return brcmnand_read(mtd, chip, (u64)page << chip->page_shift,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			NULL, (u8 *)chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	brcmnand_read(mtd, chip, (u64)page << chip->page_shift,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		NULL, (u8 *)chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	void *oob = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	void *oob = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			      (u64)page << chip->page_shift, NULL,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			      chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	ret = brcmnand_write(mtd, chip, (u64)page << chip->page_shift, NULL,
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:				 (u8 *)chip->oob_poi);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	brcmnand_wr_corr_thresh(host, DIV_ROUND_UP(chip->ecc.strength * 3, 4));
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	cfg->device_width = (chip->options & NAND_BUSWIDTH_16) ? 16 : 8;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.mode != NAND_ECC_HW) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.mode);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->ecc.strength == 1 && chip->ecc.size == 512)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.algo == NAND_ECC_HAMMING && (chip->ecc.strength != 1 ||
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:						   chip->ecc.size != 512)) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.strength, chip->ecc.size);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->ecc.mode != NAND_ECC_NONE &&
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	    (!chip->ecc.size || !chip->ecc.strength)) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->base.eccreq.step_size && chip->base.eccreq.strength) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.size = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:				chip->ecc.size, chip->ecc.strength);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	switch (chip->ecc.size) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->ecc.algo == NAND_ECC_HAMMING)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			cfg->ecc_level = chip->ecc.strength;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		if (chip->ecc.strength & 0x1) {
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		cfg->ecc_level = chip->ecc.strength >> 1;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:			chip->ecc.size);
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->options |= NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.size = host->hwcfg.sector_size_1k ? 1024 : 512;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:		dev_err(&pdev->dev, "can't get chip-select\n");
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.cmd_ctrl = brcmnand_cmd_ctrl;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.cmdfunc = brcmnand_cmdfunc;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.waitfunc = brcmnand_waitfunc;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.read_byte = brcmnand_read_byte;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.read_buf = brcmnand_read_buf;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->legacy.write_buf = brcmnand_write_buf;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_page = brcmnand_read_page;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_page = brcmnand_write_page;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_page_raw = brcmnand_read_page_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_page_raw = brcmnand_write_page_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_oob_raw = brcmnand_write_oob_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_oob_raw = brcmnand_read_oob_raw;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.read_oob = brcmnand_read_oob;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->ecc.write_oob = brcmnand_write_oob;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	chip->controller = &ctrl->controller;
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:				continue; /* Try all chip-selects */
+drivers/mtd/nand/raw/brcmnand/brcmnand.c:	/* No chip-selects could initialize properly */
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	u32 last_sec_size = cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_cnt = cdns_chip->sector_count;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_size = cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		data_ctrl_size = cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_cnt = cdns_chip->sector_count;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		last_sec_size = cdns_chip->sector_size
+drivers/mtd/nand/raw/cadence-nand-controller.c:			+ cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		sec_size = cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		offset = mtd->writesize + cdns_chip->bbm_offs;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cadence_nand_set_timings(cdns_ctrl, &cdns_chip->timings);
+drivers/mtd/nand/raw/cadence-nand-controller.c:				      cdns_chip->corr_str_idx);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 chip->ecc.strength);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	u8 thread_nr = cdns_chip->cs[chip->cur_cs];
+drivers/mtd/nand/raw/cadence-nand-controller.c:				       cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	memcpy(buf + cdns_chip->bbm_offs, cdns_ctrl->buf, cdns_chip->bbm_len);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cadence_nand_set_skip_bytes_conf(cdns_ctrl, cdns_chip->bbm_len,
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 + cdns_chip->bbm_offs,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		marker_val = *(u16 *)(chip->oob_poi
+drivers/mtd/nand/raw/cadence-nand-controller.c:				      + cdns_chip->bbm_offs);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:			oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		memcpy(cdns_ctrl->buf + mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					  cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:					  + cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_steps = chip->ecc.steps;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_size = chip->ecc.size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_bytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int oob_skip = cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		const u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		u32 oob_data_offset = (cdns_chip->sector_count - 1) *
+drivers/mtd/nand/raw/cadence-nand-controller.c:			(cdns_chip->sector_size + chip->ecc.bytes)
+drivers/mtd/nand/raw/cadence-nand-controller.c:			+ cdns_chip->sector_size + oob_skip;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		oob += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				pos += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:					  cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cadence_nand_set_skip_bytes_conf(cdns_ctrl, cdns_chip->bbm_len,
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 + cdns_chip->bbm_offs, 1);
+drivers/mtd/nand/raw/cadence-nand-controller.c:			oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:						    + cdns_chip->avail_oob_size,
+drivers/mtd/nand/raw/cadence-nand-controller.c:			memcpy(chip->oob_poi,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		if (cadence_nand_read_bbm(chip, page, chip->oob_poi))
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int oob_skip = cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_steps = chip->ecc.steps;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_size = chip->ecc.size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	int ecc_bytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:		u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		u32 oob_data_offset = (cdns_chip->sector_count - 1) *
+drivers/mtd/nand/raw/cadence-nand-controller.c:			(cdns_chip->sector_size + chip->ecc.bytes)
+drivers/mtd/nand/raw/cadence-nand-controller.c:			+ cdns_chip->sector_size + oob_skip;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		       cdns_chip->avail_oob_size);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		oob += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				pos += cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:			.cs = chip->cur_cs,
+drivers/mtd/nand/raw/cadence-nand-controller.c:		ret = chip->controller->ops->exec_op(chip, &nand_op, false);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					    cdns_chip->cs[chip->cur_cs],
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					     BIT(cdns_chip->cs[chip->cur_cs]),
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->offset = cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->length = cdns_chip->avail_oob_size
+drivers/mtd/nand/raw/cadence-nand-controller.c:		- cdns_chip->bbm_len;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->offset = cdns_chip->avail_oob_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cadence_nand_timings *t = &cdns_chip->timings;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	u32 ecc_size = cdns_chip->sector_count * chip->ecc.bytes;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->bbm_offs = chip->badblockpos;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->bbm_offs &= ~0x01;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->bbm_len = 2;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->bbm_len = 1;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				   mtd->oobsize - cdns_chip->bbm_len);
+drivers/mtd/nand/raw/cadence-nand-controller.c:		chip->ecc.size, chip->ecc.strength, chip->ecc.bytes);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->sector_size = chip->ecc.size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->sector_count = mtd->writesize / cdns_chip->sector_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->avail_oob_size = mtd->oobsize - ecc_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if (cdns_chip->avail_oob_size > max_oob_data_size)
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->avail_oob_size = max_oob_data_size;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	if ((cdns_chip->avail_oob_size + cdns_chip->bbm_len + ecc_size)
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->avail_oob_size -= 4;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	ret = cadence_nand_get_ecc_strength_idx(cdns_ctrl, chip->ecc.strength);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->corr_str_idx = (u8)ret;
+drivers/mtd/nand/raw/cadence-nand-controller.c:				      cdns_chip->corr_str_idx);
+drivers/mtd/nand/raw/cadence-nand-controller.c:					 chip->ecc.strength);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_page = cadence_nand_read_page;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_page_raw = cadence_nand_read_page_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_page = cadence_nand_write_page;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_page_raw = cadence_nand_write_page_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_oob = cadence_nand_read_oob;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_oob = cadence_nand_write_oob;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.read_oob_raw = cadence_nand_read_oob_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.write_oob_raw = cadence_nand_write_oob_raw;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	cdns_chip->nsels = nsels;
+drivers/mtd/nand/raw/cadence-nand-controller.c:		cdns_chip->cs[i] = cs;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip = &cdns_chip->chip;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->controller = &cdns_ctrl->controller;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/cadence-nand-controller.c:	ret = nand_scan(chip, cdns_chip->nsels);
+drivers/mtd/nand/raw/cadence-nand-controller.c:	list_add_tail(&cdns_chip->node, &cdns_ctrl->chips);
+drivers/mtd/nand/raw/cafe_nand.c:	return nand_prog_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/cafe_nand.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/cafe_nand.c: * @oob_required:	caller expects OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/cafe_nand.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/cafe_nand.c:		u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/cafe_nand.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/cafe_nand.c:	oobregion->offset = chip->ecc.total;
+drivers/mtd/nand/raw/cafe_nand.c:	oobregion->length = mtd->oobsize - chip->ecc.total;
+drivers/mtd/nand/raw/cafe_nand.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/davinci_nand.c:			if ((diff >> (12 + 3)) < chip->ecc.size) {
+drivers/mtd/nand/raw/davinci_nand.c:		ioread32_rep(chip->legacy.IO_ADDR_R, buf, len >> 2);
+drivers/mtd/nand/raw/davinci_nand.c:		ioread16_rep(chip->legacy.IO_ADDR_R, buf, len >> 1);
+drivers/mtd/nand/raw/davinci_nand.c:		ioread8_rep(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/davinci_nand.c:		iowrite32_rep(chip->legacy.IO_ADDR_R, buf, len >> 2);
+drivers/mtd/nand/raw/davinci_nand.c:		iowrite16_rep(chip->legacy.IO_ADDR_R, buf, len >> 1);
+drivers/mtd/nand/raw/davinci_nand.c:		iowrite8_rep(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/denali.c:	return container_of(chip->controller, struct denali_controller,
+drivers/mtd/nand/raw/denali.c:	iowrite32(1 << (chip->phys_erase_shift - chip->page_shift),
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->options & NAND_BUSWIDTH_16 ? 1 : 0,
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->options & NAND_ROW_ADDR_3 ?
+drivers/mtd/nand/raw/denali.c:		  FIELD_PREP(ECC_CORRECTION__VALUE, chip->ecc.strength),
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->ecc.size, denali->reg + CFG_DATA_BLOCK_SIZE);
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->ecc.size, denali->reg + CFG_LAST_DATA_BLOCK_SIZE);
+drivers/mtd/nand/raw/denali.c:	iowrite32(chip->ecc.steps, denali->reg + CFG_NUM_DATA_BLOCKS);
+drivers/mtd/nand/raw/denali.c:	if (chip->options & NAND_KEEP_TIMINGS)
+drivers/mtd/nand/raw/denali.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/denali.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/denali.c:	return denali_read_raw(chip, buf, oob_required ? chip->oob_poi : NULL,
+drivers/mtd/nand/raw/denali.c:	return denali_write_raw(chip, buf, oob_required ? chip->oob_poi : NULL,
+drivers/mtd/nand/raw/denali.c:	return denali_read_raw(chip, NULL, chip->oob_poi, page);
+drivers/mtd/nand/raw/denali.c:	return denali_write_raw(chip, NULL, chip->oob_poi, page);
+drivers/mtd/nand/raw/denali.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/denali.c:	u8 *ecc_code = chip->oob_poi + denali->oob_skip_bytes;
+drivers/mtd/nand/raw/denali.c:		*uncor_ecc_flags = GENMASK(chip->ecc.steps - 1, 0);
+drivers/mtd/nand/raw/denali.c:	unsigned int ecc_size = chip->ecc.size;
+drivers/mtd/nand/raw/denali.c:	denali_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/denali.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/denali.c:	oobregion->offset = chip->ecc.total + denali->oob_skip_bytes;
+drivers/mtd/nand/raw/denali.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/denali.c:	chip->page_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->phys_erase_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->bbt_erase_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->chip_shift += 1;
+drivers/mtd/nand/raw/denali.c:	chip->pagemask <<= 1;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.size <<= 1;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.bytes <<= 1;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.strength <<= 1;
+drivers/mtd/nand/raw/denali.c:		chip->ecc.size, chip->ecc.strength, chip->ecc.bytes);
+drivers/mtd/nand/raw/denali.c:			       chip->options & NAND_BUSWIDTH_16);
+drivers/mtd/nand/raw/denali.c:				chip->options & NAND_BUSWIDTH_16);
+drivers/mtd/nand/raw/denali.c:	struct nand_chip *chip = &dchip->chip;
+drivers/mtd/nand/raw/denali.c:	chip->controller = &denali->controller;
+drivers/mtd/nand/raw/denali.c:	for (i = 0; i < dchip->nsels; i++) {
+drivers/mtd/nand/raw/denali.c:		unsigned int bank = dchip->sels[i].bank;
+drivers/mtd/nand/raw/denali.c:			if (bank == dchip->sels[j].bank) {
+drivers/mtd/nand/raw/denali.c:		chip->options |= NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/denali.c:		chip->buf_align = 16;
+drivers/mtd/nand/raw/denali.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/denali.c:	chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/denali.c:	chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/denali.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.mode = NAND_ECC_HW_SYNDROME;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.read_page = denali_read_page;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.write_page = denali_write_page;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.read_page_raw = denali_read_page_raw;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.write_page_raw = denali_write_page_raw;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.read_oob = denali_read_oob;
+drivers/mtd/nand/raw/denali.c:	chip->ecc.write_oob = denali_write_oob;
+drivers/mtd/nand/raw/denali.c:	ret = nand_scan(chip, dchip->nsels);
+drivers/mtd/nand/raw/denali.c:	list_add_tail(&dchip->node, &denali->chips);
+drivers/mtd/nand/raw/denali.c:		nand_release(&dchip->chip);
+drivers/mtd/nand/raw/denali_dt.c:	dchip->nsels = nsels;
+drivers/mtd/nand/raw/denali_dt.c:		dchip->sels[i].bank = bank;
+drivers/mtd/nand/raw/denali_dt.c:		nand_set_flash_node(&dchip->chip, chip_np);
+drivers/mtd/nand/raw/denali_pci.c:	dchip->chip.ecc.options |= NAND_ECC_MAXIMIZE;
+drivers/mtd/nand/raw/denali_pci.c:	dchip->nsels = nsels;
+drivers/mtd/nand/raw/denali_pci.c:		dchip->sels[i].bank = i;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (section > chip->ecc.steps)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:		if (section < chip->ecc.steps)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	         chip->phys_erase_shift, chip->page_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:		fsl_elbc_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	fsl_elbc_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	fsl_elbc_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.read_byte = fsl_elbc_read_byte;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.write_buf = fsl_elbc_write_buf;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.read_buf = fsl_elbc_read_buf;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.select_chip = fsl_elbc_select_chip;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.cmdfunc = fsl_elbc_cmdfunc;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.waitfunc = fsl_elbc_wait;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.set_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->legacy.get_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	chip->controller = &elbc_fcm_ctrl->controller;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.read_page = fsl_elbc_read_page;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.write_page = fsl_elbc_write_page;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.write_subpage = fsl_elbc_write_subpage;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.size = 512;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.bytes = 3;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.strength = 1;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:			chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (chip->pagemask & 0xffff0000)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	if (chip->pagemask & 0xff000000)
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        nanddev_ntargets(&chip->base));
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        nanddev_target_size(&chip->base));
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->pagemask);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->legacy.chip_delay);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->badblockpos);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->chip_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->page_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->phys_erase_shift);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.mode);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.steps);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.bytes);
+drivers/mtd/nand/raw/fsl_elbc_nand.c:	        chip->ecc.total);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	    !(chip->options & NAND_BUSWIDTH_16)) {
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		oobregion->offset = chip->ecc.total + 8;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		int sector_start = bufnum * chip->ecc.steps;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		int sector_end = sector_start + chip->ecc.steps - 1;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	u8 *ecc = chip->oob_poi;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	for (i = 0; i < chip->ecc.steps; ++i) {
+drivers/mtd/nand/raw/fsl_ifc_nand.c:						  chip->ecc.strength);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		fsl_ifc_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			fsl_ifc_read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	fsl_ifc_write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		nanddev_ntargets(&chip->base));
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	        nanddev_target_size(&chip->base));
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->pagemask);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.chip_delay);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->badblockpos);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->chip_shift);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->page_shift);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->phys_erase_shift);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.mode);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.steps);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.bytes);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:							chip->ecc.total);
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.write_buf = fsl_ifc_write_buf;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.read_buf = fsl_ifc_read_buf;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.select_chip = fsl_ifc_select_chip;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.cmdfunc = fsl_ifc_cmdfunc;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.waitfunc = fsl_ifc_wait;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.set_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->legacy.get_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->options = NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->legacy.read_byte = fsl_ifc_read_byte;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->controller = &ifc_nand_ctrl->controller;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->ecc.read_page = fsl_ifc_read_page;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:	chip->ecc.write_page = fsl_ifc_write_page;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		if (!(chip->options & NAND_BUSWIDTH_16)) {
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.bytes = 8;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.strength = 4;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.bytes = 16;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:			chip->ecc.strength = 8;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/fsl_ifc_nand.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/fsl_upm.c:	fsl_upm_run_pattern(&fun->upm, chip->legacy.IO_ADDR_R, mar);
+drivers/mtd/nand/raw/fsl_upm.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE, 0 | NAND_CTRL_CHANGE);
+drivers/mtd/nand/raw/fsl_upm.c:		chip->legacy.IO_ADDR_R = fun->io_base + fun->mchip_offsets[mchip_nr];
+drivers/mtd/nand/raw/fsl_upm.c:		chip->legacy.IO_ADDR_W = chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/fsl_upm.c:	prop = of_get_property(ofdev->dev.of_node, "chip-delay", NULL);
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section < chip->ecc.steps - 1)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/fsmc_nand.c:	if (section < chip->ecc.steps - 1)
+drivers/mtd/nand/raw/fsmc_nand.c: * @oob_required:	caller expects OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/fsmc_nand.c:	int i, j, s, stat, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/fsmc_nand.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/fsmc_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/fsmc_nand.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/fsmc_nand.c:	u8 *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/fsmc_nand.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/fsmc_nand.c:			if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/fsmc_nand.c:		memcpy(&ecc_code[i], oob, chip->ecc.bytes);
+drivers/mtd/nand/raw/fsmc_nand.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/fsmc_nand.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], &ecc_calc[i]);
+drivers/mtd/nand/raw/fsmc_nand.c:		int bits_ecc = count_written_bits(read_ecc, chip->ecc.bytes, 8);
+drivers/mtd/nand/raw/fsmc_nand.c:		int bits_data = count_written_bits(dat, chip->ecc.size, 8);
+drivers/mtd/nand/raw/fsmc_nand.c:				memset(dat, 0xff, chip->ecc.size);
+drivers/mtd/nand/raw/fsmc_nand.c:		if (err_idx[i] < chip->ecc.size * 8) {
+drivers/mtd/nand/raw/gpio.c:	if (!of_property_read_u32(dev->of_node, "chip-delay", &val))
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.IO_ADDR_R = devm_ioremap_resource(dev, res);
+drivers/mtd/nand/raw/gpio.c:	if (IS_ERR(chip->legacy.IO_ADDR_R))
+drivers/mtd/nand/raw/gpio.c:		return PTR_ERR(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/gpio.c:		chip->legacy.dev_ready = gpio_nand_devready;
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.IO_ADDR_W	= chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/gpio.c:	chip->ecc.mode		= NAND_ECC_SOFT;
+drivers/mtd/nand/raw/gpio.c:	chip->ecc.algo		= NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/gpio.c:	chip->options		= gpiomtd->plat.options;
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.chip_delay	= gpiomtd->plat.chip_delay;
+drivers/mtd/nand/raw/gpio.c:	chip->legacy.cmd_ctrl	= gpio_nand_cmd_ctrl;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:			chip->base.eccreq.strength,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:			chip->base.eccreq.step_size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	if (chip->ecc.strength > 0 && chip->ecc.size > 0)
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		return set_geometry_by_ecc_info(this, chip->ecc.strength,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:						chip->ecc.size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		if (!(chip->base.eccreq.strength > 0 &&
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		      chip->base.eccreq.step_size > 0))
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:						chip->base.eccreq.strength,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:						chip->base.eccreq.step_size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		memset(chip->oob_poi, ~0, mtd->oobsize);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chip->oob_poi[0] = ((uint8_t *)this->auxiliary_virt)[0];
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	int size = chip->ecc.size; /* ECC chunk size */
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	memcpy(this->auxiliary_virt, chip->oob_poi, nfc_geo->auxiliary_size);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	memset(chip->oob_poi, ~0, mtd->oobsize);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	ret = nand_read_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		ret = nand_read_page_op(chip, page, 0, chip->oob_poi, 1);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:				 chip->oob_poi + of.offset, of.length);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chipnr = (int)(ofs >> chip->chip_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	page = (int)(ofs >> chip->page_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		status = chip->ecc.write_page_raw(chip, buffer, 0, page);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	block_count = nanddev_eraseblocks_per_target(&chip->base);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chipnr = block >> (chip->chip_shift - chip->phys_erase_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		page = block << (chip->phys_erase_shift - chip->page_shift);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		byte = block <<  chip->phys_erase_shift;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:			ret = chip->legacy.block_markbad(chip, byte);
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chip->options |= NAND_SUBPAGE_READ;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH) {
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->legacy.block_markbad = gpmi_block_markbad;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->badblock_pattern	= &gpmi_bbt_descr;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->options		|= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c:	chip->controller = &this->base;
+drivers/mtd/nand/raw/hisi504_nand.c:	if (chip->ecc.mode == NAND_ECC_NONE) {
+drivers/mtd/nand/raw/hisi504_nand.c:		if (chip->options & NAND_BUSWIDTH_16 &&
+drivers/mtd/nand/raw/hisi504_nand.c:		if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/hisi504_nand.c:		if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/hisi504_nand.c:		switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/hisi504_nand.c:	nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/hisi504_nand.c:		chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/hisi504_nand.c:		| ((chip->options & NAND_BUSWIDTH_16) ?
+drivers/mtd/nand/raw/hisi504_nand.c:	size = chip->ecc.size;
+drivers/mtd/nand/raw/hisi504_nand.c:	strength = chip->ecc.strength;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.size = size;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.strength = strength;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.read_page = hisi_nand_read_page_hwecc;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.read_oob = hisi_nand_read_oob;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->ecc.write_page = hisi_nand_write_page_hwecc;
+drivers/mtd/nand/raw/hisi504_nand.c:	switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/hisi504_nand.c:		dev_err(dev, "not support strength: %d\n", chip->ecc.strength);
+drivers/mtd/nand/raw/hisi504_nand.c:	if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.cmdfunc	= hisi_nfc_cmdfunc;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.select_chip	= hisi_nfc_select_chip;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.read_byte	= hisi_nfc_read_byte;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.write_buf	= hisi_nfc_write_buf;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.read_buf	= hisi_nfc_read_buf;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.chip_delay	= HINFC504_CHIP_DELAY;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.set_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.get_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/hisi504_nand.c:	chip->legacy.dummy_controller.ops = &hisi_nfc_controller_ops;
+drivers/mtd/nand/raw/hisi504_nand.c:	for (cs = 0; cs < nanddev_ntargets(&chip->base); cs++)
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	struct ingenic_nfc *nfc = to_ingenic_nfc(chip->controller);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	if (chip->ecc.strength == 4) {
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.bytes = 9;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.bytes = fls((1 + 8) * chip->ecc.size)	*
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:				  (chip->ecc.strength / 8);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.hwctl = ingenic_nand_ecc_hwctl;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.calculate = ingenic_nand_ecc_calculate;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->ecc.correct = ingenic_nand_ecc_correct;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:			 chip->ecc.strength, chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:			chip->ecc.mode);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	eccbytes = mtd->writesize / chip->ecc.size * chip->ecc.bytes;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.IO_ADDR_R = cs->base + nfc->soc_info->data_offset;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.IO_ADDR_W = cs->base + nfc->soc_info->data_offset;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.chip_delay = RB_DELAY_US;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->options = NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.select_chip = ingenic_nand_select_chip;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->legacy.cmd_ctrl = ingenic_nand_cmd_ctrl;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->controller = &nfc->controller;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:	chip->controller->ops = &ingenic_nand_controller_ops;
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		nand_release(&chip->chip);
+drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c:		list_del(&chip->chip_list);
+drivers/mtd/nand/raw/internals.h:	if (!chip->controller || !chip->controller->ops ||
+drivers/mtd/nand/raw/internals.h:	    !chip->controller->ops->exec_op)
+drivers/mtd/nand/raw/internals.h:	if (WARN_ON(op->cs >= nanddev_ntargets(&chip->base)))
+drivers/mtd/nand/raw/internals.h:	return chip->controller->ops->exec_op(chip, op, false);
+drivers/mtd/nand/raw/internals.h:	if (!chip->controller || !chip->controller->ops ||
+drivers/mtd/nand/raw/internals.h:	    !chip->controller->ops->setup_data_interface)
+drivers/mtd/nand/raw/internals.h:	if (chip->options & NAND_KEEP_TIMINGS)
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	oobregion->offset = ((section + 1) * 16) - nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	oobregion->length = nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	oobregion->length = 16 - nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	uint8_t *oobbuf = chip->oob_poi;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	const uint8_t *oobbuf = chip->oob_poi;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.cmd_ctrl = lpc32xx_nand_cmd_ctrl;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.dev_ready = lpc32xx_nand_device_ready;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.chip_delay = 25; /* us */
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.IO_ADDR_R = MLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.IO_ADDR_W = MLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.hwctl = lpc32xx_ecc_enable;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.read_page_raw = lpc32xx_read_page;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.read_page = lpc32xx_read_page;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.write_page_raw = lpc32xx_write_page_lowlevel;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.write_page = lpc32xx_write_page_lowlevel;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.write_oob = lpc32xx_write_oob;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.read_oob = lpc32xx_read_oob;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.strength = 4;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->ecc.bytes = 10;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.waitfunc = lpc32xx_waitfunc;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->options = NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->bbt_options = NAND_BBT_USE_FLASH | NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->bbt_td = &lpc32xx_nand_bbt;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->bbt_md = &lpc32xx_nand_bbt_mirror;
+drivers/mtd/nand/raw/lpc32xx_mlc.c:	nand_chip->legacy.dummy_controller.ops = &lpc32xx_nand_controller_ops;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	return nand_prog_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/lpc32xx_slc.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/lpc32xx_slc.c:				       dma_buf + i * chip->ecc.size,
+drivers/mtd/nand/raw/lpc32xx_slc.c:				       mtd->writesize / chip->ecc.steps, dir);
+drivers/mtd/nand/raw/lpc32xx_slc.c:		if (i == chip->ecc.steps - 1)
+drivers/mtd/nand/raw/lpc32xx_slc.c:	host->ecc_buf[chip->ecc.steps - 1] =
+drivers/mtd/nand/raw/lpc32xx_slc.c:	status = lpc32xx_xfer(mtd, buf, chip->ecc.steps, 1);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	lpc32xx_slc_ecc_copy(tmpecc, (uint32_t *) host->ecc_buf, chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	oobecc = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/lpc32xx_slc.c:		stat = chip->ecc.correct(chip, buf, oobecc,
+drivers/mtd/nand/raw/lpc32xx_slc.c:					 &tmpecc[i * chip->ecc.bytes]);
+drivers/mtd/nand/raw/lpc32xx_slc.c:		buf += chip->ecc.size;
+drivers/mtd/nand/raw/lpc32xx_slc.c:		oobecc += chip->ecc.bytes;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf(chip, buf, chip->ecc.size * chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	error = lpc32xx_xfer(mtd, (uint8_t *)buf, chip->ecc.steps, 0);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	pb = chip->oob_poi + oobregion.offset;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	lpc32xx_slc_ecc_copy(pb, (uint32_t *)host->ecc_buf, chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:				chip->ecc.size * chip->ecc.steps);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.size = 256;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.bytes = LPC32XX_SLC_DEV_ECC_BYTES;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.prepad = 0;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.postpad = 0;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	if ((chip->bbt_options & NAND_BBT_USE_FLASH) &&
+drivers/mtd/nand/raw/lpc32xx_slc.c:		chip->bbt_td = &bbt_smallpage_main_descr;
+drivers/mtd/nand/raw/lpc32xx_slc.c:		chip->bbt_md = &bbt_smallpage_mirror_descr;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.IO_ADDR_R = SLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.IO_ADDR_W = SLC_DATA(host->io_base);
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.cmd_ctrl = lpc32xx_nand_cmd_ctrl;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.dev_ready = lpc32xx_nand_device_ready;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.chip_delay = 20; /* 20us command delay time */
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.mode = NAND_ECC_HW_SYNDROME;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_byte = lpc32xx_nand_read_byte;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.read_buf = lpc32xx_nand_read_buf;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.write_buf = lpc32xx_nand_write_buf;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.read_page_raw = lpc32xx_nand_read_page_raw_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.read_page = lpc32xx_nand_read_page_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.write_page_raw = lpc32xx_nand_write_page_raw_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.write_page = lpc32xx_nand_write_page_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.write_oob = lpc32xx_nand_write_oob_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.read_oob = lpc32xx_nand_read_oob_syndrome;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.calculate = lpc32xx_nand_ecc_calculate;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.correct = nand_correct_data;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.strength = 1;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->ecc.hwctl = lpc32xx_nand_ecc_enable;
+drivers/mtd/nand/raw/lpc32xx_slc.c:	chip->legacy.dummy_controller.ops = &lpc32xx_nand_controller_ops;
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/marvell_nand.c:					 spare, spare_len, chip->ecc.strength);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_read_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_hw_ecc_hmg_do_read_page(chip, buf, chip->oob_poi, false,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_read_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:				  PSEC_TO_MSEC(chip->data_interface.timings.sdr.tPROG_max));
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_write_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	ret = marvell_nfc_hw_ecc_hmg_do_write_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:	return marvell_nfc_hw_ecc_hmg_do_write_page(chip, buf, chip->oob_poi,
+drivers/mtd/nand/raw/marvell_nand.c:	u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:		memset(chip->oob_poi, 0xFF, mtd->oobsize);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	u8 *data = buf, *spare = chip->oob_poi;
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:		memset(chip->oob_poi, 0xFF, mtd->oobsize);
+drivers/mtd/nand/raw/marvell_nand.c:						   chip->oob_poi + spare_off, spare_len,
+drivers/mtd/nand/raw/marvell_nand.c:					   chip->oob_poi + ecc_off, ecc_len,
+drivers/mtd/nand/raw/marvell_nand.c:					      chip->oob_poi + spare_off, spare_len,
+drivers/mtd/nand/raw/marvell_nand.c:					      chip->oob_poi + ecc_off, ecc_len,
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.read_page_raw(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.read_page(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:			nand_write_data_op(chip, chip->oob_poi + spare_offset,
+drivers/mtd/nand/raw/marvell_nand.c:			nand_write_data_op(chip, chip->oob_poi + ecc_offset,
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	const u8 *spare = chip->oob_poi;
+drivers/mtd/nand/raw/marvell_nand.c:	marvell_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/marvell_nand.c:		memset(chip->oob_poi, 0xFF, mtd->oobsize);
+drivers/mtd/nand/raw/marvell_nand.c:				  PSEC_TO_MSEC(chip->data_interface.timings.sdr.tPROG_max));
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.write_page_raw(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	return chip->ecc.write_page(chip, buf, true, page);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:			chip->bbt_options |= NAND_BBT_NO_OOB_BBM;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		if (chip->base.eccreq.step_size && chip->base.eccreq.strength) {
+drivers/mtd/nand/raw/marvell_nand.c:			ecc->size = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/marvell_nand.c:			ecc->strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH) {
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB_BBM;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/marvell_nand.c:	/* Save the chip-specific fields of NDCR */
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.size = pdata->ecc_step_size;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->ecc.strength = pdata->ecc_strength;
+drivers/mtd/nand/raw/marvell_nand.c:	ret = marvell_nand_ecc_init(mtd, &chip->ecc);
+drivers/mtd/nand/raw/marvell_nand.c:	if (chip->ecc.mode == NAND_ECC_HW) {
+drivers/mtd/nand/raw/marvell_nand.c:		chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/marvell_nand.c:	chip->controller = &nfc->controller;
+drivers/mtd/nand/raw/marvell_nand.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/marvell_nand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/marvell_nand.c:	chip->options |= NAND_BUSWIDTH_AUTO;
+drivers/mtd/nand/raw/marvell_nand.c:		marvell_nfc_wait_ndrun(&chip->chip);
+drivers/mtd/nand/raw/meson_nand.c:	if (chip < 0 || WARN_ON_ONCE(chip >= meson_chip->nsels))
+drivers/mtd/nand/raw/meson_nand.c:	nfc->param.chip_select = meson_chip->sels[chip] ? NAND_CE1 : NAND_CE0;
+drivers/mtd/nand/raw/meson_nand.c:	nfc->timing.twb = meson_chip->twb;
+drivers/mtd/nand/raw/meson_nand.c:	nfc->timing.tadl = meson_chip->tadl;
+drivers/mtd/nand/raw/meson_nand.c:	nfc->timing.tbers_max = meson_chip->tbers_max;
+drivers/mtd/nand/raw/meson_nand.c:	if (nfc->clk_rate != meson_chip->clk_rate) {
+drivers/mtd/nand/raw/meson_nand.c:		ret = clk_set_rate(nfc->device_clk, meson_chip->clk_rate);
+drivers/mtd/nand/raw/meson_nand.c:		nfc->clk_rate = meson_chip->clk_rate;
+drivers/mtd/nand/raw/meson_nand.c:	if (nfc->bus_timing != meson_chip->bus_timing) {
+drivers/mtd/nand/raw/meson_nand.c:		value = (NFC_CLK_CYCLE - 1) | (meson_chip->bus_timing << 5);
+drivers/mtd/nand/raw/meson_nand.c:		nfc->bus_timing =  meson_chip->bus_timing;
+drivers/mtd/nand/raw/meson_nand.c:	u32 bch = meson_chip->bch_mode, cmd;
+drivers/mtd/nand/raw/meson_nand.c:	return meson_chip->data_buf + len;
+drivers/mtd/nand/raw/meson_nand.c:	return meson_chip->data_buf + len;
+drivers/mtd/nand/raw/meson_nand.c:		info = &meson_chip->info_buf[i];
+drivers/mtd/nand/raw/meson_nand.c:		info = &meson_chip->info_buf[i];
+drivers/mtd/nand/raw/meson_nand.c:		info = &meson_chip->info_buf[i];
+drivers/mtd/nand/raw/meson_nand.c:	ret = meson_nfc_dma_buffer_setup(nand, meson_chip->data_buf,
+drivers/mtd/nand/raw/meson_nand.c:					 data_len, meson_chip->info_buf,
+drivers/mtd/nand/raw/meson_nand.c:	memcpy(meson_chip->data_buf, buf, mtd->writesize);
+drivers/mtd/nand/raw/meson_nand.c:	memset(meson_chip->info_buf, 0, nand->ecc.steps * PER_INFO_BYTE);
+drivers/mtd/nand/raw/meson_nand.c:	info = &meson_chip->info_buf[neccpages - 1];
+drivers/mtd/nand/raw/meson_nand.c:	ret = meson_nfc_dma_buffer_setup(nand, meson_chip->data_buf,
+drivers/mtd/nand/raw/meson_nand.c:					 data_len, meson_chip->info_buf,
+drivers/mtd/nand/raw/meson_nand.c:	} else if (buf && buf != meson_chip->data_buf) {
+drivers/mtd/nand/raw/meson_nand.c:		memcpy(buf, meson_chip->data_buf, mtd->writesize);
+drivers/mtd/nand/raw/meson_nand.c:					  meson_chip->level1_divider *
+drivers/mtd/nand/raw/meson_nand.c:	kfree(meson_chip->info_buf);
+drivers/mtd/nand/raw/meson_nand.c:	kfree(meson_chip->data_buf);
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->data_buf = kmalloc(page_bytes, GFP_KERNEL);
+drivers/mtd/nand/raw/meson_nand.c:	if (!meson_chip->data_buf)
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->info_buf = kmalloc(info_bytes, GFP_KERNEL);
+drivers/mtd/nand/raw/meson_nand.c:	if (!meson_chip->info_buf) {
+drivers/mtd/nand/raw/meson_nand.c:		kfree(meson_chip->data_buf);
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->twb = DIV_ROUND_UP(PSEC_TO_NSEC(timings->tWB_max),
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->tadl = DIV_ROUND_UP(PSEC_TO_NSEC(timings->tADL_min),
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->tbers_max = ilog2(tbers_clocks);
+drivers/mtd/nand/raw/meson_nand.c:		meson_chip->tbers_max++;
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->level1_divider = div;
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->clk_rate = 1000000000 / meson_chip->level1_divider;
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->bus_timing = (bt_min + bt_max) / 2 + 1;
+drivers/mtd/nand/raw/meson_nand.c:			meson_chip->bch_mode = meson_ecc[i].bch;
+drivers/mtd/nand/raw/meson_nand.c:					   meson_chip->sels[0]);
+drivers/mtd/nand/raw/meson_nand.c:	meson_chip->nsels = nsels;
+drivers/mtd/nand/raw/meson_nand.c:	nand = &meson_chip->nand;
+drivers/mtd/nand/raw/meson_nand.c:	list_add_tail(&meson_chip->node, &nfc->chips);
+drivers/mtd/nand/raw/meson_nand.c:		mtd = nand_to_mtd(&meson_chip->nand);
+drivers/mtd/nand/raw/meson_nand.c:		meson_nfc_free_buffer(&meson_chip->nand);
+drivers/mtd/nand/raw/meson_nand.c:		nand_cleanup(&meson_chip->nand);
+drivers/mtd/nand/raw/meson_nand.c:		list_del(&meson_chip->node);
+drivers/mtd/nand/raw/mpc5121_nfc.c:	u32 pagemask = chip->pagemask;
+drivers/mtd/nand/raw/mpc5121_nfc.c:		if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/mpc5121_nfc.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.dev_ready = mpc5121_nfc_dev_ready;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.cmdfunc = mpc5121_nfc_command;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.read_byte = mpc5121_nfc_read_byte;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.read_buf = mpc5121_nfc_read_buf;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.write_buf = mpc5121_nfc_write_buf;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.select_chip = mpc5121_nfc_select_chip;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.set_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->legacy.get_features = nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/mpc5121_nfc.c:	/* Support external chip-select logic on ADS5121 board */
+drivers/mtd/nand/raw/mpc5121_nfc.c:		chip->legacy.select_chip = ads5121_select_chip;
+drivers/mtd/nand/raw/mtk_nand.c:	return (u8 *)p + i * chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:		poi = chip->oob_poi + (i + 1) * mtk_nand->fdm.reg_size;
+drivers/mtd/nand/raw/mtk_nand.c:		poi = chip->oob_poi;
+drivers/mtd/nand/raw/mtk_nand.c:		poi = chip->oob_poi + i * mtk_nand->fdm.reg_size;
+drivers/mtd/nand/raw/mtk_nand.c:	return chip->ecc.size + mtk_nand->spare_per_sector;
+drivers/mtd/nand/raw/mtk_nand.c:	return nfc->buffer + i * mtk_data_len(chip) + chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:		if (chip->ecc.size == 512)
+drivers/mtd/nand/raw/mtk_nand.c:		if (chip->ecc.size == 512)
+drivers/mtd/nand/raw/mtk_nand.c:		if (chip->ecc.size == 512)
+drivers/mtd/nand/raw/mtk_nand.c:	if (chip->ecc.size == 1024)
+drivers/mtd/nand/raw/mtk_nand.c:	nfc->ecc_cfg.strength = chip->ecc.strength;
+drivers/mtd/nand/raw/mtk_nand.c:	nfc->ecc_cfg.len = chip->ecc.size + mtk_nand->fdm.ecc_size;
+drivers/mtd/nand/raw/mtk_nand.c:	int size = chip->ecc.size + mtk_nand->fdm.reg_size;
+drivers/mtd/nand/raw/mtk_nand.c:		bad_pos += nand->bad_mark.sec * chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	swap(chip->oob_poi[0], buf[bad_pos]);
+drivers/mtd/nand/raw/mtk_nand.c:	start = offset / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	end = DIV_ROUND_UP(offset + len, chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:		       chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:			       chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:	nfi_writel(nfc, chip->ecc.steps << CON_SEC_SHIFT, NFI_CON);
+drivers/mtd/nand/raw/mtk_nand.c:					ADDRCNTR_SEC(reg) >= chip->ecc.steps,
+drivers/mtd/nand/raw/mtk_nand.c:		memset(buf, 0xff, sectors * chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	start = data_offs / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	end = DIV_ROUND_UP(data_offs + readlen, chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	column = start * (chip->ecc.size + spare);
+drivers/mtd/nand/raw/mtk_nand.c:	len = sectors * chip->ecc.size + (raw ? sectors * spare : 0);
+drivers/mtd/nand/raw/mtk_nand.c:	buf = bufpoi + start * chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/mtk_nand.c:			       chip->ecc.size);
+drivers/mtd/nand/raw/mtk_nand.c:	eccsteps = mtd->writesize / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	eccsteps = mtd->writesize / chip->ecc.size;
+drivers/mtd/nand/raw/mtk_nand.c:	fdm->reg_size = chip->spare_per_sector - ecc_bytes;
+drivers/mtd/nand/raw/mtk_nand.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/mtk_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/mtk_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/mtk_nand.c:	chip->nsels = nsels;
+drivers/mtd/nand/raw/mtk_nand.c:		chip->sels[i] = tmp;
+drivers/mtd/nand/raw/mtk_nand.c:	nand = &chip->nand;
+drivers/mtd/nand/raw/mtk_nand.c:	list_add_tail(&chip->node, &nfc->chips);
+drivers/mtd/nand/raw/mtk_nand.c:		nand_release(&chip->nand);
+drivers/mtd/nand/raw/mtk_nand.c:		list_del(&chip->node);
+drivers/mtd/nand/raw/mtk_nand.c:		nand = &chip->nand;
+drivers/mtd/nand/raw/mtk_nand.c:		for (i = 0; i < chip->nsels; i++)
+drivers/mtd/nand/raw/mxc_nand.c:			if (nand_chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:		oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/mxc_nand.c:		oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/mxc_nand.c:	return host->devtype_data->read_page(chip, NULL, chip->oob_poi, 0,
+drivers/mtd/nand/raw/mxc_nand.c:	copy_spare(mtd, false, chip->oob_poi);
+drivers/mtd/nand/raw/mxc_nand.c:	if (nand_chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/mxc_nand.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	if (section > nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:		if (section < nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	int stepsize = nand_chip->ecc.bytes == 9 ? 16 : 26;
+drivers/mtd/nand/raw/mxc_nand.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	oobregion->length = nand_chip->ecc.bytes;
+drivers/mtd/nand/raw/mxc_nand.c:	int stepsize = nand_chip->ecc.bytes == 9 ? 16 : 26;
+drivers/mtd/nand/raw/mxc_nand.c:	if (section >= nand_chip->ecc.steps)
+drivers/mtd/nand/raw/mxc_nand.c:	if (nand_chip->ecc.mode == NAND_ECC_HW && mtd->writesize)
+drivers/mtd/nand/raw/mxc_nand.c:		if (nand_chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:	addr_phases = fls(chip->pagemask) >> 3;
+drivers/mtd/nand/raw/mxc_nand.c:		if (chip->ecc.mode == NAND_ECC_HW)
+drivers/mtd/nand/raw/mxc_nand.c:	if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/mxc_nand.c:		chip->legacy.write_byte(chip, subfeature_param[i]);
+drivers/mtd/nand/raw/mxc_nand.c:		*subfeature_param++ = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/mxc_nand.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.read_page = mxc_nand_read_page;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.read_page_raw = mxc_nand_read_page_raw;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.read_oob = mxc_nand_read_oob;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.write_page = mxc_nand_write_page_ecc;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.write_page_raw = mxc_nand_write_page_raw;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->ecc.write_oob = mxc_nand_write_oob;
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH) {
+drivers/mtd/nand/raw/mxc_nand.c:		chip->bbt_td = &bbt_main_descr;
+drivers/mtd/nand/raw/mxc_nand.c:		chip->bbt_md = &bbt_mirror_descr;
+drivers/mtd/nand/raw/mxc_nand.c:	if (!chip->ecc.bytes) {
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.bytes = 18;
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.bytes = 9;
+drivers/mtd/nand/raw/mxc_nand.c:	if (chip->ecc.mode == NAND_ECC_HW) {
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.strength = 1;
+drivers/mtd/nand/raw/mxc_nand.c:			chip->ecc.strength = (host->eccsize == 4) ? 4 : 8;
+drivers/mtd/nand/raw/mxic_nand.c:	nand_chip->priv = nfc;
+drivers/mtd/nand/raw/mxic_nand.c:	nand_chip->controller = &nfc->controller;
+drivers/mtd/nand/raw/nand_amd.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_amd.c:	if (chip->id.data[4] != 0x00 && chip->id.data[5] == 0x00 &&
+drivers/mtd/nand/raw/nand_amd.c:	    chip->id.data[6] == 0x00 && chip->id.data[7] == 0x00 &&
+drivers/mtd/nand/raw/nand_amd.c:		memorg->pages_per_eraseblock <<= ((chip->id.data[3] & 0x03) << 1);
+drivers/mtd/nand/raw/nand_amd.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE |
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	if (ofs & ((1ULL << chip->phys_erase_shift) - 1)) {
+drivers/mtd/nand/raw/nand_base.c:	if (len & ((1ULL << chip->phys_erase_shift) - 1)) {
+drivers/mtd/nand/raw/nand_base.c:	if (WARN_ON(cs > nanddev_ntargets(&chip->base)))
+drivers/mtd/nand/raw/nand_base.c:	chip->cur_cs = cs;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.select_chip)
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.select_chip(chip, cs);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.select_chip)
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.select_chip(chip, -1);
+drivers/mtd/nand/raw/nand_base.c:	chip->cur_cs = -1;
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->controller->lock);
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:			 chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	if (page == 0 && !(chip->options & bbm_flags))
+drivers/mtd/nand/raw/nand_base.c:	if (page == 0 && chip->options & NAND_BBM_FIRSTPAGE)
+drivers/mtd/nand/raw/nand_base.c:	if (page <= 1 && chip->options & NAND_BBM_SECONDPAGE)
+drivers/mtd/nand/raw/nand_base.c:	if (page <= last_page && chip->options & NAND_BBM_LASTPAGE)
+drivers/mtd/nand/raw/nand_base.c:	first_page = (int)(ofs >> chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:		res = chip->ecc.read_oob(chip, first_page + page_offset);
+drivers/mtd/nand/raw/nand_base.c:		bad = chip->oob_poi[chip->badblockpos];
+drivers/mtd/nand/raw/nand_base.c:		if (likely(chip->badblockbits == 8))
+drivers/mtd/nand/raw/nand_base.c:			res = hweight8(bad) < chip->badblockbits;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.block_bad)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.block_bad(chip, ofs);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->suspended) {
+drivers/mtd/nand/raw/nand_base.c:		mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->controller->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BROKEN_XD)
+drivers/mtd/nand/raw/nand_base.c:	memset(chip->oob_poi, 0xff, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:		memcpy(chip->oob_poi + ops->ooboffs, oob, len);
+drivers/mtd/nand/raw/nand_base.c:		ret = mtd_ooblayout_set_databytes(mtd, oob, chip->oob_poi,
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(to >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = (int)(to >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	if (page == chip->pagecache.page)
+drivers/mtd/nand/raw/nand_base.c:		chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_oob_raw(chip, page & chip->pagemask);
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_oob(chip, page & chip->pagemask);
+drivers/mtd/nand/raw/nand_base.c:	ops.ooboffs = chip->badblockpos;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.block_markbad)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.block_markbad(chip, ofs);
+drivers/mtd/nand/raw/nand_base.c: * specify how to write bad block markers to OOB (chip->legacy.block_markbad).
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->bbt_options & NAND_BBT_NO_OOB_BBM)) {
+drivers/mtd/nand/raw/nand_base.c:		einfo.len = 1ULL << chip->phys_erase_shift;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->bbt) {
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->bbt)
+drivers/mtd/nand/raw/nand_base.c:	if (chip->bbt)
+drivers/mtd/nand/raw/nand_base.c:	timings = nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_base.c:			if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_base.c:	return (chip->parameters.supports_set_get_features &&
+drivers/mtd/nand/raw/nand_base.c:		test_bit(addr, chip->parameters.get_feature_list));
+drivers/mtd/nand/raw/nand_base.c:	return (chip->parameters.supports_set_get_features &&
+drivers/mtd/nand/raw/nand_base.c:		test_bit(addr, chip->parameters.set_feature_list));
+drivers/mtd/nand/raw/nand_base.c:	ret = chip->controller->ops->setup_data_interface(chip, chipnr,
+drivers/mtd/nand/raw/nand_base.c:							&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		chip->onfi_timing_mode_default,
+drivers/mtd/nand/raw/nand_base.c:	ret = chip->controller->ops->setup_data_interface(chip, chipnr,
+drivers/mtd/nand/raw/nand_base.c:							&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	if (tmode_param[0] != chip->onfi_timing_mode_default) {
+drivers/mtd/nand/raw/nand_base.c:			chip->onfi_timing_mode_default);
+drivers/mtd/nand/raw/nand_base.c: * function nand_chip->data_interface is initialized with the best timing mode
+drivers/mtd/nand/raw/nand_base.c:	if (chip->parameters.onfi) {
+drivers/mtd/nand/raw/nand_base.c:		modes = chip->parameters.onfi->async_timing_mode;
+drivers/mtd/nand/raw/nand_base.c:		if (!chip->onfi_timing_mode_default)
+drivers/mtd/nand/raw/nand_base.c:		modes = GENMASK(chip->onfi_timing_mode_default, 0);
+drivers/mtd/nand/raw/nand_base.c:		ret = chip->controller->ops->setup_data_interface(chip,
+drivers/mtd/nand/raw/nand_base.c:						 &chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:			chip->onfi_timing_mode_default = mode;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BUSWIDTH_16) {
+drivers/mtd/nand/raw/nand_base.c:		nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:		 !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/nand_base.c:		nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READ0, offset_in_page, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_PARAM, page, -1);
+drivers/mtd/nand/raw/nand_base.c:		p[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_RNDOUT, offset_in_page, -1);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READOOB, offset_in_oob, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:		nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_base.c:			 !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_SEQIN, offset_in_page, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		ret = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_SEQIN, offset_in_page,
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		status = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_RNDIN, offset_in_page, -1);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READID, addr, -1);
+drivers/mtd/nand/raw/nand_base.c:		id[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_STATUS, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		*status = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_READ0, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:			    (chip->phys_erase_shift - chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_ERASE1, -1, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.cmdfunc(chip, NAND_CMD_ERASE2, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		ret = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_SET_FEATURES, feature, -1);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_byte(chip, params[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_GET_FEATURES, feature, -1);
+drivers/mtd/nand/raw/nand_base.c:		params[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->legacy.dev_ready)
+drivers/mtd/nand/raw/nand_base.c:		udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_base.c:			nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:	chip->legacy.cmdfunc(chip, NAND_CMD_RESET, -1, -1);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:			p[i] = chip->legacy.read_byte(chip);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.read_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_base.c:			chip->legacy.write_byte(chip, p[i]);
+drivers/mtd/nand/raw/nand_base.c:		chip->legacy.write_buf(chip, buf, len);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_data_interface saved_data_intf = chip->data_interface;
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->onfi_timing_mode_default)
+drivers/mtd/nand/raw/nand_base.c:	chip->data_interface = saved_data_intf;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.get_features)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.get_features(chip, addr, subfeature_param);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->legacy.set_features)
+drivers/mtd/nand/raw/nand_base.c:		return chip->legacy.set_features(chip, addr, subfeature_param);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:		ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	for (steps = chip->ecc.steps; steps > 0; steps--) {
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	size = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.read_page_raw(chip, buf, 1, page);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	int busw = (chip->options & NAND_BUSWIDTH_16) ? 2 : 1;
+drivers/mtd/nand/raw/nand_base.c:	start_step = data_offs / chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	end_step = (data_offs + readlen - 1) / chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	index = start_step * chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	datafrag_len = num_steps * chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	eccfrag_len = num_steps * chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	data_col_addr = start_step * chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < eccfrag_len ; i += chip->ecc.bytes, p += chip->ecc.size)
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &chip->ecc.calc_buf[i]);
+drivers/mtd/nand/raw/nand_base.c:						 chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_base.c:		if ((oobregion.offset + (num_steps * chip->ecc.bytes)) &
+drivers/mtd/nand/raw/nand_base.c:						 &chip->oob_poi[aligned_pos],
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, chip->ecc.code_buf,
+drivers/mtd/nand/raw/nand_base.c:					 chip->oob_poi, index, eccfrag_len);
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < eccfrag_len ; i += chip->ecc.bytes, p += chip->ecc.size) {
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &chip->ecc.code_buf[i],
+drivers/mtd/nand/raw/nand_base.c:					 &chip->ecc.calc_buf[i]);
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:			stat = nand_check_erased_ecc_chunk(p, chip->ecc.size,
+drivers/mtd/nand/raw/nand_base.c:						&chip->ecc.code_buf[i],
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.bytes,
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, &ecc_code[i], NULL);
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:						chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/nand_base.c:	int ret, i, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	int eccpadbytes = eccbytes + chip->ecc.prepad + chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_READSYN);
+drivers/mtd/nand/raw/nand_base.c:		stat = chip->ecc.correct(chip, p, oob, NULL);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_read_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:		    (chip->ecc.options & NAND_ECC_GENERIC_ERASED_CHECK)) {
+drivers/mtd/nand/raw/nand_base.c:			stat = nand_check_erased_ecc_chunk(p, chip->ecc.size,
+drivers/mtd/nand/raw/nand_base.c:							   chip->ecc.strength);
+drivers/mtd/nand/raw/nand_base.c:	i = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c:		memcpy(oob, chip->oob_poi + ops->ooboffs, len);
+drivers/mtd/nand/raw/nand_base.c:		ret = mtd_ooblayout_get_databytes(mtd, oob, chip->oob_poi,
+drivers/mtd/nand/raw/nand_base.c:	if (retry_mode >= chip->read_retries)
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->setup_read_retry)
+drivers/mtd/nand/raw/nand_base.c:	return chip->setup_read_retry(chip, retry_mode);
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->options & NAND_NEED_READRDY))
+drivers/mtd/nand/raw/nand_base.c:	sdr = nand_get_sdr_timings(&chip->data_interface);
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(from >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	realpage = (int)(from >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:		else if (chip->options & NAND_USE_BOUNCE_BUFFER)
+drivers/mtd/nand/raw/nand_base.c:						 chip->buf_align);
+drivers/mtd/nand/raw/nand_base.c:		if (realpage != chip->pagecache.page || oob) {
+drivers/mtd/nand/raw/nand_base.c:			bufpoi = use_bufpoi ? chip->data_buf : buf;
+drivers/mtd/nand/raw/nand_base.c:				ret = chip->ecc.read_page_raw(chip, bufpoi,
+drivers/mtd/nand/raw/nand_base.c:				ret = chip->ecc.read_subpage(chip, col, bytes,
+drivers/mtd/nand/raw/nand_base.c:				ret = chip->ecc.read_page(chip, bufpoi,
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.page = realpage;
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.bitflips = ret;
+drivers/mtd/nand/raw/nand_base.c:					chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:				memcpy(buf, chip->data_buf + col, bytes);
+drivers/mtd/nand/raw/nand_base.c:				if (retry_mode + 1 < chip->read_retries) {
+drivers/mtd/nand/raw/nand_base.c:			memcpy(buf, chip->data_buf + col, bytes);
+drivers/mtd/nand/raw/nand_base.c:					     chip->pagecache.bitflips);
+drivers/mtd/nand/raw/nand_base.c:		page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:	int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *bufpoi = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_read_page_op(chip, page, chip->ecc.size, NULL, 0);
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < chip->ecc.steps; i++) {
+drivers/mtd/nand/raw/nand_base.c:	return nand_prog_page_op(chip, page, mtd->writesize, chip->oob_poi,
+drivers/mtd/nand/raw/nand_base.c:	int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size, length = mtd->oobsize;
+drivers/mtd/nand/raw/nand_base.c:	int ret, i, len, pos, sndcmd = 0, steps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	const uint8_t *bufpoi = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->ecc.prepad && !chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(from >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	realpage = (int)(from >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:			ret = chip->ecc.read_oob_raw(chip, page);
+drivers/mtd/nand/raw/nand_base.c:			ret = chip->ecc.read_oob(chip, page);
+drivers/mtd/nand/raw/nand_base.c:		page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:		ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	for (steps = chip->ecc.steps; steps > 0; steps--) {
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	size = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	return chip->ecc.write_page_raw(chip, buf, 1, page);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size, ret;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, &ecc_calc[i]);
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob_buf  = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	int ecc_size      = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int ecc_bytes     = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int ecc_steps     = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/nand_base.c:			chip->ecc.calculate(chip, buf, ecc_calc);
+drivers/mtd/nand/raw/nand_base.c:	/* copy calculated ECC for whole page to chip->buffer->oob */
+drivers/mtd/nand/raw/nand_base.c:	ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/nand_base.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/nand_base.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	int i, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/nand_base.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/nand_base.c:	uint8_t *oob = chip->oob_poi;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.prepad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.prepad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.prepad;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.calculate(chip, p, oob);
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.postpad) {
+drivers/mtd/nand/raw/nand_base.c:			ret = nand_write_data_op(chip, oob, chip->ecc.postpad,
+drivers/mtd/nand/raw/nand_base.c:			oob += chip->ecc.postpad;
+drivers/mtd/nand/raw/nand_base.c:	i = mtd->oobsize - (oob - chip->oob_poi);
+drivers/mtd/nand/raw/nand_base.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->options & NAND_NO_SUBPAGE_WRITE) &&
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.write_subpage)
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_page_raw(chip, buf, oob_required,
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_subpage(chip, offset, data_len, buf,
+drivers/mtd/nand/raw/nand_base.c:		status = chip->ecc.write_page(chip, buf, oob_required, page);
+drivers/mtd/nand/raw/nand_base.c:#define NOTALIGNED(x)	((x & (chip->subpagesize - 1)) != 0)
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(to >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	realpage = (int)(to >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	if (to <= ((loff_t)chip->pagecache.page << chip->page_shift) &&
+drivers/mtd/nand/raw/nand_base.c:	    ((loff_t)chip->pagecache.page << chip->page_shift) < (to + ops->len))
+drivers/mtd/nand/raw/nand_base.c:		chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		else if (chip->options & NAND_USE_BOUNCE_BUFFER)
+drivers/mtd/nand/raw/nand_base.c:						 chip->buf_align);
+drivers/mtd/nand/raw/nand_base.c:			memset(chip->oob_poi, 0xff, mtd->oobsize);
+drivers/mtd/nand/raw/nand_base.c:		page = realpage & chip->pagemask;
+drivers/mtd/nand/raw/nand_base.c:	int chipnr = (int)(to >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	return chip->write_oob(chip, to, ops);
+drivers/mtd/nand/raw/nand_base.c:	return chip->erase(chip, instr, 0);
+drivers/mtd/nand/raw/nand_base.c:	page = (int)(instr->addr >> chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:	chipnr = (int)(instr->addr >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	pages_per_block = 1 << (chip->phys_erase_shift - chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:					chip->page_shift, allowbbt)) {
+drivers/mtd/nand/raw/nand_base.c:		if (page <= chip->pagecache.page && chip->pagecache.page <
+drivers/mtd/nand/raw/nand_base.c:			chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		ret = nand_erase_op(chip, (page & chip->pagemask) >>
+drivers/mtd/nand/raw/nand_base.c:				    (chip->phys_erase_shift - chip->page_shift));
+drivers/mtd/nand/raw/nand_base.c:				((loff_t)page << chip->page_shift);
+drivers/mtd/nand/raw/nand_base.c:		len -= (1ULL << chip->phys_erase_shift);
+drivers/mtd/nand/raw/nand_base.c:		if (len && !(page & chip->pagemask)) {
+drivers/mtd/nand/raw/nand_base.c:	int chipnr = (int)(offs >> chip->chip_shift);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	chip->suspended = 1;
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	mutex_lock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->suspended)
+drivers/mtd/nand/raw/nand_base.c:		chip->suspended = 0;
+drivers/mtd/nand/raw/nand_base.c:	mutex_unlock(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->controller) {
+drivers/mtd/nand/raw/nand_base.c:		chip->controller = &chip->legacy.dummy_controller;
+drivers/mtd/nand/raw/nand_base.c:		nand_controller_init(chip->controller);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->buf_align)
+drivers/mtd/nand/raw/nand_base.c:		chip->buf_align = 1;
+drivers/mtd/nand/raw/nand_base.c:	chip->erase = nand_erase_nand;
+drivers/mtd/nand/raw/nand_base.c:	chip->write_oob = nand_write_oob_nand;
+drivers/mtd/nand/raw/nand_base.c:	u8 *id_data = chip->id.data;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	if (mtd->writesize > 512 || (chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/nand_base.c:		chip->badblockpos = NAND_BBM_POS_LARGE;
+drivers/mtd/nand/raw/nand_base.c:		chip->badblockpos = NAND_BBM_POS_SMALL;
+drivers/mtd/nand/raw/nand_base.c:	u8 *id_data = chip->id.data;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= type->options;
+drivers/mtd/nand/raw/nand_base.c:		chip->base.eccreq.strength = NAND_ECC_STRENGTH(type);
+drivers/mtd/nand/raw/nand_base.c:		chip->base.eccreq.step_size = NAND_ECC_STEP(type);
+drivers/mtd/nand/raw/nand_base.c:		chip->onfi_timing_mode_default =
+drivers/mtd/nand/raw/nand_base.c:		chip->parameters.model = kstrdup(type->name, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_base.c:		if (!chip->parameters.model)
+drivers/mtd/nand/raw/nand_base.c:	if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
+drivers/mtd/nand/raw/nand_base.c:	    chip->manufacturer.desc->ops->detect) {
+drivers/mtd/nand/raw/nand_base.c:		memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:		memorg->bits_per_cell = nand_get_bits_per_cell(chip->id.data[2]);
+drivers/mtd/nand/raw/nand_base.c:		chip->manufacturer.desc->ops->detect(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->manufacturer.desc || !chip->manufacturer.desc->ops ||
+drivers/mtd/nand/raw/nand_base.c:	    !chip->manufacturer.desc->ops->init)
+drivers/mtd/nand/raw/nand_base.c:	return chip->manufacturer.desc->ops->init(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
+drivers/mtd/nand/raw/nand_base.c:	    chip->manufacturer.desc->ops->cleanup)
+drivers/mtd/nand/raw/nand_base.c:		chip->manufacturer.desc->ops->cleanup(chip);
+drivers/mtd/nand/raw/nand_base.c:	u8 *id_data = chip->id.data;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	ret = nand_readid_op(chip, 0, id_data, sizeof(chip->id.data));
+drivers/mtd/nand/raw/nand_base.c:	chip->id.len = nand_id_len(id_data, ARRAY_SIZE(chip->id.data));
+drivers/mtd/nand/raw/nand_base.c:	chip->manufacturer.desc = manufacturer;
+drivers/mtd/nand/raw/nand_base.c:	busw = chip->options & NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:	chip->options &= ~NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:	chip->parameters.model = kstrdup(type->name, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->parameters.model)
+drivers/mtd/nand/raw/nand_base.c:	chip->options |= type->options;
+drivers/mtd/nand/raw/nand_base.c:		mtd->name = chip->parameters.model;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_BUSWIDTH_AUTO) {
+drivers/mtd/nand/raw/nand_base.c:	} else if (busw != (chip->options & NAND_BUSWIDTH_16)) {
+drivers/mtd/nand/raw/nand_base.c:			(chip->options & NAND_BUSWIDTH_16) ? 16 : 8);
+drivers/mtd/nand/raw/nand_base.c:	chip->page_shift = ffs(mtd->writesize) - 1;
+drivers/mtd/nand/raw/nand_base.c:	targetsize = nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	chip->pagemask = (targetsize >> chip->page_shift) - 1;
+drivers/mtd/nand/raw/nand_base.c:	chip->bbt_erase_shift = chip->phys_erase_shift =
+drivers/mtd/nand/raw/nand_base.c:		chip->chip_shift = ffs((unsigned)targetsize) - 1;
+drivers/mtd/nand/raw/nand_base.c:		chip->chip_shift = ffs((unsigned)(targetsize >> 32));
+drivers/mtd/nand/raw/nand_base.c:		chip->chip_shift += 32 - 1;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->chip_shift - chip->page_shift > 16)
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_ROW_ADDR_3;
+drivers/mtd/nand/raw/nand_base.c:	chip->badblockbits = 8;
+drivers/mtd/nand/raw/nand_base.c:		chip->parameters.model);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->parameters.model);
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_base.c:		chip->options |= NAND_IS_BOOT_MEDIUM;
+drivers/mtd/nand/raw/nand_base.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.mode = ecc_mode;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.algo = ecc_algo;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.strength = ecc_strength;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.size = ecc_step;
+drivers/mtd/nand/raw/nand_base.c:		chip->ecc.options |= NAND_ECC_MAXIMIZE;
+drivers/mtd/nand/raw/nand_base.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	chip->cur_cs = -1;
+drivers/mtd/nand/raw/nand_base.c:	mutex_init(&chip->lock);
+drivers/mtd/nand/raw/nand_base.c:		if (!(chip->options & NAND_SCAN_SILENT_NODEV))
+drivers/mtd/nand/raw/nand_base.c:	nand_maf_id = chip->id.data[0];
+drivers/mtd/nand/raw/nand_base.c:	nand_dev_id = chip->id.data[1];
+drivers/mtd/nand/raw/nand_base.c:	mtd->size = i * nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->parameters.model);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->parameters.onfi);
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	int preset_step = chip->ecc.size;
+drivers/mtd/nand/raw/nand_base.c:	int preset_strength = chip->ecc.strength;
+drivers/mtd/nand/raw/nand_base.c:			chip->ecc.bytes = ecc_bytes;
+drivers/mtd/nand/raw/nand_base.c:	int req_step = chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/nand_base.c:	int req_strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.size = best_step;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.strength = best_strength;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.bytes = best_ecc_bytes;
+drivers/mtd/nand/raw/nand_base.c:		/* If chip->ecc.size is already set, respect it */
+drivers/mtd/nand/raw/nand_base.c:		if (chip->ecc.size && step_size != chip->ecc.size)
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.size = best_step;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.strength = best_strength;
+drivers/mtd/nand/raw/nand_base.c:	chip->ecc.bytes = best_ecc_bytes;
+drivers/mtd/nand/raw/nand_base.c:	if (chip->ecc.size && chip->ecc.strength)
+drivers/mtd/nand/raw/nand_base.c:	if (chip->ecc.options & NAND_ECC_MAXIMIZE)
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	if (ecc->size == 0 || chip->base.eccreq.step_size == 0)
+drivers/mtd/nand/raw/nand_base.c:	ds_corr = (mtd->writesize * chip->base.eccreq.strength) /
+drivers/mtd/nand/raw/nand_base.c:		  chip->base.eccreq.step_size;
+drivers/mtd/nand/raw/nand_base.c:	return corr >= ds_corr && ecc->strength >= chip->base.eccreq.strength;
+drivers/mtd/nand/raw/nand_base.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/nand_base.c:	if (WARN_ON((chip->bbt_options & NAND_BBT_NO_OOB_BBM) &&
+drivers/mtd/nand/raw/nand_base.c:		   !(chip->bbt_options & NAND_BBT_USE_FLASH))) {
+drivers/mtd/nand/raw/nand_base.c:	chip->data_buf = kmalloc(mtd->writesize + mtd->oobsize, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_base.c:	if (!chip->data_buf)
+drivers/mtd/nand/raw/nand_base.c:	chip->oob_poi = chip->data_buf + mtd->writesize;
+drivers/mtd/nand/raw/nand_base.c:	if (!(chip->options & NAND_NO_SUBPAGE_WRITE) && nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_base.c:	chip->subpagesize = mtd->writesize >> mtd->subpage_sft;
+drivers/mtd/nand/raw/nand_base.c:	chip->pagecache.page = -1;
+drivers/mtd/nand/raw/nand_base.c:		if (chip->page_shift > 9)
+drivers/mtd/nand/raw/nand_base.c:			chip->options |= NAND_SUBPAGE_READ;
+drivers/mtd/nand/raw/nand_base.c:	ret = nanddev_init(&chip->base, &rawnand_ops, mtd->owner);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_ROM)
+drivers/mtd/nand/raw/nand_base.c:	for (i = 0; i < nanddev_ntargets(&chip->base); i++) {
+drivers/mtd/nand/raw/nand_base.c:	if (chip->options & NAND_SKIP_BBTSCAN)
+drivers/mtd/nand/raw/nand_base.c:	nanddev_cleanup(&chip->base);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->data_buf);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->controller->ops && chip->controller->ops->attach_chip)
+drivers/mtd/nand/raw/nand_base.c:		return chip->controller->ops->attach_chip(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->controller->ops && chip->controller->ops->detach_chip)
+drivers/mtd/nand/raw/nand_base.c:		chip->controller->ops->detach_chip(chip);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->ecc.mode == NAND_ECC_SOFT &&
+drivers/mtd/nand/raw/nand_base.c:	    chip->ecc.algo == NAND_ECC_BCH)
+drivers/mtd/nand/raw/nand_base.c:		nand_bch_free((struct nand_bch_control *)chip->ecc.priv);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->bbt);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->data_buf);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->ecc.code_buf);
+drivers/mtd/nand/raw/nand_base.c:	kfree(chip->ecc.calc_buf);
+drivers/mtd/nand/raw/nand_base.c:	if (chip->badblock_pattern && chip->badblock_pattern->options
+drivers/mtd/nand/raw/nand_base.c:		kfree(chip->badblock_pattern);
+drivers/mtd/nand/raw/nand_bbt.c:	uint8_t entry = chip->bbt[block >> BBT_ENTRY_SHIFT];
+drivers/mtd/nand/raw/nand_bbt.c:	chip->bbt[block >> BBT_ENTRY_SHIFT] |= msk;
+drivers/mtd/nand/raw/nand_bch.c:	struct nand_bch_control *nbc = chip->ecc.priv;
+drivers/mtd/nand/raw/nand_bch.c:	memset(code, 0, chip->ecc.bytes);
+drivers/mtd/nand/raw/nand_bch.c:	encode_bch(nbc->bch, buf, chip->ecc.size, code);
+drivers/mtd/nand/raw/nand_bch.c:	for (i = 0; i < chip->ecc.bytes; i++)
+drivers/mtd/nand/raw/nand_bch.c:	struct nand_bch_control *nbc = chip->ecc.priv;
+drivers/mtd/nand/raw/nand_bch.c:	count = decode_bch(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc,
+drivers/mtd/nand/raw/nand_bch.c:			if (errloc[i] < (chip->ecc.size*8))
+drivers/mtd/nand/raw/nand_ecc.c:	bool sm_order = chip->ecc.options & NAND_ECC_SOFT_HAMMING_SM_ORDER;
+drivers/mtd/nand/raw/nand_ecc.c:	__nand_calculate_ecc(buf, chip->ecc.size, code, sm_order);
+drivers/mtd/nand/raw/nand_ecc.c:	bool sm_order = chip->ecc.options & NAND_ECC_SOFT_HAMMING_SM_ORDER;
+drivers/mtd/nand/raw/nand_ecc.c:	return __nand_correct_data(buf, read_ecc, calc_ecc, chip->ecc.size,
+drivers/mtd/nand/raw/nand_esmt.c:	if (chip->id.len >= 5 && nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_esmt.c:		chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_esmt.c:		switch (chip->id.data[4] & 0x3) {
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.strength = 4;
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.strength = 2;
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.strength = 1;
+drivers/mtd/nand/raw/nand_esmt.c:			chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_esmt.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE |
+drivers/mtd/nand/raw/nand_hynix.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->legacy.cmdfunc(chip, cmd, -1, -1);
+drivers/mtd/nand/raw/nand_hynix.c:		struct nand_operation op = NAND_OPERATION(chip->cur_cs, instrs);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->legacy.cmdfunc(chip, NAND_CMD_NONE, column, -1);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->legacy.write_byte(chip, val);
+drivers/mtd/nand/raw/nand_hynix.c:	chip->setup_read_retry = hynix_nand_setup_read_retry;
+drivers/mtd/nand/raw/nand_hynix.c:	chip->read_retries = nmodes;
+drivers/mtd/nand/raw/nand_hynix.c:		u8 nand_tech = chip->id.data[5] >> 4;
+drivers/mtd/nand/raw/nand_hynix.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_hynix.c:	oobsize = ((chip->id.data[3] >> 2) & 0x3) |
+drivers/mtd/nand/raw/nand_hynix.c:		  ((chip->id.data[3] >> 4) & 0x4);
+drivers/mtd/nand/raw/nand_hynix.c:		if (chip->id.data[1] == 0xde)
+drivers/mtd/nand/raw/nand_hynix.c:	u8 ecc_level = (chip->id.data[4] >> 4) & 0x7;
+drivers/mtd/nand/raw/nand_hynix.c:		chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 0;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 4;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 24;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 32;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 40;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 50;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->base.eccreq.strength = 60;
+drivers/mtd/nand/raw/nand_hynix.c:		u8 nand_tech = chip->id.data[5] & 0x7;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 1 << ecc_level;
+drivers/mtd/nand/raw/nand_hynix.c:					chip->base.eccreq.step_size = 2048;
+drivers/mtd/nand/raw/nand_hynix.c:					chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 24;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 0;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 1 << (ecc_level - 1);
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_hynix.c:				chip->base.eccreq.strength = 24 +
+drivers/mtd/nand/raw/nand_hynix.c:	if (nanddev_bits_per_cell(&chip->base) > 2)
+drivers/mtd/nand/raw/nand_hynix.c:		chip->options |= NAND_NEED_SCRAMBLING;
+drivers/mtd/nand/raw/nand_hynix.c:		nand_tech = chip->id.data[5] >> 4;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->options |= NAND_NEED_SCRAMBLING;
+drivers/mtd/nand/raw/nand_hynix.c:		nand_tech = chip->id.data[5] & 0x7;
+drivers/mtd/nand/raw/nand_hynix.c:			chip->options |= NAND_NEED_SCRAMBLING;
+drivers/mtd/nand/raw/nand_hynix.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_hynix.c:	if (chip->id.len < 6 || nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_hynix.c:	memorg->pagesize = 2048 << (chip->id.data[3] & 0x03);
+drivers/mtd/nand/raw/nand_hynix.c:	tmp = (chip->id.data[3] >> 4) & 0x3;
+drivers/mtd/nand/raw/nand_hynix.c:	if (chip->id.data[3] & 0x80) {
+drivers/mtd/nand/raw/nand_hynix.c:		chip->options |= NAND_BBM_LASTPAGE;
+drivers/mtd/nand/raw/nand_hynix.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_jedec.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_jedec.c:	chip->parameters.model = kstrdup(p->model, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_jedec.c:	if (!chip->parameters.model) {
+drivers/mtd/nand/raw/nand_jedec.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_jedec.c:		chip->base.eccreq.strength = ecc->ecc_bits;
+drivers/mtd/nand/raw/nand_jedec.c:		chip->base.eccreq.step_size = 1 << ecc->codeword_size;
+drivers/mtd/nand/raw/nand_legacy.c:	return readb(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/nand_legacy.c:	return (uint8_t) cpu_to_le16(readw(chip->legacy.IO_ADDR_R));
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.write_buf(chip, &byte, 1);
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.write_buf(chip, (uint8_t *)&word, 2);
+drivers/mtd/nand/raw/nand_legacy.c:	iowrite8_rep(chip->legacy.IO_ADDR_W, buf, len);
+drivers/mtd/nand/raw/nand_legacy.c:	ioread8_rep(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/nand_legacy.c:	iowrite16_rep(chip->legacy.IO_ADDR_W, p, len >> 1);
+drivers/mtd/nand/raw/nand_legacy.c:	ioread16_rep(chip->legacy.IO_ADDR_R, p, len >> 1);
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, readcmd, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, command, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->options & NAND_BUSWIDTH_16 &&
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, column, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, page_addr, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, page_addr >> 8, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, page_addr >> 16, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready)
+drivers/mtd/nand/raw/nand_legacy.c:		udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_STATUS,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (!chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_legacy.c:			udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:	if (!(chip->options & NAND_WAIT_TCCS))
+drivers/mtd/nand/raw/nand_legacy.c:		ndelay(chip->data_interface.timings.sdr.tCCS_min / 1000);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, command,
+drivers/mtd/nand/raw/nand_legacy.c:			if (chip->options & NAND_BUSWIDTH_16 &&
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, column, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:				chip->legacy.cmd_ctrl(chip, column >> 8, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, page_addr, ctrl);
+drivers/mtd/nand/raw/nand_legacy.c:			chip->legacy.cmd_ctrl(chip, page_addr >> 8,
+drivers/mtd/nand/raw/nand_legacy.c:			if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/nand_legacy.c:				chip->legacy.cmd_ctrl(chip, page_addr >> 16,
+drivers/mtd/nand/raw/nand_legacy.c:	chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (chip->legacy.dev_ready)
+drivers/mtd/nand/raw/nand_legacy.c:		udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_STATUS,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_RNDOUTSTART,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_READSTART,
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmd_ctrl(chip, NAND_CMD_NONE,
+drivers/mtd/nand/raw/nand_legacy.c:		if (!chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_legacy.c:			udelay(chip->legacy.chip_delay);
+drivers/mtd/nand/raw/nand_legacy.c:			if (chip->legacy.dev_ready) {
+drivers/mtd/nand/raw/nand_legacy.c:				if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/nand_legacy.c:	unsigned int busw = chip->options & NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.chip_delay)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.chip_delay = 20;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.cmdfunc)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmdfunc = nand_command;
+drivers/mtd/nand/raw/nand_legacy.c:	if (chip->legacy.waitfunc == NULL)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.waitfunc = nand_wait;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.select_chip)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.select_chip = nand_select_chip;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.read_byte || chip->legacy.read_byte == nand_read_byte)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.read_byte = busw ? nand_read_byte16 : nand_read_byte;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.write_buf || chip->legacy.write_buf == nand_write_buf)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.write_buf = busw ? nand_write_buf16 : nand_write_buf;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.write_byte || chip->legacy.write_byte == nand_write_byte)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.write_byte = busw ? nand_write_byte16 : nand_write_byte;
+drivers/mtd/nand/raw/nand_legacy.c:	if (!chip->legacy.read_buf || chip->legacy.read_buf == nand_read_buf)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.read_buf = busw ? nand_read_buf16 : nand_read_buf;
+drivers/mtd/nand/raw/nand_legacy.c:	if (mtd->writesize > 512 && chip->legacy.cmdfunc == nand_command)
+drivers/mtd/nand/raw/nand_legacy.c:		chip->legacy.cmdfunc = nand_command_lp;
+drivers/mtd/nand/raw/nand_legacy.c:	if ((!chip->legacy.cmdfunc || !chip->legacy.select_chip) &&
+drivers/mtd/nand/raw/nand_legacy.c:	    !chip->legacy.cmd_ctrl) {
+drivers/mtd/nand/raw/nand_macronix.c:	if (!chip->parameters.supports_set_get_features ||
+drivers/mtd/nand/raw/nand_macronix.c:		      chip->parameters.set_feature_list))
+drivers/mtd/nand/raw/nand_macronix.c:	struct nand_parameters *p = &chip->parameters;
+drivers/mtd/nand/raw/nand_macronix.c:	chip->read_retries = MACRONIX_NUM_READ_RETRY_MODES;
+drivers/mtd/nand/raw/nand_macronix.c:	chip->setup_read_retry = macronix_nand_setup_read_retry;
+drivers/mtd/nand/raw/nand_macronix.c:	if (!chip->parameters.supports_set_get_features)
+drivers/mtd/nand/raw/nand_macronix.c:		if (!strcmp(broken_get_timings[i], chip->parameters.model))
+drivers/mtd/nand/raw/nand_macronix.c:	bitmap_clear(chip->parameters.get_feature_list,
+drivers/mtd/nand/raw/nand_macronix.c:	bitmap_clear(chip->parameters.set_feature_list,
+drivers/mtd/nand/raw/nand_macronix.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_micron.c:	struct nand_parameters *p = &chip->parameters;
+drivers/mtd/nand/raw/nand_micron.c:		chip->read_retries = micron->read_retry_options;
+drivers/mtd/nand/raw/nand_micron.c:		chip->setup_read_retry = micron_nand_setup_read_retry;
+drivers/mtd/nand/raw/nand_micron.c:	oobregion->offset = mtd->oobsize - chip->ecc.total;
+drivers/mtd/nand/raw/nand_micron.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/nand_micron.c:	oobregion->length = mtd->oobsize - chip->ecc.total - 2;
+drivers/mtd/nand/raw/nand_micron.c:		ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_micron.c:	for (step = 0; step < chip->ecc.steps; step++) {
+drivers/mtd/nand/raw/nand_micron.c:		offs = step * chip->ecc.size;
+drivers/mtd/nand/raw/nand_micron.c:		for (i = 0; i < chip->ecc.size; i++)
+drivers/mtd/nand/raw/nand_micron.c:		corrbuf = chip->oob_poi + offs;
+drivers/mtd/nand/raw/nand_micron.c:		for (i = 0; i < chip->ecc.bytes + 4; i++)
+drivers/mtd/nand/raw/nand_micron.c:		if (WARN_ON(nbitflips > chip->ecc.strength))
+drivers/mtd/nand/raw/nand_micron.c:		ret = nand_read_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/nand_micron.c:	if (chip->ecc.strength == 4)
+drivers/mtd/nand/raw/nand_micron.c:	if (!chip->parameters.onfi)
+drivers/mtd/nand/raw/nand_micron.c:	if (nanddev_bits_per_cell(&chip->base) != 1)
+drivers/mtd/nand/raw/nand_micron.c:	if  (chip->base.eccreq.strength != 4 && chip->base.eccreq.strength != 8)
+drivers/mtd/nand/raw/nand_micron.c:	if (chip->id.len != 5 ||
+drivers/mtd/nand/raw/nand_micron.c:	    (chip->id.data[4] & MICRON_ID_INTERNAL_ECC_MASK) != 0x2)
+drivers/mtd/nand/raw/nand_micron.c:	if  (chip->base.eccreq.strength != 4 && chip->base.eccreq.strength != 8)
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int page = eb * nanddev_page_per_eraseblock(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:					      nanddev_page_size(&chip->base)
+drivers/mtd/nand/raw/nand_micron.c:					      chip->data_buf, page,
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int eb_sz = nanddev_eraseblock_size(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int eb_sz = nanddev_eraseblock_size(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int p_sz = nanddev_page_size(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	unsigned int ppeb = nanddev_pages_per_eraseblock(&chip->base);
+drivers/mtd/nand/raw/nand_micron.c:	chip->options |= NAND_BBM_FIRSTPAGE;
+drivers/mtd/nand/raw/nand_micron.c:		chip->options |= NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_micron.c:	    chip->ecc.mode != NAND_ECC_ON_DIE) {
+drivers/mtd/nand/raw/nand_micron.c:	if (chip->ecc.mode == NAND_ECC_ON_DIE) {
+drivers/mtd/nand/raw/nand_micron.c:		if (chip->base.eccreq.strength == 4) {
+drivers/mtd/nand/raw/nand_micron.c:		if (chip->base.eccreq.strength == 4)
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.bytes = chip->base.eccreq.strength * 2;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.strength = chip->base.eccreq.strength;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.read_page = micron_nand_read_page_on_die_ecc;
+drivers/mtd/nand/raw/nand_micron.c:		chip->ecc.write_page = micron_nand_write_page_on_die_ecc;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.read_page_raw = nand_read_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.write_page_raw = nand_write_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.read_page_raw = nand_read_page_raw;
+drivers/mtd/nand/raw/nand_micron.c:			chip->ecc.write_page_raw = nand_write_page_raw;
+drivers/mtd/nand/raw/nand_micron.c:					   nanddev_neraseblocks(&chip->base),
+drivers/mtd/nand/raw/nand_micron.c:		chip->erase = micron_nand_erase;
+drivers/mtd/nand/raw/nand_micron.c:		chip->write_oob = micron_nand_write_oob;
+drivers/mtd/nand/raw/nand_onfi.c:	chip->base.eccreq.strength = ecc->ecc_bits;
+drivers/mtd/nand/raw/nand_onfi.c:	chip->base.eccreq.step_size = 1 << ecc->codeword_size;
+drivers/mtd/nand/raw/nand_onfi.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_onfi.c:	if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
+drivers/mtd/nand/raw/nand_onfi.c:	    chip->manufacturer.desc->ops->fixup_onfi_param_page)
+drivers/mtd/nand/raw/nand_onfi.c:		chip->manufacturer.desc->ops->fixup_onfi_param_page(chip, p);
+drivers/mtd/nand/raw/nand_onfi.c:	chip->parameters.model = kstrdup(p->model, GFP_KERNEL);
+drivers/mtd/nand/raw/nand_onfi.c:	if (!chip->parameters.model) {
+drivers/mtd/nand/raw/nand_onfi.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nand_onfi.c:		chip->base.eccreq.strength = p->ecc_bits;
+drivers/mtd/nand/raw/nand_onfi.c:		chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_onfi.c:		 * by the chip->legacy.cmdfunc. So try to update the
+drivers/mtd/nand/raw/nand_onfi.c:		 * chip->legacy.cmdfunc now. We do not replace user supplied
+drivers/mtd/nand/raw/nand_onfi.c:		chip->parameters.supports_set_get_features = true;
+drivers/mtd/nand/raw/nand_onfi.c:		bitmap_set(chip->parameters.get_feature_list,
+drivers/mtd/nand/raw/nand_onfi.c:		bitmap_set(chip->parameters.set_feature_list,
+drivers/mtd/nand/raw/nand_onfi.c:	chip->parameters.onfi = onfi;
+drivers/mtd/nand/raw/nand_onfi.c:	kfree(chip->parameters.model);
+drivers/mtd/nand/raw/nand_samsung.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_samsung.c:	if (chip->id.len == 6 && !nand_is_slc(chip) &&
+drivers/mtd/nand/raw/nand_samsung.c:	    chip->id.data[5] != 0x00) {
+drivers/mtd/nand/raw/nand_samsung.c:		u8 extid = chip->id.data[3];
+drivers/mtd/nand/raw/nand_samsung.c:		extid = (chip->id.data[4] >> 4) & 0x07;
+drivers/mtd/nand/raw/nand_samsung.c:			chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_samsung.c:			chip->base.eccreq.strength = 1 << extid;
+drivers/mtd/nand/raw/nand_samsung.c:			chip->base.eccreq.step_size = 1024;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 24;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 40;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 60;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_samsung.c:			switch (chip->id.data[1]) {
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_samsung.c:				chip->base.eccreq.strength = 1;
+drivers/mtd/nand/raw/nand_samsung.c:				if (chip->id.len > 4 &&
+drivers/mtd/nand/raw/nand_samsung.c:				    (chip->id.data[4] & GENMASK(1, 0)) == 0x1)
+drivers/mtd/nand/raw/nand_samsung.c:					chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/nand_samsung.c:		chip->options |= NAND_SAMSUNG_LP_OPTIONS;
+drivers/mtd/nand/raw/nand_samsung.c:		chip->options |= NAND_BBM_LASTPAGE;
+drivers/mtd/nand/raw/nand_samsung.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_timings.c:	struct nand_data_interface *iface = &chip->data_interface;
+drivers/mtd/nand/raw/nand_timings.c:	struct onfi_params *onfi = chip->parameters.onfi;
+drivers/mtd/nand/raw/nand_toshiba.c:	 * This is why chip->ecc.bytes = 0.
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.bytes = 0;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.strength = 8;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.read_page = toshiba_nand_read_page_benand;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.read_subpage = toshiba_nand_read_subpage_benand;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.write_page = nand_write_page_raw;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.read_page_raw = nand_read_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->ecc.write_page_raw = nand_write_page_raw_notsupp;
+drivers/mtd/nand/raw/nand_toshiba.c:	chip->options |= NAND_SUBPAGE_READ;
+drivers/mtd/nand/raw/nand_toshiba.c:	memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nand_toshiba.c:	if (chip->id.len >= 6 && nand_is_slc(chip) &&
+drivers/mtd/nand/raw/nand_toshiba.c:	    (chip->id.data[5] & 0x7) == 0x6 /* 24nm */ &&
+drivers/mtd/nand/raw/nand_toshiba.c:	    !(chip->id.data[4] & 0x80) /* !BENAND */) {
+drivers/mtd/nand/raw/nand_toshiba.c:	if (chip->id.len >= 6 && nand_is_slc(chip)) {
+drivers/mtd/nand/raw/nand_toshiba.c:		chip->base.eccreq.step_size = 512;
+drivers/mtd/nand/raw/nand_toshiba.c:		switch (chip->id.data[5] & 0x7) {
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.strength = 1;
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.strength = 4;
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.strength = 8;
+drivers/mtd/nand/raw/nand_toshiba.c:			chip->base.eccreq.step_size = 0;
+drivers/mtd/nand/raw/nand_toshiba.c:		chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE;
+drivers/mtd/nand/raw/nand_toshiba.c:	if (nand_is_slc(chip) && chip->ecc.mode == NAND_ECC_ON_DIE &&
+drivers/mtd/nand/raw/nand_toshiba.c:	    chip->id.data[4] & TOSHIBA_NAND_ID4_IS_BENAND)
+drivers/mtd/nand/raw/nandsim.c:	ns->busw = chip->options & NAND_BUSWIDTH_16 ? 16 : 8;
+drivers/mtd/nand/raw/nandsim.c:	ns->geom.pgshift  = chip->page_shift;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.strength = bch;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.bytes = eccbytes;
+drivers/mtd/nand/raw/nandsim.c:	NS_INFO("Using %u-bit/%u bytes BCH ECC\n", bch, chip->ecc.size);
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.mode   = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/nandsim.c:	chip->ecc.algo   = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/nandsim.c:	chip->options   |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/nandsim.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/nandsim.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/nandsim.c:		chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/nandsim.c:	chip->controller = &ns->base;
+drivers/mtd/nand/raw/nandsim.c:		memorg = nanddev_get_memorg(&chip->base);
+drivers/mtd/nand/raw/nandsim.c:		targetsize = nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/nandsim.c:		chip->chip_shift = ffs(nsmtd->erasesize) + overridesize - 1;
+drivers/mtd/nand/raw/nandsim.c:		chip->pagemask = (targetsize >> chip->page_shift) - 1;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.IO_ADDR_R = ndfc->ndfcbase + NDFC_DATA;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.IO_ADDR_W = ndfc->ndfcbase + NDFC_DATA;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.cmd_ctrl = ndfc_hwcontrol;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.dev_ready = ndfc_ready;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.select_chip = ndfc_select_chip;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.chip_delay = 50;
+drivers/mtd/nand/raw/ndfc.c:	chip->controller = &ndfc->ndfc_control;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.read_buf = ndfc_read_buf;
+drivers/mtd/nand/raw/ndfc.c:	chip->legacy.write_buf = ndfc_write_buf;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.correct = nand_correct_data;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.hwctl = ndfc_enable_hwecc;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.calculate = ndfc_calculate_ecc;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.size = 256;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.bytes = 3;
+drivers/mtd/nand/raw/ndfc.c:	chip->ecc.strength = 1;
+drivers/mtd/nand/raw/omap2.c:	unsigned int dev_width = (chip->options & NAND_BUSWIDTH_16) ? 1 : 0;
+drivers/mtd/nand/raw/omap2.c:		nsectors = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:		nsectors = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:		nsectors = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:	dev_width = (chip->options & NAND_BUSWIDTH_16) ? 1 : 0;
+drivers/mtd/nand/raw/omap2.c: * @oob_required:	must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/omap2.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, buf, mtd->writesize);
+drivers/mtd/nand/raw/omap2.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/omap2.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/omap2.c: * @oob_required: must write chip->oob_poi to OOB
+drivers/mtd/nand/raw/omap2.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	int ecc_size      = chip->ecc.size;
+drivers/mtd/nand/raw/omap2.c:	int ecc_bytes     = chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:	int ecc_steps     = chip->ecc.steps;
+drivers/mtd/nand/raw/omap2.c:	chip->ecc.hwctl(chip, NAND_ECC_WRITE);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, buf, mtd->writesize);
+drivers/mtd/nand/raw/omap2.c:	/* copy calculated ECC for whole page to chip->buffer->oob */
+drivers/mtd/nand/raw/omap2.c:	ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	ret = mtd_ooblayout_set_eccbytes(mtd, ecc_calc, chip->oob_poi, 0,
+drivers/mtd/nand/raw/omap2.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/omap2.c: * @oob_required:	caller requires OOB data read to chip->oob_poi
+drivers/mtd/nand/raw/omap2.c:	uint8_t *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/omap2.c:	uint8_t *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/omap2.c:	chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/omap2.c:	chip->legacy.read_buf(chip, buf, mtd->writesize);
+drivers/mtd/nand/raw/omap2.c:				   chip->oob_poi + BADBLOCK_MARKER_LENGTH,
+drivers/mtd/nand/raw/omap2.c:				   chip->ecc.total, false);
+drivers/mtd/nand/raw/omap2.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/omap2.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/omap2.c:	stat = chip->ecc.correct(chip, buf, ecc_code, ecc_calc);
+drivers/mtd/nand/raw/omap2.c:	    !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/omap2.c:	oobregion->length = chip->ecc.total;
+drivers/mtd/nand/raw/omap2.c:	    !(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/omap2.c:	off += chip->ecc.total;
+drivers/mtd/nand/raw/omap2.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/omap2.c:	oobregion->offset = off + (section * (chip->ecc.bytes + 1));
+drivers/mtd/nand/raw/omap2.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:	off += ((chip->ecc.bytes + 1) * chip->ecc.steps);
+drivers/mtd/nand/raw/omap2.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/omap2.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/omap2.c:		chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.read_buf = omap_read_buf_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.write_buf = omap_write_buf_pref;
+drivers/mtd/nand/raw/omap2.c:			chip->legacy.read_buf = omap_read_buf_dma_pref;
+drivers/mtd/nand/raw/omap2.c:			chip->legacy.write_buf = omap_write_buf_dma_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.read_buf = omap_read_buf_irq_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->legacy.write_buf = omap_write_buf_irq_pref;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 3;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.calculate	= omap_calculate_ecc;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_correct_data;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:		if (!(chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 7;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 4;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= nand_bch_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.calculate	= omap_calculate_ecc_bch_sw;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.priv		= nand_bch_init(mtd);
+drivers/mtd/nand/raw/omap2.c:		if (!chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 7 + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 4;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_elm_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.read_page	= omap_read_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_page	= omap_write_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_subpage	= omap_write_subpage_bch;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:				 mtd->writesize / chip->ecc.size,
+drivers/mtd/nand/raw/omap2.c:				 chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 13;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 8;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= nand_bch_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.calculate	= omap_calculate_ecc_bch_sw;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.priv		= nand_bch_init(mtd);
+drivers/mtd/nand/raw/omap2.c:		if (!chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 13 + 1;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 8;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_elm_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.read_page	= omap_read_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_page	= omap_write_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_subpage	= omap_write_subpage_bch;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:				 mtd->writesize / chip->ecc.size,
+drivers/mtd/nand/raw/omap2.c:				 chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.mode		= NAND_ECC_HW;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.size		= 512;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.bytes		= 26;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.strength	= 16;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.hwctl		= omap_enable_hwecc_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.correct	= omap_elm_correct_data;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.read_page	= omap_read_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_page	= omap_write_page_bch;
+drivers/mtd/nand/raw/omap2.c:		chip->ecc.write_subpage	= omap_write_subpage_bch;
+drivers/mtd/nand/raw/omap2.c:		oobbytes_per_step	= chip->ecc.bytes;
+drivers/mtd/nand/raw/omap2.c:				 mtd->writesize / chip->ecc.size,
+drivers/mtd/nand/raw/omap2.c:				 chip->ecc.size, chip->ecc.bytes);
+drivers/mtd/nand/raw/omap2.c:			 (mtd->writesize / chip->ecc.size));
+drivers/mtd/nand/raw/omap2.c:	nand_chip->ecc.priv	= NULL;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->legacy.IO_ADDR_R = devm_ioremap_resource(&pdev->dev, res);
+drivers/mtd/nand/raw/omap2.c:	if (IS_ERR(nand_chip->legacy.IO_ADDR_R))
+drivers/mtd/nand/raw/omap2.c:		return PTR_ERR(nand_chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/omap2.c:	nand_chip->controller = &omap_gpmc_controller;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->legacy.IO_ADDR_W = nand_chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->legacy.cmd_ctrl  = omap_hwcontrol;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.dev_ready = omap_dev_ready;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.chip_delay = 0;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.waitfunc = omap_wait;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->legacy.chip_delay = 50;
+drivers/mtd/nand/raw/omap2.c:		nand_chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/omap2.c:	nand_chip->options |= info->devsize & NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/omap2.c:	if (nand_chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		nand_bch_free(nand_chip->ecc.priv);
+drivers/mtd/nand/raw/omap2.c:		nand_chip->ecc.priv = NULL;
+drivers/mtd/nand/raw/omap2.c:	if (nand_chip->ecc.priv) {
+drivers/mtd/nand/raw/omap2.c:		nand_bch_free(nand_chip->ecc.priv);
+drivers/mtd/nand/raw/omap2.c:		nand_chip->ecc.priv = NULL;
+drivers/mtd/nand/raw/orion_nand.c:	void __iomem *io_base = chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/orion_nand.c:						"chip-delay", &val))
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->controller = &oxnas->base;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.cmd_ctrl = oxnas_nand_cmd_ctrl;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.read_buf = oxnas_nand_read_buf;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.read_byte = oxnas_nand_read_byte;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.write_buf = oxnas_nand_write_buf;
+drivers/mtd/nand/raw/oxnas_nand.c:		chip->legacy.chip_delay = 30;
+drivers/mtd/nand/raw/pasemi_nand.c:		memcpy_fromio(buf, chip->legacy.IO_ADDR_R, 0x800);
+drivers/mtd/nand/raw/pasemi_nand.c:	memcpy_fromio(buf, chip->legacy.IO_ADDR_R, len);
+drivers/mtd/nand/raw/pasemi_nand.c:		memcpy_toio(chip->legacy.IO_ADDR_R, buf, 0x800);
+drivers/mtd/nand/raw/pasemi_nand.c:	memcpy_toio(chip->legacy.IO_ADDR_R, buf, len);
+drivers/mtd/nand/raw/pasemi_nand.c:		out_8(chip->legacy.IO_ADDR_W + (1 << CLE_PIN_CTL), cmd);
+drivers/mtd/nand/raw/pasemi_nand.c:		out_8(chip->legacy.IO_ADDR_W + (1 << ALE_PIN_CTL), cmd);
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.IO_ADDR_R = of_iomap(np, 0);
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.IO_ADDR_W = chip->legacy.IO_ADDR_R;
+drivers/mtd/nand/raw/pasemi_nand.c:	if (!chip->legacy.IO_ADDR_R) {
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.cmd_ctrl = pasemi_hwcontrol;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.dev_ready = pasemi_device_ready;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.read_buf = pasemi_read_buf;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.write_buf = pasemi_write_buf;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->legacy.chip_delay = 0;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/pasemi_nand.c:	chip->bbt_options = NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/pasemi_nand.c:	iounmap(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/pasemi_nand.c:	iounmap(chip->legacy.IO_ADDR_R);
+drivers/mtd/nand/raw/qcom_nandc.c: * @buf_size/count/start:	markers for chip->legacy.read_buf/write_buf
+drivers/mtd/nand/raw/qcom_nandc.c:	return container_of(chip->controller, struct qcom_nand_controller,
+drivers/mtd/nand/raw/qcom_nandc.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/qcom_nandc.c: * the following functions are used within chip->legacy.cmdfunc() to
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c: * Implements chip->legacy.cmdfunc. It's  only used for a limited set of
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c: *    chip->data_buf if data buf is null and chip->oob_poi if oob buf
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:		oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	u8 *data_buf = buf, *oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	return read_page_ecc(host, NULL, chip->oob_poi, page);
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	oob_buf = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c: * chip->oob_poi, and pad the data area with OxFF before writing.
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	u8 *oob = chip->oob_poi;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	page = (int)(ofs >> chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/qcom_nandc.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	page = (int)(ofs >> chip->page_shift) & chip->pagemask;
+drivers/mtd/nand/raw/qcom_nandc.c: * the three functions below implement chip->legacy.read_byte(),
+drivers/mtd/nand/raw/qcom_nandc.c: * chip->legacy.read_buf() and chip->legacy.write_buf() respectively. these
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/qcom_nandc.c:	wide_bus = chip->options & NAND_BUSWIDTH_16 ? true : false;
+drivers/mtd/nand/raw/qcom_nandc.c:		dev_err(dev, "can't get chip-select\n");
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.cmdfunc	= qcom_nandc_command;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.select_chip	= qcom_nandc_select_chip;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.read_byte	= qcom_nandc_read_byte;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.read_buf	= qcom_nandc_read_buf;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.write_buf	= qcom_nandc_write_buf;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.set_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.get_features	= nand_get_set_features_notsupp;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.block_bad		= qcom_nandc_block_bad;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->legacy.block_markbad	= qcom_nandc_block_markbad;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->controller = &nandc->controller;
+drivers/mtd/nand/raw/qcom_nandc.c:	chip->options |= NAND_NO_SUBPAGE_WRITE | NAND_USE_BOUNCE_BUFFER |
+drivers/mtd/nand/raw/r852.c:		if (chip->legacy.dev_ready(chip))
+drivers/mtd/nand/raw/r852.c:	return nand_read_oob_op(chip, page, 0, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/r852.c:		dev->chip->options |= NAND_ROM;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.cmd_ctrl = r852_cmdctl;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.waitfunc = r852_wait;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.dev_ready = r852_ready;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.read_byte = r852_read_byte;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.read_buf = r852_read_buf;
+drivers/mtd/nand/raw/r852.c:	chip->legacy.write_buf = r852_write_buf;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.mode = NAND_ECC_HW_SYNDROME;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.size = R852_DMA_LEN;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.bytes = SM_OOB_SIZE;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.strength = 2;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.hwctl = r852_ecc_hwctl;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.calculate = r852_ecc_calculate;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.correct = r852_ecc_correct;
+drivers/mtd/nand/raw/r852.c:	chip->ecc.read_oob = r852_read_oob;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.write_buf    = s3c2410_nand_write_buf;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.read_buf     = s3c2410_nand_read_buf;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.select_chip  = s3c2410_nand_select_chip;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.chip_delay   = 50;
+drivers/mtd/nand/raw/s3c2410.c:	chip->options	   = set->options;
+drivers/mtd/nand/raw/s3c2410.c:	chip->controller   = &info->controller;
+drivers/mtd/nand/raw/s3c2410.c:		chip->options |= NAND_KEEP_TIMINGS;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.IO_ADDR_W = regs + S3C2410_NFDATA;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.cmd_ctrl  = s3c2410_nand_hwcontrol;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.dev_ready = s3c2410_nand_devready;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.IO_ADDR_W = regs + S3C2440_NFDATA;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.cmd_ctrl  = s3c2440_nand_hwcontrol;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.dev_ready = s3c2440_nand_devready;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.read_buf  = s3c2440_nand_read_buf;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.write_buf	= s3c2440_nand_write_buf;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.IO_ADDR_W = regs + S3C2440_NFDATA;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.cmd_ctrl  = s3c2440_nand_hwcontrol;
+drivers/mtd/nand/raw/s3c2410.c:		chip->legacy.dev_ready = s3c2412_nand_devready;
+drivers/mtd/nand/raw/s3c2410.c:	chip->legacy.IO_ADDR_R = chip->legacy.IO_ADDR_W;
+drivers/mtd/nand/raw/s3c2410.c:	chip->ecc.mode = info->platform->ecc_mode;
+drivers/mtd/nand/raw/s3c2410.c:		chip->bbt_options |= NAND_BBT_USE_FLASH;
+drivers/mtd/nand/raw/s3c2410.c:	switch (chip->ecc.mode) {
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.calculate = s3c2410_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.correct   = s3c2410_nand_correct_data;
+drivers/mtd/nand/raw/s3c2410.c:		chip->ecc.strength  = 1;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.hwctl	    = s3c2410_nand_enable_hwecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.calculate = s3c2410_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.hwctl     = s3c2412_nand_enable_hwecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.calculate = s3c2412_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.hwctl     = s3c2440_nand_enable_hwecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.calculate = s3c2440_nand_calculate_ecc;
+drivers/mtd/nand/raw/s3c2410.c:			chip, chip->page_shift);
+drivers/mtd/nand/raw/s3c2410.c:		if (chip->page_shift > 10) {
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.size	    = 256;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.bytes	    = 3;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.size	    = 512;
+drivers/mtd/nand/raw/s3c2410.c:			chip->ecc.bytes	    = 3;
+drivers/mtd/nand/raw/s3c2410.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/s3c2410.c:		chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/sh_flctl.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/sh_flctl.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/sh_flctl.c:	oobregion->length = chip->ecc.bytes;
+drivers/mtd/nand/raw/sh_flctl.c:	if (section >= chip->ecc.steps)
+drivers/mtd/nand/raw/sh_flctl.c:		chip->legacy.read_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/sh_flctl.c:	chip->legacy.write_buf(chip, chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/sh_flctl.c:	u64 targetsize = nanddev_target_size(&chip->base);
+drivers/mtd/nand/raw/sh_flctl.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/sh_flctl.c:			chip->badblock_pattern = &flctl_4secc_smallpage;
+drivers/mtd/nand/raw/sh_flctl.c:			chip->badblock_pattern = &flctl_4secc_largepage;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.bytes = 10;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.strength = 4;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.read_page = flctl_read_page_hwecc;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.write_page = flctl_write_page_hwecc;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.mode = NAND_ECC_SOFT;
+drivers/mtd/nand/raw/sh_flctl.c:		chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/sharpsl.c:		writeb(cmd, chip->legacy.IO_ADDR_W);
+drivers/mtd/nand/raw/sm_common.c:	chip->badblockpos = 0x05;
+drivers/mtd/nand/raw/sm_common.c:	chip->badblockbits = 7;
+drivers/mtd/nand/raw/sm_common.c:	chip->legacy.block_markbad = sm_block_markbad;
+drivers/mtd/nand/raw/sm_common.c:	chip->options |= NAND_SKIP_BBTSCAN;
+drivers/mtd/nand/raw/sm_common.c:	chip->legacy.dummy_controller.ops = &sm_controller_ops;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.cmd_ctrl = socrates_nand_cmd_ctrl;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.read_byte = socrates_nand_read_byte;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.write_buf = socrates_nand_write_buf;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.read_buf = socrates_nand_read_buf;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.dev_ready = socrates_nand_device_ready;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->ecc.mode = NAND_ECC_SOFT;	/* enable ECC */
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->ecc.algo = NAND_ECC_HAMMING;
+drivers/mtd/nand/raw/socrates_nand.c:	nand_chip->legacy.chip_delay = 20;	/* 20us command delay time */
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength == FMC2_ECC_BCH8) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	} else if (chip->ecc.strength == FMC2_ECC_BCH4) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		dma_cfg.src_addr += chip->ecc.strength == FMC2_ECC_HAM ?
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		fmc2->dma_ecc_len = chip->ecc.strength == FMC2_ECC_HAM ?
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength != FMC2_ECC_HAM) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength == FMC2_ECC_BCH8) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	return stm32_fmc2_bch_decode(chip->ecc.size, dat, ecc_sta);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int ret, i, s, stat, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccstrength = chip->ecc.strength;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.hwctl(chip, NAND_ECC_READ);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		stat = chip->ecc.correct(chip, p, ecc_code, ecc_calc);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:						 chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	csqcfgr3 = FMC2_CSQCFGR3_SNBR(chip->ecc.steps - 1);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		if (chip->options & NAND_ROW_ADDR_3)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:						  chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccbytes = chip->ecc.bytes;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccsteps = chip->ecc.steps;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int eccstrength = chip->ecc.strength;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	int i, s, eccsize = chip->ecc.size;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_calc = chip->ecc.calc_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	u8 *ecc_code = chip->ecc.code_buf;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:							  chip->oob_poi,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:					 chip->oob_poi, mtd->oobsize, false);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = mtd_ooblayout_get_eccbytes(mtd, ecc_code, chip->oob_poi, 0,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:					 chip->ecc.total);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	return chip->ecc.correct(chip, buf, ecc_code, ecc_calc);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	ret = stm32_fmc2_select_chip(chip, chip->cur_cs);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:						  chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (force_8bit && chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.correct = stm32_fmc2_sequencer_correct;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.write_page = stm32_fmc2_sequencer_write_page;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.read_page = stm32_fmc2_sequencer_read_page;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.write_page_raw = stm32_fmc2_sequencer_write_page_raw;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.read_page_raw = stm32_fmc2_sequencer_read_page_raw;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.hwctl = stm32_fmc2_hwctl;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		if (chip->ecc.strength == FMC2_ECC_HAM) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.calculate = stm32_fmc2_ham_calculate;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.correct = stm32_fmc2_ham_correct;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.options |= NAND_ECC_GENERIC_ERASED_CHECK;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.calculate = stm32_fmc2_bch_calculate;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.correct = stm32_fmc2_bch_correct;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:			chip->ecc.read_page = stm32_fmc2_read_page;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.strength == FMC2_ECC_HAM)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 4 : 3;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	else if (chip->ecc.strength == FMC2_ECC_BCH8)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 14 : 13;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 8 : 7;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	struct stm32_fmc2_nfc *fmc2 = to_stm32_nfc(chip->controller);
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->ecc.mode != NAND_ECC_HW) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (mtd->writesize / chip->ecc.size > FMC2_MAX_SG) {
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->controller = &fmc2->base;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->options |= NAND_BUSWIDTH_AUTO | NAND_NO_SUBPAGE_WRITE |
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->ecc.size = FMC2_ECC_STEP_SIZE;
+drivers/mtd/nand/raw/stm32_fmc2_nand.c:	chip->ecc.strength = FMC2_ECC_BCH8;
+drivers/mtd/nand/raw/tango_nand.c:/* Offsets relative to chip->base */
+drivers/mtd/nand/raw/tango_nand.c:		writeb_relaxed(dat, tchip->base + PBUS_CMD);
+drivers/mtd/nand/raw/tango_nand.c:		writeb_relaxed(dat, tchip->base + PBUS_ADDR);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	return readb_relaxed(tchip->base + PBUS_DATA);
+drivers/mtd/nand/raw/tango_nand.c:	ioread8_rep(tchip->base + PBUS_DATA, buf, len);
+drivers/mtd/nand/raw/tango_nand.c:	iowrite8_rep(tchip->base + PBUS_DATA, buf, len);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->timing1, nfc->reg_base + NFC_TIMING1);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->timing2, nfc->reg_base + NFC_TIMING2);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->xfer_cfg, nfc->reg_base + NFC_XFER_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->pkt_0_cfg, nfc->reg_base + NFC_PKT_0_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->pkt_n_cfg, nfc->reg_base + NFC_PKT_N_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	writel_relaxed(tchip->bb_cfg, nfc->reg_base + NFC_BB_CFG);
+drivers/mtd/nand/raw/tango_nand.c:	u8 *meta = chip->oob_poi + BBM_SIZE;
+drivers/mtd/nand/raw/tango_nand.c:	u8 *ecc = chip->oob_poi + BBM_SIZE + METADATA_SIZE;
+drivers/mtd/nand/raw/tango_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/tango_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/tango_nand.c:	for (i = 0; i < chip->ecc.steps; ++i) {
+drivers/mtd/nand/raw/tango_nand.c:						  chip->ecc.strength);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:		chip->ecc.read_oob(chip, page);
+drivers/mtd/nand/raw/tango_nand.c:		chip->ecc.read_oob_raw(chip, page);
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	status = chip->legacy.waitfunc(chip);
+drivers/mtd/nand/raw/tango_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/tango_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/tango_nand.c:	const int ecc_size = chip->ecc.bytes;
+drivers/mtd/nand/raw/tango_nand.c:	const int pkt_size = chip->ecc.size;
+drivers/mtd/nand/raw/tango_nand.c:	raw_read(chip, buf, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	raw_write(chip, buf, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	raw_read(chip, NULL, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	raw_write(chip, NULL, chip->oob_poi);
+drivers/mtd/nand/raw/tango_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/tango_nand.c:	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->timing1 = TIMING(Trdy, Textw, Twc, Twpw);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->timing2 = TIMING(Tacc, Thold, Trpw, Textr);
+drivers/mtd/nand/raw/tango_nand.c:	struct nand_ecc_ctrl *ecc = &chip->ecc;
+drivers/mtd/nand/raw/tango_nand.c:	chip = &tchip->nand_chip;
+drivers/mtd/nand/raw/tango_nand.c:	ecc = &chip->ecc;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.read_byte = tango_read_byte;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.write_buf = tango_write_buf;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.read_buf = tango_read_buf;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.select_chip = tango_select_chip;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.cmd_ctrl = tango_cmd_ctrl;
+drivers/mtd/nand/raw/tango_nand.c:	chip->legacy.dev_ready = tango_dev_ready;
+drivers/mtd/nand/raw/tango_nand.c:	chip->options = NAND_USE_BOUNCE_BUFFER |
+drivers/mtd/nand/raw/tango_nand.c:	chip->controller = &nfc->hw;
+drivers/mtd/nand/raw/tango_nand.c:	tchip->base = nfc->pbus_base + (cs * 256);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->xfer_cfg = XFER_CFG(cs, 1, ecc->steps, METADATA_SIZE);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->pkt_0_cfg = PKT_CFG(ecc->size + METADATA_SIZE, ecc->strength);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->pkt_n_cfg = PKT_CFG(ecc->size, ecc->strength);
+drivers/mtd/nand/raw/tango_nand.c:	tchip->bb_cfg = BB_CFG(mtd->writesize, BBM_SIZE);
+drivers/mtd/nand/raw/tegra_nand.c:	int bytes_per_step = DIV_ROUND_UP(BITS_PER_STEP_RS * chip->ecc.strength,
+drivers/mtd/nand/raw/tegra_nand.c:	oobregion->length = round_up(bytes_per_step * chip->ecc.steps, 4);
+drivers/mtd/nand/raw/tegra_nand.c:	int bytes_per_step = DIV_ROUND_UP(BITS_PER_STEP_BCH * chip->ecc.strength,
+drivers/mtd/nand/raw/tegra_nand.c:	oobregion->length = round_up(bytes_per_step * chip->ecc.steps, 4);
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->ecc.algo == NAND_ECC_BCH && enable)
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	tegra_nand_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:	return tegra_nand_page_xfer(mtd, chip, NULL, chip->oob_poi,
+drivers/mtd/nand/raw/tegra_nand.c:	return tegra_nand_page_xfer(mtd, chip, NULL, chip->oob_poi,
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:		if (fail_sec_flag ^ GENMASK(chip->ecc.steps - 1, 0)) {
+drivers/mtd/nand/raw/tegra_nand.c:		for_each_set_bit(bit, &fail_sec_flag, chip->ecc.steps) {
+drivers/mtd/nand/raw/tegra_nand.c:			u8 *data = buf + (chip->ecc.size * bit);
+drivers/mtd/nand/raw/tegra_nand.c:			u8 *oob = chip->oob_poi + nand->ecc.offset +
+drivers/mtd/nand/raw/tegra_nand.c:				  (chip->ecc.bytes * bit);
+drivers/mtd/nand/raw/tegra_nand.c:			ret = nand_check_erased_ecc_chunk(data, chip->ecc.size,
+drivers/mtd/nand/raw/tegra_nand.c:							  oob, chip->ecc.bytes,
+drivers/mtd/nand/raw/tegra_nand.c:							  chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	void *oob_buf = oob_required ? chip->oob_poi : NULL;
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	bool maximize = chip->ecc.options & NAND_ECC_MAXIMIZE;
+drivers/mtd/nand/raw/tegra_nand.c:			if (strength_sel < chip->base.eccreq.strength)
+drivers/mtd/nand/raw/tegra_nand.c:		bytes_per_page = round_up(bytes_per_step * chip->ecc.steps, 4);
+drivers/mtd/nand/raw/tegra_nand.c:	switch (chip->ecc.algo) {
+drivers/mtd/nand/raw/tegra_nand.c:		if (chip->options & NAND_IS_BOOT_MEDIUM) {
+drivers/mtd/nand/raw/tegra_nand.c:		if (chip->options & NAND_IS_BOOT_MEDIUM) {
+drivers/mtd/nand/raw/tegra_nand.c:	struct tegra_nand_controller *ctrl = to_tegra_ctrl(chip->controller);
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/tegra_nand.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.size = 512;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.steps = mtd->writesize / chip->ecc.size;
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->base.eccreq.step_size != 512) {
+drivers/mtd/nand/raw/tegra_nand.c:			chip->base.eccreq.step_size);
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.read_page = tegra_nand_read_page_hwecc;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.write_page = tegra_nand_write_page_hwecc;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.read_page_raw = tegra_nand_read_page_raw;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.write_page_raw = tegra_nand_write_page_raw;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.read_oob = tegra_nand_read_oob;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.write_oob = tegra_nand_write_oob;
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->options & NAND_BUSWIDTH_16)
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
+drivers/mtd/nand/raw/tegra_nand.c:			chip->ecc.algo = NAND_ECC_RS;
+drivers/mtd/nand/raw/tegra_nand.c:			chip->ecc.algo = NAND_ECC_BCH;
+drivers/mtd/nand/raw/tegra_nand.c:	if (chip->ecc.algo == NAND_ECC_BCH && mtd->writesize < 2048) {
+drivers/mtd/nand/raw/tegra_nand.c:	if (!chip->ecc.strength) {
+drivers/mtd/nand/raw/tegra_nand.c:				chip->base.eccreq.strength);
+drivers/mtd/nand/raw/tegra_nand.c:		chip->ecc.strength = ret;
+drivers/mtd/nand/raw/tegra_nand.c:	switch (chip->ecc.algo) {
+drivers/mtd/nand/raw/tegra_nand.c:		bits_per_step = BITS_PER_STEP_RS * chip->ecc.strength;
+drivers/mtd/nand/raw/tegra_nand.c:		switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/tegra_nand.c:				chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:		bits_per_step = BITS_PER_STEP_BCH * chip->ecc.strength;
+drivers/mtd/nand/raw/tegra_nand.c:		switch (chip->ecc.strength) {
+drivers/mtd/nand/raw/tegra_nand.c:				chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:		 chip->ecc.algo == NAND_ECC_BCH ? "BCH" : "RS",
+drivers/mtd/nand/raw/tegra_nand.c:		 chip->ecc.strength);
+drivers/mtd/nand/raw/tegra_nand.c:	chip->ecc.bytes = DIV_ROUND_UP(bits_per_step, BITS_PER_BYTE);
+drivers/mtd/nand/raw/tegra_nand.c:	chip->controller = &ctrl->controller;
+drivers/mtd/nand/raw/tegra_nand.c:	chip->options = NAND_NO_SUBPAGE_WRITE | NAND_USE_BOUNCE_BUFFER;
+drivers/mtd/nand/raw/tmio_nand.c:		tmio_iowrite8(cmd, chip->legacy.IO_ADDR_W);
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.IO_ADDR_R = tmio->fcr;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.IO_ADDR_W = tmio->fcr;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.cmd_ctrl = tmio_nand_hwcontrol;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.dev_ready = tmio_nand_dev_ready;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.read_byte = tmio_nand_read_byte;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.write_buf = tmio_nand_write_buf;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.read_buf = tmio_nand_read_buf;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.size = 512;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.bytes = 6;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.strength = 2;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.hwctl = tmio_nand_enable_hwecc;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.calculate = tmio_nand_calculate_ecc;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->ecc.correct = tmio_nand_correct_data;
+drivers/mtd/nand/raw/tmio_nand.c:		nand_chip->badblock_pattern = data->badblock_pattern;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.chip_delay = 15;
+drivers/mtd/nand/raw/tmio_nand.c:	nand_chip->legacy.waitfunc = tmio_nand_wait;
+drivers/mtd/nand/raw/txx9ndfmc.c:	for (eccbytes = chip->ecc.bytes; eccbytes > 0; eccbytes -= 3) {
+drivers/mtd/nand/raw/txx9ndfmc.c:	for (eccsize = chip->ecc.size; eccsize > 0; eccsize -= 256) {
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.size = 512;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.bytes = 6;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.size = 256;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.bytes = 3;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.read_byte = txx9ndfmc_read_byte;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.read_buf = txx9ndfmc_read_buf;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.write_buf = txx9ndfmc_write_buf;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.cmd_ctrl = txx9ndfmc_cmd_ctrl;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.dev_ready = txx9ndfmc_dev_ready;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.calculate = txx9ndfmc_calculate_ecc;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.correct = txx9ndfmc_correct_data;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.hwctl = txx9ndfmc_enable_hwecc;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.mode = NAND_ECC_HW;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->ecc.strength = 1;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->legacy.chip_delay = 100;
+drivers/mtd/nand/raw/txx9ndfmc.c:		chip->controller = &drvdata->controller;
+drivers/mtd/nand/raw/txx9ndfmc.c:			chip->options |= NAND_BUSWIDTH_16;
+drivers/mtd/nand/raw/vf610_nfc.c:	if (force8bit && (chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/vf610_nfc.c:	if (force8bit && (chip->options & NAND_BUSWIDTH_16))
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->options & NAND_ROW_ADDR_3) {
+drivers/mtd/nand/raw/vf610_nfc.c:	vf610_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/vf610_nfc.c:		vf610_nfc_rd_from_sram(chip->oob_poi,
+drivers/mtd/nand/raw/vf610_nfc.c:	stat = vf610_nfc_correct_data(chip, buf, chip->oob_poi, page);
+drivers/mtd/nand/raw/vf610_nfc.c:	vf610_nfc_select_target(chip, chip->cur_cs);
+drivers/mtd/nand/raw/vf610_nfc.c:		ret = nand_write_data_op(chip, chip->oob_poi, mtd->oobsize,
+drivers/mtd/nand/raw/vf610_nfc.c:				      chip->oob_poi, mtd->oobsize);
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->bbt_options & NAND_BBT_USE_FLASH)
+drivers/mtd/nand/raw/vf610_nfc.c:		chip->bbt_options |= NAND_BBT_NO_OOB;
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->ecc.mode != NAND_ECC_HW)
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->ecc.size != mtd->writesize) {
+drivers/mtd/nand/raw/vf610_nfc.c:	if (chip->ecc.strength == 32) {
+drivers/mtd/nand/raw/vf610_nfc.c:		chip->ecc.bytes = 60;
+drivers/mtd/nand/raw/vf610_nfc.c:	} else if (chip->ecc.strength == 24) {
+drivers/mtd/nand/raw/vf610_nfc.c:		chip->ecc.bytes = 45;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.read_page = vf610_nfc_read_page;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.write_page = vf610_nfc_write_page;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.read_page_raw = vf610_nfc_read_page_raw;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.write_page_raw = vf610_nfc_write_page_raw;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.read_oob = vf610_nfc_read_oob;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.write_oob = vf610_nfc_write_oob;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->ecc.size = PAGE_2K;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->options |= NAND_NO_SUBPAGE_WRITE;
+drivers/mtd/nand/raw/vf610_nfc.c:	chip->controller = &nfc->base;
+drivers/mtd/spi-nor/aspeed-smc.c:	return BIT(chip->controller->info->we0 + chip->cs);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	u32 ctl = chip->ctl_val[smc_base];
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl, chip->ctl);
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl, chip->ctl);
+drivers/mtd/spi-nor/aspeed-smc.c:	u32 ctl = chip->ctl_val[smc_read];
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl2, chip->ctl);	/* stop user CE control */
+drivers/mtd/spi-nor/aspeed-smc.c:	writel(ctl, chip->ctl);		/* default to fread or read mode */
+drivers/mtd/spi-nor/aspeed-smc.c:	mutex_lock(&chip->controller->mutex);
+drivers/mtd/spi-nor/aspeed-smc.c:	mutex_unlock(&chip->controller->mutex);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, &opcode, 1);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_read_from_ahb(buf, chip->ahb_base, len);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, &opcode, 1);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, buf, len);
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &temp, 4);
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &cmd, 1);
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &temp, 4);
+drivers/mtd/spi-nor/aspeed-smc.c:	for (i = 0; i < chip->nor.read_dummy / 8; i++)
+drivers/mtd/spi-nor/aspeed-smc.c:		aspeed_smc_write_to_ahb(chip->ahb_base, &dummy, sizeof(dummy));
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_read_from_ahb(read_buf, chip->ahb_base, len);
+drivers/mtd/spi-nor/aspeed-smc.c:	aspeed_smc_write_to_ahb(chip->ahb_base, write_buf, len);
+drivers/mtd/spi-nor/aspeed-smc.c:			mtd_device_unregister(&chip->nor.mtd);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:		reg = readl(SEGMENT_ADDR_REG(controller, chip->cs));
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_warn(chip->nor.dev, "CE%d window resized to %dMB",
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_err(chip->nor.dev, "CE%d window invalid", cs);
+drivers/mtd/spi-nor/aspeed-smc.c:	dev_info(chip->nor.dev, "CE%d window [ 0x%.8x - 0x%.8x ] %dMB",
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	u32 size = chip->nor.mtd.size;
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->cs == 0 && controller->info == &spi_2500_info &&
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_info(chip->nor.dev,
+drivers/mtd/spi-nor/aspeed-smc.c:			 chip->cs, size >> 20);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->cs) {
+drivers/mtd/spi-nor/aspeed-smc.c:		u32 prev = readl(SEGMENT_ADDR_REG(controller, chip->cs - 1));
+drivers/mtd/spi-nor/aspeed-smc.c:	size = chip_set_segment(chip, chip->cs, start, size);
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ahb_base = controller->ahb_base + (start - ahb_base_phy);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->cs < controller->info->nce - 1)
+drivers/mtd/spi-nor/aspeed-smc.c:		chip_set_segment(chip, chip->cs + 1, start + size, 0);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (size < chip->nor.mtd.size)
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_warn(chip->nor.dev,
+drivers/mtd/spi-nor/aspeed-smc.c:			 chip->cs, (u32)chip->nor.mtd.size >> 20);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->type = type;
+drivers/mtd/spi-nor/aspeed-smc.c:	reg &= ~(3 << (chip->cs * 2));
+drivers/mtd/spi-nor/aspeed-smc.c:	reg |= chip->type << (chip->cs * 2);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	reg |= 1 << chip->cs;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_base] |= CONTROL_IO_ADDRESS_4B;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_read] |= CONTROL_IO_ADDRESS_4B;
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ahb_base = aspeed_smc_chip_base(chip, res);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (!chip->ahb_base) {
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_warn(chip->nor.dev, "CE%d window closed", chip->cs);
+drivers/mtd/spi-nor/aspeed-smc.c:	reg = readl(chip->ctl);
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_base] = base_reg;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read] = reg;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read] = chip->ctl_val[smc_base] |
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read]);
+drivers/mtd/spi-nor/aspeed-smc.c:	struct aspeed_smc_controller *controller = chip->controller;
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->nor.addr_width == 4 && info->set_4b)
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ahb_window_size = aspeed_smc_chip_set_segment(chip);
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_write] = chip->ctl_val[smc_base] |
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->nor.program_opcode << CONTROL_COMMAND_SHIFT |
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_write]);
+drivers/mtd/spi-nor/aspeed-smc.c:	if (chip->nor.read_proto == SNOR_PROTO_1_1_1) {
+drivers/mtd/spi-nor/aspeed-smc.c:		if (chip->nor.read_dummy == 0)
+drivers/mtd/spi-nor/aspeed-smc.c:		dev_err(chip->nor.dev, "unsupported SPI read mode\n");
+drivers/mtd/spi-nor/aspeed-smc.c:	chip->ctl_val[smc_read] |= cmd |
+drivers/mtd/spi-nor/aspeed-smc.c:		CONTROL_IO_DUMMY_SET(chip->nor.read_dummy / 8);
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl_val[smc_read]);
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->controller = controller;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->ctl = controller->regs + info->ctl0 + cs * 4;
+drivers/mtd/spi-nor/aspeed-smc.c:		chip->cs = cs;
+drivers/mtd/spi-nor/aspeed-smc.c:		nor = &chip->nor;
+drivers/mux/adg792a.c:	struct i2c_client *i2c = to_i2c_client(mux->chip->dev.parent);
+drivers/mux/adg792a.c:	if (mux->chip->controllers == 1) {
+drivers/mux/adg792a.c:	mux_chip->ops = &adg792a_ops;
+drivers/mux/adg792a.c:					     mux_chip->controllers);
+drivers/mux/adg792a.c:	for (i = 0; i < mux_chip->controllers; ++i) {
+drivers/mux/adg792a.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/adgs1408.c:	struct spi_device *spi = to_spi_device(mux->chip->dev.parent);
+drivers/mux/adgs1408.c:	mux_chip->ops = &adgs1408_ops;
+drivers/mux/adgs1408.c:	mux = mux_chip->mux;
+drivers/mux/core.c:	ida_simple_remove(&mux_ida, mux_chip->id);
+drivers/mux/core.c: * the number of valid mux states in the mux_chip->mux[N].states members and
+drivers/mux/core.c: * the desired idle state in the returned mux_chip->mux[N].idle_state members.
+drivers/mux/core.c: * provide a pointer to the operations struct in the mux_chip->ops member
+drivers/mux/core.c:			   controllers * sizeof(*mux_chip->mux) +
+drivers/mux/core.c:	mux_chip->mux = (struct mux_control *)(mux_chip + 1);
+drivers/mux/core.c:	mux_chip->dev.class = &mux_class;
+drivers/mux/core.c:	mux_chip->dev.type = &mux_type;
+drivers/mux/core.c:	mux_chip->dev.parent = dev;
+drivers/mux/core.c:	mux_chip->dev.of_node = dev->of_node;
+drivers/mux/core.c:	dev_set_drvdata(&mux_chip->dev, mux_chip);
+drivers/mux/core.c:	mux_chip->id = ida_simple_get(&mux_ida, 0, 0, GFP_KERNEL);
+drivers/mux/core.c:	if (mux_chip->id < 0) {
+drivers/mux/core.c:		int err = mux_chip->id;
+drivers/mux/core.c:	dev_set_name(&mux_chip->dev, "muxchip%d", mux_chip->id);
+drivers/mux/core.c:	mux_chip->controllers = controllers;
+drivers/mux/core.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/core.c:	device_initialize(&mux_chip->dev);
+drivers/mux/core.c:	int ret = mux->chip->ops->set(mux, state);
+drivers/mux/core.c:	for (i = 0; i < mux_chip->controllers; ++i) {
+drivers/mux/core.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/core.c:			dev_err(&mux_chip->dev, "unable to set idle state\n");
+drivers/mux/core.c:	ret = device_add(&mux_chip->dev);
+drivers/mux/core.c:		dev_err(&mux_chip->dev,
+drivers/mux/core.c:	device_del(&mux_chip->dev);
+drivers/mux/core.c:	put_device(&mux_chip->dev);
+drivers/mux/core.c:	    (!args.args_count && (mux_chip->controllers > 1))) {
+drivers/mux/core.c:		put_device(&mux_chip->dev);
+drivers/mux/core.c:	if (controller >= mux_chip->controllers) {
+drivers/mux/core.c:		put_device(&mux_chip->dev);
+drivers/mux/core.c:	return &mux_chip->mux[controller];
+drivers/mux/core.c:	put_device(&mux->chip->dev);
+drivers/mux/gpio.c:	mux_chip->ops = &mux_gpio_ops;
+drivers/mux/gpio.c:	mux_chip->mux->states = 1 << pins;
+drivers/mux/gpio.c:		if (idle_state < 0 || idle_state >= mux_chip->mux->states) {
+drivers/mux/gpio.c:		mux_chip->mux->idle_state = idle_state;
+drivers/mux/gpio.c:		 mux_chip->mux->states);
+drivers/mux/mmio.c:		struct mux_control *mux = &mux_chip->mux[i];
+drivers/mux/mmio.c:	mux_chip->ops = &mux_mmio_ops;
+drivers/net/dsa/b53/b53_common.c:		if (chip->chip_id == dev->chip_id) {
+drivers/net/dsa/b53/b53_common.c:				dev->enabled_ports = chip->enabled_ports;
+drivers/net/dsa/b53/b53_common.c:			dev->name = chip->dev_name;
+drivers/net/dsa/b53/b53_common.c:			dev->duplex_reg = chip->duplex_reg;
+drivers/net/dsa/b53/b53_common.c:			dev->vta_regs[0] = chip->vta_regs[0];
+drivers/net/dsa/b53/b53_common.c:			dev->vta_regs[1] = chip->vta_regs[1];
+drivers/net/dsa/b53/b53_common.c:			dev->vta_regs[2] = chip->vta_regs[2];
+drivers/net/dsa/b53/b53_common.c:			dev->jumbo_pm_reg = chip->jumbo_pm_reg;
+drivers/net/dsa/b53/b53_common.c:			dev->cpu_port = chip->cpu_port;
+drivers/net/dsa/b53/b53_common.c:			dev->num_vlans = chip->vlans;
+drivers/net/dsa/b53/b53_common.c:			dev->num_arl_entries = chip->arl_entries;
+drivers/net/dsa/lan9303-core.c:		ret = lan9303_read(chip->regmap, offset, &reg);
+drivers/net/dsa/lan9303-core.c:			dev_err(chip->dev, "%s failed to read offset %d: %d\n",
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_VIRT_PHY_BASE + regnum, &val);
+drivers/net/dsa/lan9303-core.c:	return regmap_write(chip->regmap, LAN9303_VIRT_PHY_BASE + regnum, val);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_PMI_ACCESS, val);
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_PMI_DATA, &val);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_PMI_DATA, val);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_PMI_ACCESS, reg);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_SWITCH_CSR_DATA, val);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to write csr data reg: %d\n", ret);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_SWITCH_CSR_CMD, reg);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to write csr command reg: %d\n",
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	ret = regmap_write(chip->regmap, LAN9303_SWITCH_CSR_CMD, reg);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to write csr command reg: %d\n",
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_SWITCH_CSR_DATA, val);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to read csr data reg: %d\n", ret);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	/* Calculate chip->phy_addr_base:
+drivers/net/dsa/lan9303-core.c:	reg = chip->ops->phy_read(chip, 3, MII_LAN911X_SPECIAL_MODES);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "Failed to detect phy config: %d\n", reg);
+drivers/net/dsa/lan9303-core.c:	chip->phy_addr_base = reg != 0 && reg != 0xffff;
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "Phy setup '%s' detected\n",
+drivers/net/dsa/lan9303-core.c:		chip->phy_addr_base ? "1-2-3" : "0-1-2");
+drivers/net/dsa/lan9303-core.c:	struct lan9303_alr_cache_entry *entr = chip->alr_cache;
+drivers/net/dsa/lan9303-core.c:	struct lan9303_alr_cache_entry *entr = chip->alr_cache;
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%pM, %d)\n", __func__, mac, port_map);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:			mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_lock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_unlock(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:				 chip->swe_port_state);
+drivers/net/dsa/lan9303-core.c:	if (!chip->reset_gpio)
+drivers/net/dsa/lan9303-core.c:	if (chip->reset_duration != 0)
+drivers/net/dsa/lan9303-core.c:		msleep(chip->reset_duration);
+drivers/net/dsa/lan9303-core.c:	gpiod_set_value_cansleep(chip->reset_gpio, 0);
+drivers/net/dsa/lan9303-core.c:	ret = lan9303_read(chip->regmap, LAN9303_CHIP_REV, &reg);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to read chip revision register: %d\n",
+drivers/net/dsa/lan9303-core.c:		if (!chip->reset_gpio) {
+drivers/net/dsa/lan9303-core.c:			dev_dbg(chip->dev,
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "expecting LAN9303 chip, but found: %X\n",
+drivers/net/dsa/lan9303-core.c:		dev_warn(chip->dev, "failed to disable switching %d\n", ret);
+drivers/net/dsa/lan9303-core.c:	dev_info(chip->dev, "Found LAN9303 rev. %u\n", reg & 0xffff);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev,
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "port 0 is not the CPU port\n");
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to setup port tagging %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to separate ports %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to re-enable switching %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "failed to setup IGMP trap %d\n", ret);
+drivers/net/dsa/lan9303-core.c:			dev_warn(chip->dev, "Reading status port %d reg %u failed\n",
+drivers/net/dsa/lan9303-core.c:	int phy_base = chip->phy_addr_base;
+drivers/net/dsa/lan9303-core.c:	return chip->ops->phy_read(chip, phy, regnum);
+drivers/net/dsa/lan9303-core.c:	int phy_base = chip->phy_addr_base;
+drivers/net/dsa/lan9303-core.c:	return chip->ops->phy_write(chip, phy, regnum, val);
+drivers/net/dsa/lan9303-core.c:	if (port == chip->phy_addr_base) {
+drivers/net/dsa/lan9303-core.c:		lan9303_read(chip->regmap, LAN9303_VIRT_SPECIAL_CTRL, &ctl);
+drivers/net/dsa/lan9303-core.c:		res =  regmap_write(chip->regmap,
+drivers/net/dsa/lan9303-core.c:	lan9303_phy_write(ds, chip->phy_addr_base + port, MII_BMCR, BMCR_PDOWN);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(port %d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:		chip->is_bridged = true;  /* unleash stp_state_set() */
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(port %d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:	if (chip->is_bridged) {
+drivers/net/dsa/lan9303-core.c:		chip->is_bridged = false;
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(port %d, state %d)\n",
+drivers/net/dsa/lan9303-core.c:		dev_err(chip->dev, "unknown stp state: port %d, state %d\n",
+drivers/net/dsa/lan9303-core.c:	chip->swe_port_state = (chip->swe_port_state & ~portmask) | portstate;
+drivers/net/dsa/lan9303-core.c:	if (chip->is_bridged)
+drivers/net/dsa/lan9303-core.c:					 chip->swe_port_state);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, addr, vid);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, addr, vid);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d)\n", __func__, port);
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, mdb->addr,
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, mdb->addr,
+drivers/net/dsa/lan9303-core.c:	dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, mdb->addr,
+drivers/net/dsa/lan9303-core.c:	chip->ds = devm_kzalloc(chip->dev, sizeof(*chip->ds), GFP_KERNEL);
+drivers/net/dsa/lan9303-core.c:	if (!chip->ds)
+drivers/net/dsa/lan9303-core.c:	chip->ds->dev = chip->dev;
+drivers/net/dsa/lan9303-core.c:	chip->ds->num_ports = LAN9303_NUM_PORTS;
+drivers/net/dsa/lan9303-core.c:	chip->ds->priv = chip;
+drivers/net/dsa/lan9303-core.c:	chip->ds->ops = &lan9303_switch_ops;
+drivers/net/dsa/lan9303-core.c:	base = chip->phy_addr_base;
+drivers/net/dsa/lan9303-core.c:	chip->ds->phys_mii_mask = GENMASK(LAN9303_NUM_PORTS - 1 + base, base);
+drivers/net/dsa/lan9303-core.c:	return dsa_register_switch(chip->ds);
+drivers/net/dsa/lan9303-core.c:	chip->reset_gpio = devm_gpiod_get_optional(chip->dev, "reset",
+drivers/net/dsa/lan9303-core.c:	if (IS_ERR(chip->reset_gpio))
+drivers/net/dsa/lan9303-core.c:		return PTR_ERR(chip->reset_gpio);
+drivers/net/dsa/lan9303-core.c:	if (!chip->reset_gpio) {
+drivers/net/dsa/lan9303-core.c:		dev_dbg(chip->dev, "No reset GPIO defined\n");
+drivers/net/dsa/lan9303-core.c:	chip->reset_duration = 200;
+drivers/net/dsa/lan9303-core.c:				     &chip->reset_duration);
+drivers/net/dsa/lan9303-core.c:		dev_dbg(chip->dev, "reset duration defaults to 200 ms\n");
+drivers/net/dsa/lan9303-core.c:	if (chip->reset_duration > 1000)
+drivers/net/dsa/lan9303-core.c:		chip->reset_duration = 1000;
+drivers/net/dsa/lan9303-core.c:	mutex_init(&chip->indirect_mutex);
+drivers/net/dsa/lan9303-core.c:	mutex_init(&chip->alr_mutex);
+drivers/net/dsa/lan9303-core.c:		dev_dbg(chip->dev, "Failed to register switch: %d\n", ret);
+drivers/net/dsa/lan9303-core.c:		dev_warn(chip->dev, "shutting down failed\n");
+drivers/net/dsa/lan9303-core.c:	dsa_unregister_switch(chip->ds);
+drivers/net/dsa/lan9303-core.c:	gpiod_set_value_cansleep(chip->reset_gpio, 1);
+drivers/net/dsa/lan9303-core.c:	gpiod_unexport(chip->reset_gpio);
+drivers/net/dsa/lan9303_mdio.c:	struct lan9303_mdio *sw_dev = dev_get_drvdata(chip->dev);
+drivers/net/dsa/lan9303_mdio.c:	struct lan9303_mdio *sw_dev = dev_get_drvdata(chip->dev);
+drivers/net/dsa/microchip/ksz8795.c:#include <linux/platform_data/microchip-ksz.h>
+drivers/net/dsa/microchip/ksz8795.c:		if (dev->chip_id == chip->chip_id) {
+drivers/net/dsa/microchip/ksz8795.c:			dev->name = chip->dev_name;
+drivers/net/dsa/microchip/ksz8795.c:			dev->num_vlans = chip->num_vlans;
+drivers/net/dsa/microchip/ksz8795.c:			dev->num_alus = chip->num_alus;
+drivers/net/dsa/microchip/ksz8795.c:			dev->num_statics = chip->num_statics;
+drivers/net/dsa/microchip/ksz8795.c:			dev->port_cnt = chip->port_cnt;
+drivers/net/dsa/microchip/ksz8795.c:			dev->cpu_ports = chip->cpu_ports;
+drivers/net/dsa/microchip/ksz9477.c:#include <linux/platform_data/microchip-ksz.h>
+drivers/net/dsa/microchip/ksz9477.c:		if (dev->chip_id == chip->chip_id) {
+drivers/net/dsa/microchip/ksz9477.c:			dev->name = chip->dev_name;
+drivers/net/dsa/microchip/ksz9477.c:			dev->num_vlans = chip->num_vlans;
+drivers/net/dsa/microchip/ksz9477.c:			dev->num_alus = chip->num_alus;
+drivers/net/dsa/microchip/ksz9477.c:			dev->num_statics = chip->num_statics;
+drivers/net/dsa/microchip/ksz9477.c:			dev->port_cnt = chip->port_cnt;
+drivers/net/dsa/microchip/ksz9477.c:			dev->cpu_ports = chip->cpu_ports;
+drivers/net/dsa/microchip/ksz9477.c:			dev->phy_errata_9477 = chip->phy_errata_9477;
+drivers/net/dsa/microchip/ksz_common.c:#include <linux/platform_data/microchip-ksz.h>
+drivers/net/dsa/mv88e6xxx/chip.c:	if (unlikely(!mutex_is_locked(&chip->reg_lock))) {
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "Switch registers lock not held!\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_dbg(chip->dev, "<- addr: 0x%.2x reg: 0x%.2x val: 0x%.4x\n",
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_dbg(chip->dev, "-> addr: 0x%.2x reg: 0x%.2x val: 0x%.4x\n",
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_err(chip->dev, "Timeout while waiting for switch\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	mdio_bus = list_first_entry(&chip->mdios, struct mv88e6xxx_mdio_bus,
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.masked |= (1 << n);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.masked &= ~(1 << n);
+drivers/net/dsa/mv88e6xxx/chip.c:		for (n = 0; n < chip->g1_irq.nirqs; ++n) {
+drivers/net/dsa/mv88e6xxx/chip.c:				sub_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/chip.c:		ctl1 &= GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	u16 mask = GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	reg |= (~chip->g1_irq.masked & mask);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_set_chip_and_handler(irq, &chip->g1_irq.chip, handle_level_irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	mask &= ~GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	for (irq = 0; irq < chip->g1_irq.nirqs; irq++) {
+drivers/net/dsa/mv88e6xxx/chip.c:		virq = irq_find_mapping(chip->g1_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_domain_remove(chip->g1_irq.domain);
+drivers/net/dsa/mv88e6xxx/chip.c:	free_irq(chip->irq, chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.nirqs = chip->info->g1_irqs;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.domain = irq_domain_add_simple(
+drivers/net/dsa/mv88e6xxx/chip.c:		NULL, chip->g1_irq.nirqs, 0,
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->g1_irq.domain)
+drivers/net/dsa/mv88e6xxx/chip.c:	for (irq = 0; irq < chip->g1_irq.nirqs; irq++)
+drivers/net/dsa/mv88e6xxx/chip.c:		irq_create_mapping(chip->g1_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.chip = mv88e6xxx_g1_irq_chip;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->g1_irq.masked = ~0;
+drivers/net/dsa/mv88e6xxx/chip.c:	mask &= ~GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	mask &= ~GENMASK(chip->g1_irq.nirqs, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:		virq = irq_find_mapping(chip->g1_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_domain_remove(chip->g1_irq.domain);
+drivers/net/dsa/mv88e6xxx/chip.c:	irq_set_lockdep_class(chip->irq, &lock_key, &request_key);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = request_threaded_irq(chip->irq, NULL,
+drivers/net/dsa/mv88e6xxx/chip.c:				   dev_name(chip->dev), chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_queue_delayed_work(chip->kworker, &chip->irq_poll_work,
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_init_delayed_work(&chip->irq_poll_work,
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->kworker = kthread_create_worker(0, "%s", dev_name(chip->dev));
+drivers/net/dsa/mv88e6xxx/chip.c:	if (IS_ERR(chip->kworker))
+drivers/net/dsa/mv88e6xxx/chip.c:		return PTR_ERR(chip->kworker);
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_queue_delayed_work(chip->kworker, &chip->irq_poll_work,
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_cancel_delayed_work_sync(&chip->irq_poll_work);
+drivers/net/dsa/mv88e6xxx/chip.c:	kthread_destroy_worker(chip->kworker);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_set_link)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_link_state)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_link_state(chip, port, &state);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_set_link(chip, port, LINK_FORCED_DOWN);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_speed) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_speed(chip, port, speed);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (speed == SPEED_MAX && chip->info->ops->port_max_speed_mode)
+drivers/net/dsa/mv88e6xxx/chip.c:		mode = chip->info->ops->port_max_speed_mode(port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_pause) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_pause(chip, port, pause);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_duplex) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_duplex(chip, port, duplex);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_rgmii_delay) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_rgmii_delay(chip, port, mode);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_cmode) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_cmode(chip, port, mode);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_link(chip, port, link))
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "p%d: failed to restore MAC's link\n", port);
+drivers/net/dsa/mv88e6xxx/chip.c:	return port < chip->info->num_internal_phys;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->phylink_validate)
+drivers/net/dsa/mv88e6xxx/chip.c:		chip->info->ops->phylink_validate(chip, port, mask, state);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_link_state)
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_link_state(chip, port, state);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_set_link(chip, port, link);
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "p%d: failed to force MAC link\n", port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->stats_snapshot)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->stats_snapshot(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_get_strings)
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->stats_get_strings(chip, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->serdes_get_strings) {
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->serdes_get_strings(chip, port, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_get_sset_count)
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->stats_get_sset_count(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->serdes_get_sset_count)
+drivers/net/dsa/mv88e6xxx/chip.c:		serdes_count = chip->info->ops->serdes_get_sset_count(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].atu_member_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].atu_miss_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].atu_full_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].vtu_member_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	*data++ = chip->ports[port].vtu_miss_violation;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_get_stats)
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->stats_get_stats(chip, port, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->serdes_get_stats) {
+drivers/net/dsa/mv88e6xxx/chip.c:		count = chip->info->ops->serdes_get_stats(chip, port, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	regs->version = chip->info->prod_num;
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	u16 output_ports = mv88e6xxx_port_vlan(chip, chip->ds->index, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->ieee_pri_map) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->ieee_pri_map(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->ip_pri_map) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->ip_pri_map(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->global2_addr)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->set_cascade_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->set_cascade_port(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = mv88e6xxx_g1_set_device_number(chip, chip->ds->index);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->global2_addr)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->rmu_disable)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->rmu_disable(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->pot_clear)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->pot_clear(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->mgmt_rsvd2cpu)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->mgmt_rsvd2cpu(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->irl_init_all)
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->irl_init_all(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->set_switch_mac) {
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->set_switch_mac(chip, addr);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (dev != chip->ds->index)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->vtu_getnext)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->vtu_getnext(chip, entry);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->vtu_loadpurge)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->vtu_loadpurge(chip, entry);
+drivers/net/dsa/mv88e6xxx/chip.c:	vlan.vid = chip->info->max_vid;
+drivers/net/dsa/mv88e6xxx/chip.c:	} while (vlan.vid < chip->info->max_vid);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->atu_get_hash)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->atu_get_hash(chip, hash);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->atu_set_hash)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->atu_set_hash(chip, hash);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_set_policy)
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_for_each_entry(&chip->policies, policy, id)
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->ops->port_set_policy(chip, port, mapping, action);
+drivers/net/dsa/mv88e6xxx/chip.c:	idr_for_each_entry(&chip->policies, policy, id) {
+drivers/net/dsa/mv88e6xxx/chip.c:	policy = devm_kzalloc(chip->dev, sizeof(*policy), GFP_KERNEL);
+drivers/net/dsa/mv88e6xxx/chip.c:	err = idr_alloc_u32(&chip->policies, policy, &fs->location, 0xffffffff,
+drivers/net/dsa/mv88e6xxx/chip.c:		devm_kfree(chip->dev, policy);
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_remove(&chip->policies, fs->location);
+drivers/net/dsa/mv88e6xxx/chip.c:		devm_kfree(chip->dev, policy);
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_for_each_entry(&chip->policies, policy, id)
+drivers/net/dsa/mv88e6xxx/chip.c:		policy = idr_find(&chip->policies, fs->location);
+drivers/net/dsa/mv88e6xxx/chip.c:		idr_for_each_entry(&chip->policies, policy, id)
+drivers/net/dsa/mv88e6xxx/chip.c:		policy = idr_remove(&chip->policies, fs->location);
+drivers/net/dsa/mv88e6xxx/chip.c:			devm_kfree(chip->dev, policy);
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_info(chip->dev, "p%d: already a member of VLAN %d\n",
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->max_vid)
+drivers/net/dsa/mv88e6xxx/chip.c:	vlan.vid = chip->info->max_vid;
+drivers/net/dsa/mv88e6xxx/chip.c:	} while (vlan.vid < chip->info->max_vid);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->reset)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->reset(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct gpio_desc *gpiod = chip->reset;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->port_set_frame_mode)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->port_set_frame_mode(chip, port, frame);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_ether_type)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->port_set_ether_type(chip, port, etype);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (dsa_is_dsa_port(chip->ds, port))
+drivers/net/dsa/mv88e6xxx/chip.c:	if (dsa_is_user_port(chip->ds, port))
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->tag_protocol == DSA_TAG_PROTO_DSA)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->tag_protocol == DSA_TAG_PROTO_EDSA)
+drivers/net/dsa/mv88e6xxx/chip.c:	bool message = dsa_is_dsa_port(chip->ds, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_egress_floods)
+drivers/net/dsa/mv88e6xxx/chip.c:		return chip->info->ops->port_set_egress_floods(chip, port,
+drivers/net/dsa/mv88e6xxx/chip.c:	struct mv88e6xxx_port *dev_id = &chip->ports[port];
+drivers/net/dsa/mv88e6xxx/chip.c:	struct mv88e6xxx_port *dev_id = &chip->ports[port];
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_upstream_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_upstream_port(chip, port,
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->set_cpu_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->set_cpu_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->set_egress_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->ports[port].chip = chip;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->ports[port].port = port;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_jumbo_size) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_jumbo_size(chip, port, 10240);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_pause_limit) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_pause_limit(chip, port, 0, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_disable_learn_limit) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_disable_learn_limit(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_disable_pri_override) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_disable_pri_override(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_tag_remap) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_tag_remap(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_egress_rate_limiting) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_egress_rate_limiting(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_setup_message_port) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_setup_message_port(chip, port);
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to power off SERDES\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->stats_set_histogram) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->stats_set_histogram(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:			dev_err(chip->dev,
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to set ATU stats kind/bin\n");
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to perform ATU get next\n");
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "failed to get ATU stats\n");
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->ds = ds;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->setup_errata) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->setup_errata(chip);
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->port_get_cmode) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->info->ops->port_get_cmode(chip, i, &cmode);
+drivers/net/dsa/mv88e6xxx/chip.c:			chip->ports[i].cmode = cmode;
+drivers/net/dsa/mv88e6xxx/chip.c:			dev_err(chip->dev, "port %d is invalid\n", i);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ptp_support) {
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->phy_read)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->phy_read(chip, bus, phy, reg, &val);
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->family != MV88E6XXX_FAMILY_6165)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->phy_write)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->phy_write(chip, bus, phy, reg, val);
+drivers/net/dsa/mv88e6xxx/chip.c:	bus = devm_mdiobus_alloc_size(chip->dev, sizeof(*mdio_bus));
+drivers/net/dsa/mv88e6xxx/chip.c:	bus->parent = chip->dev;
+drivers/net/dsa/mv88e6xxx/chip.c:		dev_err(chip->dev, "Cannot register MDIO bus (%d)\n", err);
+drivers/net/dsa/mv88e6xxx/chip.c:		list_add_tail(&mdio_bus->list, &chip->mdios);
+drivers/net/dsa/mv88e6xxx/chip.c:		list_add(&mdio_bus->list, &chip->mdios);
+drivers/net/dsa/mv88e6xxx/chip.c:	list_for_each_entry(mdio_bus, &chip->mdios, list) {
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->eeprom_len;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->get_eeprom)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->get_eeprom(chip, eeprom, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->set_eeprom)
+drivers/net/dsa/mv88e6xxx/chip.c:	err = chip->info->ops->set_eeprom(chip, eeprom, data);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->info = info;
+drivers/net/dsa/mv88e6xxx/chip.c:	dev_info(chip->dev, "switch 0x%x detected: %s, revision %u\n",
+drivers/net/dsa/mv88e6xxx/chip.c:		 chip->info->prod_num, chip->info->name, rev);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->dev = dev;
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_init(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	INIT_LIST_HEAD(&chip->mdios);
+drivers/net/dsa/mv88e6xxx/chip.c:	idr_init(&chip->policies);
+drivers/net/dsa/mv88e6xxx/chip.c:	return chip->info->tag_protocol;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (!chip->info->ops->set_egress_port)
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_lock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	if ((ingress ? chip->ingress_dest_port : chip->egress_dest_port) !=
+drivers/net/dsa/mv88e6xxx/chip.c:					 chip->ports[i].mirror_ingress :
+drivers/net/dsa/mv88e6xxx/chip.c:					 chip->ports[i].mirror_egress;
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_unlock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_lock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:				 chip->ports[i].mirror_ingress :
+drivers/net/dsa/mv88e6xxx/chip.c:				 chip->ports[i].mirror_egress;
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->info->ops->set_egress_port(chip,
+drivers/net/dsa/mv88e6xxx/chip.c:	mutex_unlock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->port_set_egress_floods)
+drivers/net/dsa/mv88e6xxx/chip.c:		err = chip->info->ops->port_set_egress_floods(chip, port,
+drivers/net/dsa/mv88e6xxx/chip.c:	struct device *dev = chip->dev;
+drivers/net/dsa/mv88e6xxx/chip.c:	ds->ageing_time_min = chip->info->age_time_coeff;
+drivers/net/dsa/mv88e6xxx/chip.c:	ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
+drivers/net/dsa/mv88e6xxx/chip.c:	dsa_unregister_switch(chip->ds);
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->info = compat_info;
+drivers/net/dsa/mv88e6xxx/chip.c:	chip->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (IS_ERR(chip->reset)) {
+drivers/net/dsa/mv88e6xxx/chip.c:		err = PTR_ERR(chip->reset);
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->reset)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ops->get_eeprom) {
+drivers/net/dsa/mv88e6xxx/chip.c:					     &chip->eeprom_len);
+drivers/net/dsa/mv88e6xxx/chip.c:			chip->eeprom_len = pdata->eeprom_len;
+drivers/net/dsa/mv88e6xxx/chip.c:		chip->irq = of_irq_get(np, 0);
+drivers/net/dsa/mv88e6xxx/chip.c:		if (chip->irq == -EPROBE_DEFER) {
+drivers/net/dsa/mv88e6xxx/chip.c:			err = chip->irq;
+drivers/net/dsa/mv88e6xxx/chip.c:		chip->irq = pdata->irq;
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->irq > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->g2_irqs > 0) {
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->g2_irqs > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->irq > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->ptp_support) {
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->info->g2_irqs > 0)
+drivers/net/dsa/mv88e6xxx/chip.c:	if (chip->irq > 0)
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->pvt;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_databases;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_macs;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_ports;
+drivers/net/dsa/mv88e6xxx/chip.h:	return chip->info->num_gpio;
+drivers/net/dsa/mv88e6xxx/chip.h:	return (chip->info->invalid_port_mask & BIT(port)) != 0;
+drivers/net/dsa/mv88e6xxx/chip.h:	mutex_lock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/chip.h:	mutex_unlock(&chip->reg_lock);
+drivers/net/dsa/mv88e6xxx/global1.c:	int addr = chip->info->global1_addr;
+drivers/net/dsa/mv88e6xxx/global1.c:	int addr = chip->info->global1_addr;
+drivers/net/dsa/mv88e6xxx/global1.c:	return mv88e6xxx_wait_bit(chip, chip->info->global1_addr, reg,
+drivers/net/dsa/mv88e6xxx/global1.c:	return mv88e6xxx_wait_mask(chip, chip->info->global1_addr, reg,
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->ingress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->egress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->ingress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1.c:		dest_port_chip = &chip->egress_dest_port;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	const unsigned int coeff = chip->info->age_time_coeff;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	dev_dbg(chip->dev, "AgeTime set to 0x%02x (%d ms)\n", age_time,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	if (!chip->info->atu_move_port_mask)
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	mask = chip->info->atu_move_port_mask;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	int to_port = chip->info->atu_move_port_mask;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		chip->ports[spid].atu_member_violation++;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		chip->ports[spid].atu_miss_violation++;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		dev_err_ratelimited(chip->dev,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		chip->ports[spid].atu_full_violation++;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	dev_err(chip->dev, "ATU problem: error %d while handling interrupt\n",
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	chip->atu_prob_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	if (chip->atu_prob_irq < 0)
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		return chip->atu_prob_irq;
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	err = request_threaded_irq(chip->atu_prob_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global1_atu.c:		irq_dispose_mapping(chip->atu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	free_irq(chip->atu_prob_irq, chip);
+drivers/net/dsa/mv88e6xxx/global1_atu.c:	irq_dispose_mapping(chip->atu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		dev_err_ratelimited(chip->dev, "VTU member violation for vid %d, source port %d\n",
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		chip->ports[spid].vtu_member_violation++;
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		dev_dbg_ratelimited(chip->dev, "VTU miss violation for vid %d, source port %d\n",
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		chip->ports[spid].vtu_miss_violation++;
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	dev_err(chip->dev, "VTU problem: error %d while handling interrupt\n",
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	chip->vtu_prob_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	if (chip->vtu_prob_irq < 0)
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		return chip->vtu_prob_irq;
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	err = request_threaded_irq(chip->vtu_prob_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:		irq_dispose_mapping(chip->vtu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	free_irq(chip->vtu_prob_irq, chip);
+drivers/net/dsa/mv88e6xxx/global1_vtu.c:	irq_dispose_mapping(chip->vtu_prob_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	return mv88e6xxx_read(chip, chip->info->global2_addr, reg, val);
+drivers/net/dsa/mv88e6xxx/global2.c:	return mv88e6xxx_write(chip, chip->info->global2_addr, reg, val);
+drivers/net/dsa/mv88e6xxx/global2.c:	return mv88e6xxx_wait_bit(chip, chip->info->global2_addr, reg,
+drivers/net/dsa/mv88e6xxx/global2.c:	dev_info(chip->dev, "Watchdog event: 0x%04x", reg);
+drivers/net/dsa/mv88e6xxx/global2.c:	dev_info(chip->dev, "Watchdog event: 0x%04x",
+drivers/net/dsa/mv88e6xxx/global2.c:	dev_info(chip->dev, "Watchdog history: 0x%04x",
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->reset)
+drivers/net/dsa/mv88e6xxx/global2.c:		chip->info->ops->reset(chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->watchdog_ops->irq_action)
+drivers/net/dsa/mv88e6xxx/global2.c:		ret = chip->info->ops->watchdog_ops->irq_action(chip, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->watchdog_ops->irq_free)
+drivers/net/dsa/mv88e6xxx/global2.c:		chip->info->ops->watchdog_ops->irq_free(chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	free_irq(chip->watchdog_irq, chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_dispose_mapping(chip->watchdog_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->watchdog_irq = irq_find_mapping(chip->g2_irq.domain,
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->watchdog_irq < 0)
+drivers/net/dsa/mv88e6xxx/global2.c:		return chip->watchdog_irq;
+drivers/net/dsa/mv88e6xxx/global2.c:	err = request_threaded_irq(chip->watchdog_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->info->ops->watchdog_ops->irq_setup)
+drivers/net/dsa/mv88e6xxx/global2.c:		err = chip->info->ops->watchdog_ops->irq_setup(chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.masked |= (1 << n);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.masked &= ~(1 << n);
+drivers/net/dsa/mv88e6xxx/global2.c:			sub_irq = irq_find_mapping(chip->g2_irq.domain, n);
+drivers/net/dsa/mv88e6xxx/global2.c:	err = mv88e6xxx_g2_int_mask(chip, ~chip->g2_irq.masked);
+drivers/net/dsa/mv88e6xxx/global2.c:		dev_err(chip->dev, "failed to mask interrupts\n");
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_set_chip_and_handler(irq, &chip->g2_irq.chip, handle_level_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	free_irq(chip->device_irq, chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_dispose_mapping(chip->device_irq);
+drivers/net/dsa/mv88e6xxx/global2.c:		virq = irq_find_mapping(chip->g2_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_domain_remove(chip->g2_irq.domain);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.domain = irq_domain_add_simple(
+drivers/net/dsa/mv88e6xxx/global2.c:		chip->dev->of_node, 16, 0, &mv88e6xxx_g2_irq_domain_ops, chip);
+drivers/net/dsa/mv88e6xxx/global2.c:	if (!chip->g2_irq.domain)
+drivers/net/dsa/mv88e6xxx/global2.c:		irq_create_mapping(chip->g2_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.chip = mv88e6xxx_g2_irq_chip;
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->g2_irq.masked = ~0;
+drivers/net/dsa/mv88e6xxx/global2.c:	chip->device_irq = irq_find_mapping(chip->g1_irq.domain,
+drivers/net/dsa/mv88e6xxx/global2.c:	if (chip->device_irq < 0) {
+drivers/net/dsa/mv88e6xxx/global2.c:		err = chip->device_irq;
+drivers/net/dsa/mv88e6xxx/global2.c:	err = request_threaded_irq(chip->device_irq, NULL,
+drivers/net/dsa/mv88e6xxx/global2.c:		virq = irq_find_mapping(chip->g2_irq.domain, irq);
+drivers/net/dsa/mv88e6xxx/global2.c:	irq_domain_remove(chip->g2_irq.domain);
+drivers/net/dsa/mv88e6xxx/global2.c:	for (phy = 0; phy < chip->info->num_internal_phys; phy++) {
+drivers/net/dsa/mv88e6xxx/global2.c:		irq = irq_find_mapping(chip->g2_irq.domain, phy);
+drivers/net/dsa/mv88e6xxx/global2.c:		bus->irq[chip->info->phy_base_addr + phy] = irq;
+drivers/net/dsa/mv88e6xxx/global2.c:	for (phy = 0; phy < chip->info->num_internal_phys; phy++)
+drivers/net/dsa/mv88e6xxx/global2.h:	if (chip->info->global2_addr) {
+drivers/net/dsa/mv88e6xxx/global2.h:		dev_err(chip->dev, "this chip requires CONFIG_NET_DSA_MV88E6XXX_GLOBAL2 enabled\n");
+drivers/net/dsa/mv88e6xxx/global2_scratch.c:		chip->gpio_data[offset] |= mask;
+drivers/net/dsa/mv88e6xxx/global2_scratch.c:		chip->gpio_data[offset] &= ~mask;
+drivers/net/dsa/mv88e6xxx/global2_scratch.c:	return mv88e6xxx_g2_scratch_write(chip, reg, chip->gpio_data[offset]);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->port_ptp_read)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->port_ptp_read(chip, port, addr,
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->port_ptp_write)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->port_ptp_write(chip, port, addr,
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->ptp_write)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->ptp_write(chip, addr, data);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ops->avb_ops->ptp_read)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	return chip->info->ops->avb_ops->ptp_read(chip, addr, data, 1);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	info->phc_index = ptp_clock_index(chip->ptp_clock);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		dev_dbg(chip->dev, "Unsupported rx_filter %d\n",
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		chip->enable_count += 1;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		if (chip->enable_count == 1 && ptp_ops->global_enable)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		chip->enable_count -= 1;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		if (chip->enable_count == 0 && ptp_ops->global_disable)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (!chip->info->ptp_support)
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:			ns = timecounter_cyc2time(&chip->tstamp_tc, ns);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ptp_schedule_worker(chip->ptp_clock, 0);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:			dev_warn(chip->dev, "p%d: clearing tx timestamp hang\n",
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		dev_warn(chip->dev, "p%d: tx timestamp overrun\n", ps->port_id);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		dev_warn(chip->dev, "p%d: unexpected seq. id\n", ps->port_id);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ns = timecounter_cyc2time(&chip->tstamp_tc, time_raw);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	dev_dbg(chip->dev,
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:		ps = &chip->port_hwtstamp[i];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	ptp_schedule_worker(chip->ptp_clock, 0);
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/hwtstamp.c:	if (chip->info->family == MV88E6XXX_FAMILY_6341) {
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->phy_read)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->phy_read(chip, bus, addr, reg, val);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->phy_write)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->phy_write(chip, bus, addr, reg, val);
+drivers/net/dsa/mv88e6xxx/phy.c:		dev_err(chip->dev,
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->ppu_disable)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->ppu_disable(chip);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->info->ops->ppu_enable)
+drivers/net/dsa/mv88e6xxx/phy.c:	return chip->info->ops->ppu_enable(chip);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (mutex_trylock(&chip->ppu_mutex)) {
+drivers/net/dsa/mv88e6xxx/phy.c:			chip->ppu_disabled = 0;
+drivers/net/dsa/mv88e6xxx/phy.c:		mutex_unlock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	schedule_work(&chip->ppu_work);
+drivers/net/dsa/mv88e6xxx/phy.c:	mutex_lock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (!chip->ppu_disabled) {
+drivers/net/dsa/mv88e6xxx/phy.c:			mutex_unlock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:		chip->ppu_disabled = 1;
+drivers/net/dsa/mv88e6xxx/phy.c:		del_timer(&chip->ppu_timer);
+drivers/net/dsa/mv88e6xxx/phy.c:	mod_timer(&chip->ppu_timer, jiffies + msecs_to_jiffies(10));
+drivers/net/dsa/mv88e6xxx/phy.c:	mutex_unlock(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	mutex_init(&chip->ppu_mutex);
+drivers/net/dsa/mv88e6xxx/phy.c:	INIT_WORK(&chip->ppu_work, mv88e6xxx_phy_ppu_reenable_work);
+drivers/net/dsa/mv88e6xxx/phy.c:	timer_setup(&chip->ppu_timer, mv88e6xxx_phy_ppu_reenable_timer, 0);
+drivers/net/dsa/mv88e6xxx/phy.c:	del_timer_sync(&chip->ppu_timer);
+drivers/net/dsa/mv88e6xxx/phy.c:	if (chip->info->ops->ppu_enable && chip->info->ops->ppu_disable)
+drivers/net/dsa/mv88e6xxx/phy.c:	if (chip->info->ops->ppu_enable && chip->info->ops->ppu_disable)
+drivers/net/dsa/mv88e6xxx/port.c:	int addr = chip->info->port_base_addr + port;
+drivers/net/dsa/mv88e6xxx/port.c:	int addr = chip->info->port_base_addr + port;
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: delay RXCLK %s, TXCLK %s\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: %s link %s\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: %s %s duplex\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:		dev_dbg(chip->dev, "p%d: Speed set to %d Mbps\n", port, speed);
+drivers/net/dsa/mv88e6xxx/port.c:		dev_dbg(chip->dev, "p%d: Speed unforced\n", port);
+drivers/net/dsa/mv88e6xxx/port.c:	if (cmode == chip->ports[port].cmode)
+drivers/net/dsa/mv88e6xxx/port.c:		if (chip->ports[port].serdes_irq) {
+drivers/net/dsa/mv88e6xxx/port.c:	chip->ports[port].cmode = 0;
+drivers/net/dsa/mv88e6xxx/port.c:		chip->ports[port].cmode = cmode;
+drivers/net/dsa/mv88e6xxx/port.c:		if (chip->ports[port].serdes_irq) {
+drivers/net/dsa/mv88e6xxx/port.c:	addr = chip->info->port_base_addr + port;
+drivers/net/dsa/mv88e6xxx/port.c:	switch (chip->ports[port].cmode) {
+drivers/net/dsa/mv88e6xxx/port.c:		u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: PortState set to %s\n", port,
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: VLANTable set to %.3x\n", port, map);
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: FID set to %u\n", port, fid);
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: DefaultVID set to %u\n", port, pvid);
+drivers/net/dsa/mv88e6xxx/port.c:		mirror_port = &chip->ports[port].mirror_ingress;
+drivers/net/dsa/mv88e6xxx/port.c:		mirror_port = &chip->ports[port].mirror_egress;
+drivers/net/dsa/mv88e6xxx/port.c:	dev_dbg(chip->dev, "p%d: 802.1QMode set to %s\n", port,
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (!chip->info->ops->avb_ops->tai_read)
+drivers/net/dsa/mv88e6xxx/ptp.c:	return chip->info->ops->avb_ops->tai_read(chip, addr, data, len);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (!chip->info->ops->avb_ops->tai_write)
+drivers/net/dsa/mv88e6xxx/ptp.c:	return chip->info->ops->avb_ops->tai_write(chip, addr, data);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (!chip->info->ops->gpio_ops)
+drivers/net/dsa/mv88e6xxx/ptp.c:	err = chip->info->ops->gpio_ops->set_dir(chip, pin, input);
+drivers/net/dsa/mv88e6xxx/ptp.c:	return chip->info->ops->gpio_ops->set_pctl(chip, pin, func);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->evcap_config = MV88E6XXX_TAI_CFG_CAP_OVERWRITE |
+drivers/net/dsa/mv88e6xxx/ptp.c:		chip->evcap_config |= MV88E6XXX_TAI_CFG_EVREQ_FALLING;
+drivers/net/dsa/mv88e6xxx/ptp.c:	global_config = (chip->evcap_config | chip->trig_config);
+drivers/net/dsa/mv88e6xxx/ptp.c:		dev_err(chip->dev, "failed to read TAI status register\n");
+drivers/net/dsa/mv88e6xxx/ptp.c:		dev_warn(chip->dev, "missed event capture\n");
+drivers/net/dsa/mv88e6xxx/ptp.c:	ev.timestamp = timecounter_cyc2time(&chip->tstamp_tc, raw_ts);
+drivers/net/dsa/mv88e6xxx/ptp.c:	ptp_clock_event(chip->ptp_clock, &ev);
+drivers/net/dsa/mv88e6xxx/ptp.c:	schedule_delayed_work(&chip->tai_event_work, TAI_EVENT_WORK_INTERVAL);
+drivers/net/dsa/mv88e6xxx/ptp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_read(&chip->tstamp_tc);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.mult = neg_adj ? mult - diff : mult + diff;
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_adjtime(&chip->tstamp_tc, delta);
+drivers/net/dsa/mv88e6xxx/ptp.c:	ns = timecounter_read(&chip->tstamp_tc);
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_init(&chip->tstamp_tc, &chip->tstamp_cc, ns);
+drivers/net/dsa/mv88e6xxx/ptp.c:	pin = ptp_find_pin(chip->ptp_clock, PTP_PF_EXTTS, rq->extts.index);
+drivers/net/dsa/mv88e6xxx/ptp.c:		schedule_delayed_work(&chip->tai_event_work,
+drivers/net/dsa/mv88e6xxx/ptp.c:		cancel_delayed_work_sync(&chip->tai_event_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (chip->info->ops->ptp_ops->clock_read)
+drivers/net/dsa/mv88e6xxx/ptp.c:		return chip->info->ops->ptp_ops->clock_read(cc);
+drivers/net/dsa/mv88e6xxx/ptp.c:	mv88e6xxx_ptp_gettime(&chip->ptp_clock_info, &ts);
+drivers/net/dsa/mv88e6xxx/ptp.c:	schedule_delayed_work(&chip->overflow_work,
+drivers/net/dsa/mv88e6xxx/ptp.c:	const struct mv88e6xxx_ptp_ops *ptp_ops = chip->info->ops->ptp_ops;
+drivers/net/dsa/mv88e6xxx/ptp.c:	memset(&chip->tstamp_cc, 0, sizeof(chip->tstamp_cc));
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.read	= mv88e6xxx_ptp_clock_read;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.mask	= CYCLECOUNTER_MASK(32);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.mult	= ptp_ops->cc_mult;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->tstamp_cc.shift	= ptp_ops->cc_shift;
+drivers/net/dsa/mv88e6xxx/ptp.c:	timecounter_init(&chip->tstamp_tc, &chip->tstamp_cc,
+drivers/net/dsa/mv88e6xxx/ptp.c:	INIT_DELAYED_WORK(&chip->overflow_work, mv88e6xxx_ptp_overflow_check);
+drivers/net/dsa/mv88e6xxx/ptp.c:		INIT_DELAYED_WORK(&chip->tai_event_work, ptp_ops->event_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.owner = THIS_MODULE;
+drivers/net/dsa/mv88e6xxx/ptp.c:	snprintf(chip->ptp_clock_info.name, sizeof(chip->ptp_clock_info.name),
+drivers/net/dsa/mv88e6xxx/ptp.c:		 "%s", dev_name(chip->dev));
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.n_ext_ts	= ptp_ops->n_ext_ts;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.n_per_out	= 0;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.n_pins	= mv88e6xxx_num_gpio(chip);
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.pps	= 0;
+drivers/net/dsa/mv88e6xxx/ptp.c:	for (i = 0; i < chip->ptp_clock_info.n_pins; ++i) {
+drivers/net/dsa/mv88e6xxx/ptp.c:		struct ptp_pin_desc *ppd = &chip->pin_config[i];
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.pin_config = chip->pin_config;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.max_adj    = MV88E6XXX_MAX_ADJ_PPB;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.adjfine	= mv88e6xxx_ptp_adjfine;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.adjtime	= mv88e6xxx_ptp_adjtime;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.gettime64	= mv88e6xxx_ptp_gettime;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.settime64	= mv88e6xxx_ptp_settime;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.enable	= ptp_ops->ptp_enable;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.verify	= ptp_ops->ptp_verify;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock_info.do_aux_work = mv88e6xxx_hwtstamp_work;
+drivers/net/dsa/mv88e6xxx/ptp.c:	chip->ptp_clock = ptp_clock_register(&chip->ptp_clock_info, chip->dev);
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (IS_ERR(chip->ptp_clock))
+drivers/net/dsa/mv88e6xxx/ptp.c:		return PTR_ERR(chip->ptp_clock);
+drivers/net/dsa/mv88e6xxx/ptp.c:	schedule_delayed_work(&chip->overflow_work,
+drivers/net/dsa/mv88e6xxx/ptp.c:	if (chip->ptp_clock) {
+drivers/net/dsa/mv88e6xxx/ptp.c:		cancel_delayed_work_sync(&chip->overflow_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:		if (chip->info->ops->ptp_ops->event_work)
+drivers/net/dsa/mv88e6xxx/ptp.c:			cancel_delayed_work_sync(&chip->tai_event_work);
+drivers/net/dsa/mv88e6xxx/ptp.c:		ptp_clock_unregister(chip->ptp_clock);
+drivers/net/dsa/mv88e6xxx/ptp.c:		chip->ptp_clock = NULL;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:		dev_err(chip->dev, "failed to read statistic\n");
+drivers/net/dsa/mv88e6xxx/serdes.c:			dev_err(chip->dev, "failed to read statistic\n");
+drivers/net/dsa/mv88e6xxx/serdes.c:	struct mv88e6xxx_port *mv88e6xxx_port = &chip->ports[port];
+drivers/net/dsa/mv88e6xxx/serdes.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/serdes.c:	return irq_find_mapping(chip->g2_irq.domain, MV88E6352_SERDES_IRQ);
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode_port = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode_port10 = chip->ports[10].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode_port9 = chip->ports[9].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	struct dsa_switch *ds = chip->ds;
+drivers/net/dsa/mv88e6xxx/serdes.c:		dev_err(chip->dev, "can't read SGMII PHY status: %d\n", err);
+drivers/net/dsa/mv88e6xxx/serdes.c:			dev_err(chip->dev, "invalid PHY speed\n");
+drivers/net/dsa/mv88e6xxx/serdes.c:		dev_err(chip->dev, "can't propagate PHY settings to MAC: %d\n",
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	u8 cmode = chip->ports[port].cmode;
+drivers/net/dsa/mv88e6xxx/serdes.c:	return irq_find_mapping(chip->g2_irq.domain, port);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_get_lane)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_get_lane(chip, port);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_power)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_power(chip, port, lane, true);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_power)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_power(chip, port, lane, false);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_mapping)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_mapping(chip, port);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_enable)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_enable(chip, port, lane, true);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_enable)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_enable(chip, port, lane, false);
+drivers/net/dsa/mv88e6xxx/serdes.h:	if (!chip->info->ops->serdes_irq_status)
+drivers/net/dsa/mv88e6xxx/serdes.h:	return chip->info->ops->serdes_irq_status(chip, port, lane);
+drivers/net/dsa/mv88e6xxx/smi.c:	ret = mdiobus_read_nested(chip->bus, dev, reg);
+drivers/net/dsa/mv88e6xxx/smi.c:	ret = mdiobus_write_nested(chip->bus, dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_read(chip, chip->sw_addr + dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_write(chip, chip->sw_addr + dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_write(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_read(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_write(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	err = mv88e6xxx_smi_direct_write(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	return mv88e6xxx_smi_direct_wait(chip, chip->sw_addr,
+drivers/net/dsa/mv88e6xxx/smi.c:	if (chip->info->dual_chip)
+drivers/net/dsa/mv88e6xxx/smi.c:		chip->smi_ops = &mv88e6xxx_smi_dual_direct_ops;
+drivers/net/dsa/mv88e6xxx/smi.c:		chip->smi_ops = &mv88e6xxx_smi_direct_ops;
+drivers/net/dsa/mv88e6xxx/smi.c:	else if (chip->info->multi_chip)
+drivers/net/dsa/mv88e6xxx/smi.c:		chip->smi_ops = &mv88e6xxx_smi_indirect_ops;
+drivers/net/dsa/mv88e6xxx/smi.c:	chip->bus = bus;
+drivers/net/dsa/mv88e6xxx/smi.c:	chip->sw_addr = sw_addr;
+drivers/net/dsa/mv88e6xxx/smi.h:	if (chip->smi_ops && chip->smi_ops->read)
+drivers/net/dsa/mv88e6xxx/smi.h:		return chip->smi_ops->read(chip, dev, reg, data);
+drivers/net/dsa/mv88e6xxx/smi.h:	if (chip->smi_ops && chip->smi_ops->write)
+drivers/net/dsa/mv88e6xxx/smi.h:		return chip->smi_ops->write(chip, dev, reg, data);
+drivers/net/ethernet/3com/typhoon.c:	/* The chip-specific entries in the device structure. */
+drivers/net/ethernet/8390/axnet_cs.c:  This is the chip-specific code for many 8390-based ethernet adaptors.
+drivers/net/ethernet/8390/lib8390.c:  This is the chip-specific code for many 8390-based ethernet adaptors.
+drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c: * bnx2x_func_init_cmn_chip - performs HW init at chip-common stage
+drivers/net/ethernet/broadcom/tg3.c:	 * chip-internal interrupt pending events.
+drivers/net/ethernet/broadcom/tg3.c:	 * chip-internal interrupt pending events.
+drivers/net/ethernet/broadcom/tg3.c:	 * chip-internal interrupt pending events.
+drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c:	/* Initiate chip-wide soft reset */
+drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:/* 10Gb/s-BT PHY Support. chip-external 10Gb/s-BT PHYs are complex chips
+drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:/* Handle updating of chip-external 10Gb/s-BT PHY firmware.  This needs to
+drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:	/* If this is a 10Gb/s-BT adapter make sure the chip-external
+drivers/net/ethernet/dec/tulip/winbond-840.c:	/* The chip-specific entries in the device structure. */
+drivers/net/ethernet/dlink/sundance.c:	/* The chip-specific entries in the device structure. */
+drivers/net/ethernet/intel/ixgbe/ixgbe_type.h:#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_MASK	0xFF01 /* int chip-wide mask */
+drivers/net/ethernet/intel/ixgbe/ixgbe_type.h:#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_FLAG	0xFC01 /* int chip-wide mask */
+drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c:	/* Enable chip-wide vendor alarm */
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.h: * @ports.index:	chip-wide first channel index
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c: * @idx:	NFP chip-wide port index
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c: * @idx:	NFP chip-wide port index
+drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c: * @idx:	NFP chip-wide port index
+drivers/net/ethernet/smsc/smc9194.c: .    Attempt to allocate memory for a packet, if chip-memory is not
+drivers/net/ethernet/smsc/smc9194.c: . chip-memory.
+drivers/net/ethernet/via/via-rhine.c:	/* The chip-specific entries in the device structure. */
+drivers/net/phy/microchip.c:#include <dt-bindings/net/microchip-lan78xx.h>
+drivers/net/phy/spi_ks8995.c:	result <<= ks->chip->addr_width + ks->chip->addr_shift;
+drivers/net/phy/spi_ks8995.c:	result |= address << ks->chip->addr_shift;
+drivers/net/phy/spi_ks8995.c:	if (id0 != ks->chip->family_id) {
+drivers/net/phy/spi_ks8995.c:			ks->chip->family_id, id0);
+drivers/net/phy/spi_ks8995.c:	switch (ks->chip->family_id) {
+drivers/net/phy/spi_ks8995.c:		    (get_chip_id(id1) == ks->chip->chip_id)) {
+drivers/net/phy/spi_ks8995.c:			    (ks->chip->chip_id == KSZ8864_CHIP_ID)) {
+drivers/net/phy/spi_ks8995.c:		if (get_chip_id(id1) == ks->chip->chip_id) {
+drivers/net/phy/spi_ks8995.c:	ks->regs_attr.size = ks->chip->regs_size;
+drivers/net/phy/spi_ks8995.c:		 ks->chip->name, ks->chip->chip_id, ks->revision_id);
+drivers/net/usb/cdc_subset.c: * well tends to require chip-specific vendor requests.  Also, Windows
+drivers/net/usb/sr9700.c:MODULE_DESCRIPTION("SR9700 one chip USB 1.1 USB to Ethernet device from http://www.corechip-sz.com/");
+drivers/net/usb/sr9800.c:MODULE_DESCRIPTION("SR9800 USB 2.0 USB2NET Dev : http://www.corechip-sz.com");
+drivers/net/wireless/ath/ath10k/core.c:			  "bus=%s,bmi-chip-id=%d,bmi-board-id=%d%s",
+drivers/net/wireless/ath/ath10k/core.c:			  "bus=%s,bmi-chip-id=%d,bmi-eboard-id=%d",
+drivers/net/wireless/ath/ath10k/pci.c:		if (supp_chip->dev_id == dev_id &&
+drivers/net/wireless/ath/ath10k/pci.c:		    supp_chip->rev_id == rev_id)
+drivers/net/wireless/ath/ath5k/initvals.c: * ath5k_hw_write_initvals() - Write initial chip-specific register dump
+drivers/net/wireless/ath/ath5k/initvals.c: * Write initial chip-specific register dump, to get the chipset on a
+drivers/net/wireless/ath/ath5k/phy.c:	/* Bank Modifications (chip-specific) */
+drivers/net/wireless/ath/ath9k/ar9003_phy.c:		/* disable IRQ, disable chip-reset for BB panic */
+drivers/net/wireless/ath/ath9k/ar9003_phy.c:	/* enable IRQ, disable chip-reset for BB watchdog */
+drivers/net/wireless/broadcom/b43/main.c:	 * the chip-internal counter. */
+drivers/net/wireless/broadcom/b43legacy/main.c:	 * the chip-internal counter. */
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	return core->chip->ops->read32(core->chip->ctx, core->pub.base + reg);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core->chip->ops->write32(core->chip->ctx, core->pub.base + reg, val);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	switch (sr->chip->pub.chip) {
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		if (sr->chip->pub.chiprev < 2)
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, id);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		val = chip->ops->read32(chip->ctx, cpu->wrapbase + BCMA_IOCTL);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	pub = &chip->pub;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	cc = list_first_entry(&chip->cores, struct brcmf_core_priv, list);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	pub->cc_caps = chip->ops->read32(chip->ctx,
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	pub->cc_caps_ext = chip->ops->read32(chip->ctx,
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		val = chip->ops->read32(chip->ctx,
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	if (chip->ops->setup)
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		ret = chip->ops->setup(chip->ctx, pub);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	INIT_LIST_HEAD(&chip->cores);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->num_cores = 0;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops = ops;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ctx = ctx;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	return &chip->pub;
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	brcmf_chip_detach(&chip->pub);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	list_for_each_entry_safe(core, tmp, &chip->cores, list) {
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	list_for_each_entry(core, &chip->cores, list)
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	cc = list_first_entry(&chip->cores, struct brcmf_core_priv, list);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	return core->chip->iscoreup(core);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core->chip->coredisable(core, prereset, reset);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core->chip->resetcore(core, prereset, reset, postreset);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_80211);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_INTERNAL_MEM);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	if (chip->pub.chip == BRCM_CC_43430_CHIP_ID) {
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_INTERNAL_MEM);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops->activate(chip->ctx, &chip->pub, 0);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CM3);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_80211);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops->activate(chip->ctx, &chip->pub, rstvec);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CR4);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_80211);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	chip->ops->activate(chip->ctx, &chip->pub, rstvec);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:	core = brcmf_chip_get_core(&chip->pub, BCMA_CORE_ARM_CA7);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		chip->ops->write32(chip->ctx, addr, 3);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:		reg = chip->ops->read32(chip->ctx, addr);
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 43224 chip-specific ChipControl register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4331 chip-specific ChipControl register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4319 chip-specific ChipStatus register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4336 chip-specific ChipStatus register bits */
+drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c:/* 4313 chip-specific ChipStatus register bits */
+drivers/net/wireless/realtek/rtw88/bf.c:	chip->ops->config_bfee(rtwdev, rtwvif, bfee, false);
+drivers/net/wireless/realtek/rtw88/bf.c:	if (!(chip->band & RTW_BAND_5G))
+drivers/net/wireless/realtek/rtw88/bf.c:		if (bfinfo->bfer_mu_cnt >= chip->bfer_mu_max_num) {
+drivers/net/wireless/realtek/rtw88/bf.c:		chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
+drivers/net/wireless/realtek/rtw88/bf.c:		if (bfinfo->bfer_su_cnt >= chip->bfer_su_max_num) {
+drivers/net/wireless/realtek/rtw88/bf.c:		for (i = 0; i < chip->bfer_su_max_num; i++) {
+drivers/net/wireless/realtek/rtw88/bf.c:		chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
+drivers/net/wireless/realtek/rtw88/coex.c:	u8 tol = chip->rssi_tolerance;
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->scbd_support)
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->scbd_support)
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->new_scbd10_def && (bitpos & COEX_SCBD_FIX2M)) {
+drivers/net/wireless/realtek/rtw88/coex.c:	if (!chip->scbd_support)
+drivers/net/wireless/realtek/rtw88/coex.c:	if (coex_rfe->wlg_at_btg && chip->scbd_support &&
+drivers/net/wireless/realtek/rtw88/coex.c:	if (chip->scbd_support) {
+drivers/net/wireless/realtek/rtw88/coex.c:		rssi_step = chip->wl_rssi_step[i];
+drivers/net/wireless/realtek/rtw88/coex.c:		rssi_step = chip->bt_rssi_step[i];
+drivers/net/wireless/realtek/rtw88/coex.c:		rssi_step = chip->wl_rssi_step[i];
+drivers/net/wireless/realtek/rtw88/coex.c:			bw = chip->bt_afh_span_bw40;
+drivers/net/wireless/realtek/rtw88/coex.c:			bw = chip->bt_afh_span_bw20;
+drivers/net/wireless/realtek/rtw88/coex.c:	} else if (chip->afh_5g_num > 1) {
+drivers/net/wireless/realtek/rtw88/coex.c:		for (i = 0; i < chip->afh_5g_num; i++) {
+drivers/net/wireless/realtek/rtw88/coex.c:			if (center_chan == chip->afh_5g[i].wl_5g_ch) {
+drivers/net/wireless/realtek/rtw88/coex.c:				center_chan = chip->afh_5g[i].bt_skip_ch;
+drivers/net/wireless/realtek/rtw88/coex.c:				bw = chip->afh_5g[i].bt_skip_span;
+drivers/net/wireless/realtek/rtw88/coex.c:		if (type < chip->table_sant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_sant[type].bt,
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_sant[type].wl);
+drivers/net/wireless/realtek/rtw88/coex.c:		if (type < chip->table_nsant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_nsant[type].bt,
+drivers/net/wireless/realtek/rtw88/coex.c:					   chip->table_nsant[type].wl);
+drivers/net/wireless/realtek/rtw88/coex.c:		if (chip->pstdma_type == COEX_PSTDMA_FORCE_LPSOFF)
+drivers/net/wireless/realtek/rtw88/coex.c:		if (type < chip->tdma_sant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[0],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[1],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[2],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[3],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_sant[type].para[4]);
+drivers/net/wireless/realtek/rtw88/coex.c:		if (n < chip->tdma_nsant_num)
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[0],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[1],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[2],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[3],
+drivers/net/wireless/realtek/rtw88/coex.c:					  chip->tdma_nsant[n].para[4]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	if (level > chip->wl_rf_para_num - 1)
+drivers/net/wireless/realtek/rtw88/coex.c:		level = chip->wl_rf_para_num - 1;
+drivers/net/wireless/realtek/rtw88/coex.c:		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_tx[level]);
+drivers/net/wireless/realtek/rtw88/coex.c:		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[level]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
+drivers/net/wireless/realtek/rtw88/coex.c:	if (chip->bt_rssi_type == COEX_BTRSSI_RATIO) {
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_init(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	if (!chip->ops->coex_set_ant_switch)
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_ant_switch(rtwdev, ctrl_type, pos_type);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_gnt_fix(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_gnt_debug(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_rfe_type(rtwdev);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_wl_tx_power(rtwdev, wl_pwr);
+drivers/net/wireless/realtek/rtw88/coex.h:	chip->ops->coex_set_wl_rx_gain(rtwdev, low_gain);
+drivers/net/wireless/realtek/rtw88/debug.c:	u8 page_size = rtwdev->chip->page_size;
+drivers/net/wireless/realtek/rtw88/debug.c:	if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C) {
+drivers/net/wireless/realtek/rtw88/efuse.c:	chip->ops->cfg_ldo25(rtwdev, false);
+drivers/net/wireless/realtek/rtw88/efuse.c:	ret = chip->ops->read_efuse(rtwdev, log_map);
+drivers/net/wireless/realtek/rtw88/fw.c:	size = chip->tx_pkt_desc_sz + sizeof(*dpk_hdr);
+drivers/net/wireless/realtek/rtw88/fw.c:	skb_reserve(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	size = chip->tx_pkt_desc_sz + sizeof(*pg_info_hdr);
+drivers/net/wireless/realtek/rtw88/fw.c:	skb_reserve(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/fw.c:	pg_size = rtwdev->chip->page_size;
+drivers/net/wireless/realtek/rtw88/fw.c:	page_size = chip->page_size;
+drivers/net/wireless/realtek/rtw88/fw.c:	tx_desc_sz = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/hci.h:	val = rtwdev->chip->ops->read_rf(rtwdev, rf_path, addr, mask);
+drivers/net/wireless/realtek/rtw88/hci.h:	rtwdev->chip->ops->write_rf(rtwdev, rf_path, addr, mask, data);
+drivers/net/wireless/realtek/rtw88/mac.c:	pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
+drivers/net/wireless/realtek/rtw88/mac.c:	u8 sys_func_en = rtwdev->chip->sys_func_en;
+drivers/net/wireless/realtek/rtw88/mac.c:	u32 desc_size = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/mac.c:		rqpn = &chip->rqpn_table[1];
+drivers/net/wireless/realtek/rtw88/mac.c:			rqpn = &chip->rqpn_table[2];
+drivers/net/wireless/realtek/rtw88/mac.c:			rqpn = &chip->rqpn_table[3];
+drivers/net/wireless/realtek/rtw88/mac.c:			rqpn = &chip->rqpn_table[4];
+drivers/net/wireless/realtek/rtw88/mac.c:	u8 csi_buf_pg_num = chip->csi_buf_pg_num;
+drivers/net/wireless/realtek/rtw88/mac.c:	fifo->txff_pg_num = chip->txff_size >> 7;
+drivers/net/wireless/realtek/rtw88/mac.c:		pg_tbl = &chip->page_table[1];
+drivers/net/wireless/realtek/rtw88/mac.c:			pg_tbl = &chip->page_table[2];
+drivers/net/wireless/realtek/rtw88/mac.c:			pg_tbl = &chip->page_table[3];
+drivers/net/wireless/realtek/rtw88/mac.c:			pg_tbl = &chip->page_table[4];
+drivers/net/wireless/realtek/rtw88/mac.c:	rtw_write32(rtwdev, REG_RXFF_BNDY, chip->rxff_size - C2H_PKT_BUF - 1);
+drivers/net/wireless/realtek/rtw88/mac.c:	ret = chip->ops->mac_init(rtwdev);
+drivers/net/wireless/realtek/rtw88/mac80211.c:			chip->ops->phy_calibration(rtwdev);
+drivers/net/wireless/realtek/rtw88/mac80211.c:		chip->ops->set_gid_table(rtwdev, vif, conf);
+drivers/net/wireless/realtek/rtw88/main.c:	chip->ops->cfg_csi_rate(rtwdev, rtwdev->dm_info.min_rssi,
+drivers/net/wireless/realtek/rtw88/main.c:	chip->ops->set_channel(rtwdev, center_chan, bandwidth, primary_chan_idx);
+drivers/net/wireless/realtek/rtw88/main.c:	chip->ops->phy_set_param(rtwdev);
+drivers/net/wireless/realtek/rtw88/main.c:	if (chip->band & RTW_BAND_2G) {
+drivers/net/wireless/realtek/rtw88/main.c:		if (chip->ht_supported)
+drivers/net/wireless/realtek/rtw88/main.c:	if (chip->band & RTW_BAND_5G) {
+drivers/net/wireless/realtek/rtw88/main.c:		if (chip->ht_supported)
+drivers/net/wireless/realtek/rtw88/main.c:		if (chip->vht_supported)
+drivers/net/wireless/realtek/rtw88/main.c:	efuse->physical_size = chip->phy_efuse_size;
+drivers/net/wireless/realtek/rtw88/main.c:	efuse->logical_size = chip->log_efuse_size;
+drivers/net/wireless/realtek/rtw88/main.c:	efuse->protect_size = chip->ptct_efuse_size;
+drivers/net/wireless/realtek/rtw88/main.c:	if (!(BIT(rtw_fw_lps_deep_mode) & chip->lps_deep_mode_supported))
+drivers/net/wireless/realtek/rtw88/main.c:	ret = rtw_load_firmware(rtwdev, rtwdev->chip->fw_name);
+drivers/net/wireless/realtek/rtw88/main.c:	max_tx_headroom = rtwdev->chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	tx_desc_size = chip->tx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	rx_desc_size = chip->rx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 desc_sz = chip->rx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 tx_pkt_desc_sz = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 tx_buf_desc_sz = chip->tx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/pci.c:	tx_pkt_desc_sz = rtwdev->chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	tx_pkt_desc_sz = rtwdev->chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:		skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz);
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 pkt_desc_sz = chip->rx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:	u32 buf_desc_sz = chip->rx_buf_desc_sz;
+drivers/net/wireless/realtek/rtw88/pci.c:		chip->ops->query_rx_desc(rtwdev, rx_desc, &pkt_stat, &rx_status);
+drivers/net/wireless/realtek/rtw88/pci.c:	for (i = 0; i < chip->intf_table->n_gen1_para; i++) {
+drivers/net/wireless/realtek/rtw88/pci.c:		para = &chip->intf_table->gen1_para[i];
+drivers/net/wireless/realtek/rtw88/pci.c:	for (i = 0; i < chip->intf_table->n_gen2_para; i++) {
+drivers/net/wireless/realtek/rtw88/pci.c:		para = &chip->intf_table->gen2_para[i];
+drivers/net/wireless/realtek/rtw88/phy.c:	addr = chip->dig[0].addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	mask = chip->dig[0].mask;
+drivers/net/wireless/realtek/rtw88/phy.c:		addr = chip->dig[path].addr;
+drivers/net/wireless/realtek/rtw88/phy.c:		mask = chip->dig[path].mask;
+drivers/net/wireless/realtek/rtw88/phy.c:	chip->ops->false_alarm_statistics(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	if (chip->ops->dpk_track)
+drivers/net/wireless/realtek/rtw88/phy.c:		chip->ops->dpk_track(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	if (chip->ops->cck_pd_set)
+drivers/net/wireless/realtek/rtw88/phy.c:		chip->ops->cck_pd_set(rtwdev, level);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtwdev->chip->ops->pwr_track(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	const u32 *base_addr = chip->rf_base_addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	u32 *sipi_addr = chip->rf_sipi_addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	const u32 *base_addr = chip->rf_base_addr;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (rtwdev->chip->is_pwr_by_rate_dec)
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 max_power_index = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 max_power_index = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (!chip->rfk_init_tbl)
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->rfk_init_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->mac_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->bb_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:	rtw_load_table(rtwdev, chip->agc_tbl);
+drivers/net/wireless/realtek/rtw88/phy.c:		tbl = chip->rf_tbl[rf_path];
+drivers/net/wireless/realtek/rtw88/phy.c:	if (!chip->en_dis_dpd)
+drivers/net/wireless/realtek/rtw88/phy.c:	if (DIS_DPD_RATE ## _rate & chip->dpd_ratemask)			\
+drivers/net/wireless/realtek/rtw88/phy.c:		dpd_diff = -6 * chip->txgi_factor;			\
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 factor = chip->txgi_factor;
+drivers/net/wireless/realtek/rtw88/phy.c:	u8 factor = chip->txgi_factor;
+drivers/net/wireless/realtek/rtw88/phy.c:	s8 power_limit = (s8)rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	return (s8)rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (rtwdev->chip->en_dis_dpd)
+drivers/net/wireless/realtek/rtw88/phy.c:	if (tx_power > rtwdev->chip->max_power_index)
+drivers/net/wireless/realtek/rtw88/phy.c:		tx_power = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	chip->ops->set_tx_power_index(rtwdev);
+drivers/net/wireless/realtek/rtw88/phy.c:	s8 max_power_index = (s8)rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/phy.c:	const struct rtw_pwr_track_tbl *tbl = rtwdev->chip->pwr_track_tbl;
+drivers/net/wireless/realtek/rtw88/phy.c:	if (delta_iqk >= rtwdev->chip->iqk_threshold) {
+drivers/net/wireless/realtek/rtw88/phy.h:	if (chip->rfe_defs_size == 0)
+drivers/net/wireless/realtek/rtw88/phy.h:	if (efuse->rfe_option < chip->rfe_defs_size)
+drivers/net/wireless/realtek/rtw88/phy.h:		rfe_def = &chip->rfe_defs[efuse->rfe_option];
+drivers/net/wireless/realtek/rtw88/rtw8822b.c:	u32 desc_sz = rtwdev->chip->rx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/rtw8822b.c:	u8 max_pwr_idx = rtwdev->chip->max_power_index;
+drivers/net/wireless/realtek/rtw88/rtw8822c.c:	u32 desc_sz = rtwdev->chip->rx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/tx.c:	pkt_info->offset = chip->tx_pkt_desc_sz;
+drivers/net/wireless/realtek/rtw88/tx.c:	pkt_info->offset = chip->tx_pkt_desc_sz;
+drivers/net/wireless/ti/wl1251/io.c:	 * a chip-specific register address, so look it up in the registers
+drivers/net/wireless/ti/wlcore/wlcore.h:	/* per-chip-family private structure */
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_init(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_init(&chip->usb, hw, intf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_rf_init(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(!mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_clear(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_rf_clear(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_destroy(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	i += zd_usb_scnprint_id(&chip->usb, buffer+i, size-i);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	i += zd_rf_scnprint_id(&chip->rf, buffer+i, size-i);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	i += scnprintf(buffer+i, size-i, " pa%1x %c%c%c%c%c", chip->pa_type,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_cck_gain ? 'g' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_cr157 ? '7' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_6m_band_edge ? '6' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->new_phy_layout ? 'N' : '-',
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->al2230s_bit ? 'S' : '-');
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_usb_iowrite16v_async(&chip->usb, ioreqs16, count16);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_iowrite16v_async_start(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		zd_usb_iowrite16v_async_end(&chip->usb, 0);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_iowrite16v_async_end(&chip->usb, 50 /* ms */);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_iowrite16v_async_start(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		r = zd_usb_iowrite16v_async(&chip->usb, &ioreqs[i], j);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			zd_usb_iowrite16v_async_end(&chip->usb, 0);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_iowrite16v_async_end(&chip->usb, 50 /* ms */);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_iowrite16v_async_start(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			zd_usb_iowrite16v_async_end(&chip->usb, 0);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_iowrite16v_async_end(&chip->usb, 50 /* ms */);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->pa_type = (value >> 16) & 0x0f;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cck_gain = (value >> 8) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cr157 = (value >> 13) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_6m_band_edge = (value >> 21) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->new_phy_layout = (value >> 31) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->al2230s_bit = (value >> 7) & 0x1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->link_led = ((value >> 4) & 1) ? LED1 : LED2;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->supports_tx_led = 1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			chip->supports_tx_led = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->pa_type, chip->patch_cck_gain,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->patch_cr157, chip->patch_6m_band_edge,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->new_phy_layout,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->link_led == LED1 ? 1 : 2,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		chip->supports_tx_led);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->pa_type = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cck_gain = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_cr157 = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->patch_6m_band_edge = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	chip->new_phy_layout = 0;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return read_values(chip, chip->pwr_cal_values,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return read_values(chip, chip->pwr_int_values,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		r = read_values(chip, chip->ofdm_cal_values[i],
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!chip->patch_cr157)
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!chip->patch_6m_band_edge)
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_rf_patch_6m_band_edge(&chip->rf, channel);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return (zd_addr_t)((u16)chip->fw_regs_base + offset);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_ioread16_locked(chip, (u16*)&chip->fw_regs_base,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		  (u16)chip->fw_regs_base);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	return zd_usb_read_fw(&chip->usb, E2P_MAC_ADDR_P1, addr,
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_rf_init_hw(&chip->rf, rf_type);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	u8 value = chip->pwr_int_values[channel - 1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	u8 value = chip->pwr_cal_values[channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ioreqs[0].value = chip->ofdm_cal_values[OFDM_36M_INDEX][channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ioreqs[1].value = chip->ofdm_cal_values[OFDM_48M_INDEX][channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ioreqs[2].value = chip->ofdm_cal_values[OFDM_54M_INDEX][channel-1];
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!zd_rf_should_update_pwr_int(&chip->rf))
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	if (!chip->patch_cck_gain || !zd_rf_should_patch_cck_gain(&chip->rf))
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_rf_set_channel(&chip->rf, channel);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	channel = chip->rf.channel;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	other_led = chip->link_led == LED1 ? LED2 : LED1;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			ioreqs[1].value &= ~chip->link_led;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:			ioreqs[1].value |= chip->link_led;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:		ioreqs[1].value |= chip->link_led;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_switch_radio_on(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_switch_radio_off(&chip->rf);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_usb_enable_int(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_disable_int(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_enable_tx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	r = zd_usb_enable_rx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_tx_watchdog_enable(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_tx_watchdog_disable(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_disable_rx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	zd_usb_disable_tx(&chip->usb);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_lock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.c:	mutex_unlock(&chip->mutex);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return chip->usb.is_zd1211b;
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_ioread16v(&chip->usb, values, addresses, count);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_ioread16(&chip->usb, value, addr);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_iowrite16v(&chip->usb, &ioreq, 1);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return zd_usb_rfwrite(&chip->usb, value, bits);
+drivers/net/wireless/zydas/zd1211rw/zd_chip.h:	return chip->rf.channel;
+drivers/net/wireless/zydas/zd1211rw/zd_mac.c:	struct zd_usb *usb = &chip->usb;
+drivers/net/wireless/zydas/zd1211rw/zd_rf.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_rf.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_rf.c:	ZD_ASSERT(mutex_is_locked(&chip->mutex));
+drivers/net/wireless/zydas/zd1211rw/zd_rf_al2230.c:	if (chip->new_phy_layout) {
+drivers/net/wireless/zydas/zd1211rw/zd_rf_al7230b.c:	if (chip->new_phy_layout) {
+drivers/net/wireless/zydas/zd1211rw/zd_rf_al7230b.c:	if (chip->new_phy_layout)
+drivers/net/wireless/zydas/zd1211rw/zd_rf_uw2453.c:	u8 int_value = chip->pwr_int_values[channel - 1];
+drivers/nvmem/Makefile:nvmem_rockchip_efuse-y		:= rockchip-efuse.o
+drivers/nvmem/Makefile:obj-$(CONFIG_ROCKCHIP_OTP)	+= nvmem-rockchip-otp.o
+drivers/nvmem/Makefile:nvmem-rockchip-otp-y		:= rockchip-otp.o
+drivers/nvmem/rockchip-efuse.c:	.name = "rockchip-efuse",
+drivers/nvmem/rockchip-efuse.c:		.compatible = "rockchip,rockchip-efuse",
+drivers/nvmem/rockchip-efuse.c:		.name = "rockchip-efuse",
+drivers/nvmem/rockchip-otp.c:	.name = "rockchip-otp",
+drivers/nvmem/rockchip-otp.c:		.name = "rockchip-otp",
+drivers/pci/controller/Makefile:obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o
+drivers/pci/controller/Makefile:obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
+drivers/pci/controller/pci-aardvark.c:	irq_chip->name = devm_kasprintf(dev, GFP_KERNEL, "%s-irq",
+drivers/pci/controller/pci-aardvark.c:	if (!irq_chip->name) {
+drivers/pci/controller/pci-aardvark.c:	irq_chip->irq_mask = advk_pcie_irq_mask;
+drivers/pci/controller/pci-aardvark.c:	irq_chip->irq_mask_ack = advk_pcie_irq_mask;
+drivers/pci/controller/pci-aardvark.c:	irq_chip->irq_unmask = advk_pcie_irq_unmask;
+drivers/pci/controller/pci-hyperv.c:	return parent->chip->irq_set_affinity(parent, dest, force);
+drivers/pci/controller/pci-tegra.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pci-tegra.c:	msi = find_first_zero_bit(chip->used, INT_PCI_MSI_NR);
+drivers/pci/controller/pci-tegra.c:		set_bit(msi, chip->used);
+drivers/pci/controller/pci-tegra.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pci-tegra.c:	struct device *dev = chip->chip.dev;
+drivers/pci/controller/pci-tegra.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pci-tegra.c:	if (!test_bit(irq, chip->used))
+drivers/pci/controller/pci-tegra.c:		clear_bit(irq, chip->used);
+drivers/pci/controller/pci-tegra.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	msi = find_first_zero_bit(chip->used, INT_PCI_MSI_NR);
+drivers/pci/controller/pcie-rcar.c:		set_bit(msi, chip->used);
+drivers/pci/controller/pcie-rcar.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	msi = bitmap_find_free_region(chip->used, INT_PCI_MSI_NR,
+drivers/pci/controller/pcie-rcar.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	mutex_lock(&chip->lock);
+drivers/pci/controller/pcie-rcar.c:	clear_bit(irq, chip->used);
+drivers/pci/controller/pcie-rcar.c:	mutex_unlock(&chip->lock);
+drivers/pci/controller/pcie-rockchip-ep.c:	cpu_addr -= rockchip->mem_res->start;
+drivers/pci/controller/pcie-rockchip-ep.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-ep.c:	rockchip->is_rc = false;
+drivers/pci/controller/pcie-rockchip-ep.c:	rockchip->dev = dev;
+drivers/pci/controller/pcie-rockchip-ep.c:	err = pci_epc_mem_init(epc, rockchip->mem_res->start,
+drivers/pci/controller/pcie-rockchip-ep.c:			       resource_size(rockchip->mem_res));
+drivers/pci/controller/pcie-rockchip-ep.c:		.name = "rockchip-pcie-ep",
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->number == rockchip->root_bus_nr && dev > 0)
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->primary == rockchip->root_bus_nr && dev > 0)
+drivers/pci/controller/pcie-rockchip-host.c:	if (rockchip->legacy_phy)
+drivers/pci/controller/pcie-rockchip-host.c:	addr = rockchip->apb_base + PCIE_RC_CONFIG_NORMAL_BASE + where;
+drivers/pci/controller/pcie-rockchip-host.c:	addr = rockchip->apb_base + PCIE_RC_CONFIG_NORMAL_BASE + offset;
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->parent->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:		*val = readl(rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		*val = readw(rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		*val = readb(rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->parent->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:		writel(val, rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		writew(val, rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:		writeb(val, rockchip->reg_base + busdev);
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:	if (bus->number == rockchip->root_bus_nr)
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:	curr = regulator_get_current_limit(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:			dev_warn(rockchip->dev, "invalid power supply\n");
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	gpiod_set_value_cansleep(rockchip->ep_gpio, 0);
+drivers/pci/controller/pcie-rockchip-host.c:	gpiod_set_value_cansleep(rockchip->ep_gpio, 1);
+drivers/pci/controller/pcie-rockchip-host.c:	err = readl_poll_timeout(rockchip->apb_base + PCIE_CLIENT_BASIC_STATUS1,
+drivers/pci/controller/pcie-rockchip-host.c:	if (rockchip->link_gen == 2) {
+drivers/pci/controller/pcie-rockchip-host.c:		err = readl_poll_timeout(rockchip->apb_base + PCIE_CORE_CTRL,
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->lanes_map = rockchip_pcie_lane_map(rockchip);
+drivers/pci/controller/pcie-rockchip-host.c:		if (!(rockchip->lanes_map & BIT(i))) {
+drivers/pci/controller/pcie-rockchip-host.c:			phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip-host.c:		phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip-host.c:		phy_exit(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:		virq = irq_find_mapping(rockchip->irq_domain, hwirq);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie12v = devm_regulator_get_optional(dev, "vpcie12v");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie12v)) {
+drivers/pci/controller/pcie-rockchip-host.c:		if (PTR_ERR(rockchip->vpcie12v) != -ENODEV)
+drivers/pci/controller/pcie-rockchip-host.c:			return PTR_ERR(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie3v3 = devm_regulator_get_optional(dev, "vpcie3v3");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie3v3)) {
+drivers/pci/controller/pcie-rockchip-host.c:		if (PTR_ERR(rockchip->vpcie3v3) != -ENODEV)
+drivers/pci/controller/pcie-rockchip-host.c:			return PTR_ERR(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie1v8 = devm_regulator_get(dev, "vpcie1v8");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie1v8))
+drivers/pci/controller/pcie-rockchip-host.c:		return PTR_ERR(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->vpcie0v9 = devm_regulator_get(dev, "vpcie0v9");
+drivers/pci/controller/pcie-rockchip-host.c:	if (IS_ERR(rockchip->vpcie0v9))
+drivers/pci/controller/pcie-rockchip-host.c:		return PTR_ERR(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v)) {
+drivers/pci/controller/pcie-rockchip-host.c:		err = regulator_enable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3)) {
+drivers/pci/controller/pcie-rockchip-host.c:		err = regulator_enable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	err = regulator_enable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	err = regulator_enable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->irq_domain = irq_domain_add_linear(intc, PCI_NUM_INTX,
+drivers/pci/controller/pcie-rockchip-host.c:	if (!rockchip->irq_domain) {
+drivers/pci/controller/pcie-rockchip-host.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->msg_bus_addr = pci_addr;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->msg_bus_addr += ((reg_no + offset) << 20);
+drivers/pci/controller/pcie-rockchip-host.c:	writel(0x0, rockchip->msg_region + PCIE_RC_SEND_PME_OFF);
+drivers/pci/controller/pcie-rockchip-host.c:	err = readl_poll_timeout(rockchip->apb_base + PCIE_CLIENT_DEBUG_OUT_0,
+drivers/pci/controller/pcie-rockchip-host.c:		dev_err(rockchip->dev, "PCIe link enter L2 timeout!\n");
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	err = regulator_enable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->dev = dev;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->is_rc = true;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->root_bus_nr = bus_res->start;
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->msg_region = devm_ioremap(dev, rockchip->msg_bus_addr, SZ_1M);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!rockchip->msg_region) {
+drivers/pci/controller/pcie-rockchip-host.c:	rockchip->root_bus = bus;
+drivers/pci/controller/pcie-rockchip-host.c:	irq_domain_remove(rockchip->irq_domain);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:	pci_stop_root_bus(rockchip->root_bus);
+drivers/pci/controller/pcie-rockchip-host.c:	pci_remove_root_bus(rockchip->root_bus);
+drivers/pci/controller/pcie-rockchip-host.c:	irq_domain_remove(rockchip->irq_domain);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie12v))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie12v);
+drivers/pci/controller/pcie-rockchip-host.c:	if (!IS_ERR(rockchip->vpcie3v3))
+drivers/pci/controller/pcie-rockchip-host.c:		regulator_disable(rockchip->vpcie3v3);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie1v8);
+drivers/pci/controller/pcie-rockchip-host.c:	regulator_disable(rockchip->vpcie0v9);
+drivers/pci/controller/pcie-rockchip-host.c:		.name = "rockchip-pcie",
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->is_rc) {
+drivers/pci/controller/pcie-rockchip.c:		rockchip->reg_base = devm_pci_remap_cfg_resource(dev, regs);
+drivers/pci/controller/pcie-rockchip.c:		if (IS_ERR(rockchip->reg_base))
+drivers/pci/controller/pcie-rockchip.c:			return PTR_ERR(rockchip->reg_base);
+drivers/pci/controller/pcie-rockchip.c:		rockchip->mem_res =
+drivers/pci/controller/pcie-rockchip.c:		if (!rockchip->mem_res)
+drivers/pci/controller/pcie-rockchip.c:	rockchip->apb_base = devm_ioremap_resource(dev, regs);
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->apb_base))
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->apb_base);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->lanes = 1;
+drivers/pci/controller/pcie-rockchip.c:	err = of_property_read_u32(node, "num-lanes", &rockchip->lanes);
+drivers/pci/controller/pcie-rockchip.c:	if (!err && (rockchip->lanes == 0 ||
+drivers/pci/controller/pcie-rockchip.c:		     rockchip->lanes == 3 ||
+drivers/pci/controller/pcie-rockchip.c:		     rockchip->lanes > 4)) {
+drivers/pci/controller/pcie-rockchip.c:		rockchip->lanes = 1;
+drivers/pci/controller/pcie-rockchip.c:	rockchip->link_gen = of_pci_get_max_link_speed(node);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->link_gen < 0 || rockchip->link_gen > 2)
+drivers/pci/controller/pcie-rockchip.c:		rockchip->link_gen = 2;
+drivers/pci/controller/pcie-rockchip.c:	rockchip->core_rst = devm_reset_control_get_exclusive(dev, "core");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->core_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->core_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->core_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->mgmt_rst = devm_reset_control_get_exclusive(dev, "mgmt");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->mgmt_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->mgmt_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->mgmt_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->mgmt_sticky_rst = devm_reset_control_get_exclusive(dev,
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->mgmt_sticky_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->mgmt_sticky_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->mgmt_sticky_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->pipe_rst = devm_reset_control_get_exclusive(dev, "pipe");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->pipe_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->pipe_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->pipe_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->pm_rst = devm_reset_control_get_exclusive(dev, "pm");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->pm_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->pm_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->pm_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->pclk_rst = devm_reset_control_get_exclusive(dev, "pclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->pclk_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->pclk_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->pclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->aclk_rst = devm_reset_control_get_exclusive(dev, "aclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->aclk_rst)) {
+drivers/pci/controller/pcie-rockchip.c:		if (PTR_ERR(rockchip->aclk_rst) != -EPROBE_DEFER)
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->aclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->is_rc) {
+drivers/pci/controller/pcie-rockchip.c:		rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
+drivers/pci/controller/pcie-rockchip.c:		if (IS_ERR(rockchip->ep_gpio)) {
+drivers/pci/controller/pcie-rockchip.c:			return PTR_ERR(rockchip->ep_gpio);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->aclk_pcie = devm_clk_get(dev, "aclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->aclk_pcie)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->aclk_perf_pcie = devm_clk_get(dev, "aclk-perf");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->aclk_perf_pcie)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->hclk_pcie = devm_clk_get(dev, "hclk");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->hclk_pcie)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	rockchip->clk_pcie_pm = devm_clk_get(dev, "pm");
+drivers/pci/controller/pcie-rockchip.c:	if (IS_ERR(rockchip->clk_pcie_pm)) {
+drivers/pci/controller/pcie-rockchip.c:		return PTR_ERR(rockchip->clk_pcie_pm);
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->aclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->pclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->pm_rst);
+drivers/pci/controller/pcie-rockchip.c:		err = phy_init(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->core_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->mgmt_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->mgmt_sticky_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_assert(rockchip->pipe_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->pm_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->aclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->pclk_rst);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->link_gen == 2)
+drivers/pci/controller/pcie-rockchip.c:	       PCIE_CLIENT_CONF_LANE_NUM(rockchip->lanes);
+drivers/pci/controller/pcie-rockchip.c:	if (rockchip->is_rc)
+drivers/pci/controller/pcie-rockchip.c:		err = phy_power_on(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->mgmt_sticky_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->core_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->mgmt_rst);
+drivers/pci/controller/pcie-rockchip.c:	err = reset_control_deassert(rockchip->pipe_rst);
+drivers/pci/controller/pcie-rockchip.c:		phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:		phy_exit(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:		rockchip->legacy_phy = true;
+drivers/pci/controller/pcie-rockchip.c:		rockchip->phys[0] = phy;
+drivers/pci/controller/pcie-rockchip.c:		rockchip->phys[i] = phy;
+drivers/pci/controller/pcie-rockchip.c:		if (rockchip->lanes_map & BIT(i))
+drivers/pci/controller/pcie-rockchip.c:			phy_power_off(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:		phy_exit(rockchip->phys[i]);
+drivers/pci/controller/pcie-rockchip.c:	struct device *dev = rockchip->dev;
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	err = clk_prepare_enable(rockchip->clk_pcie_pm);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->clk_pcie_pm);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->hclk_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_perf_pcie);
+drivers/pci/controller/pcie-rockchip.c:	clk_disable_unprepare(rockchip->aclk_pcie);
+drivers/pci/controller/pcie-rockchip.h:	return readl(rockchip->apb_base + reg);
+drivers/pci/controller/pcie-rockchip.h:	writel(val, rockchip->apb_base + reg);
+drivers/pci/controller/vmd.c:	data->chip->irq_unmask(data);
+drivers/pci/controller/vmd.c:	data->chip->irq_mask(data);
+drivers/pci/msi.c:	if (!chip || !chip->setup_irq)
+drivers/pci/msi.c:	err = chip->setup_irq(chip, dev, desc);
+drivers/pci/msi.c:	if (!chip || !chip->teardown_irq)
+drivers/pci/msi.c:	chip->teardown_irq(chip, irq);
+drivers/pci/msi.c:	if (chip && chip->setup_irqs)
+drivers/pci/msi.c:		return chip->setup_irqs(chip, dev, nvec, type);
+drivers/pci/msi.c:	if (!chip->irq_write_msi_msg)
+drivers/pci/msi.c:		chip->irq_write_msi_msg = pci_msi_domain_write_msg;
+drivers/pci/msi.c:	if (!chip->irq_mask)
+drivers/pci/msi.c:		chip->irq_mask = pci_msi_mask_irq;
+drivers/pci/msi.c:	if (!chip->irq_unmask)
+drivers/pci/msi.c:		chip->irq_unmask = pci_msi_unmask_irq;
+drivers/pci/msi.c:	info->chip->flags |= IRQCHIP_ONESHOT_SAFE;
+drivers/pcmcia/at91_cf.c:	/* reserve chip-select regions */
+drivers/pcmcia/electra_cf.c:	/* reserve chip-select regions */
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_DP)		+= phy-rockchip-dp.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_EMMC)		+= phy-rockchip-emmc.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY)	+= phy-rockchip-inno-dsidphy.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_INNO_HDMI)	+= phy-rockchip-inno-hdmi.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2)	+= phy-rockchip-inno-usb2.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_PCIE)		+= phy-rockchip-pcie.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_TYPEC)	+= phy-rockchip-typec.o
+drivers/phy/rockchip/Makefile:obj-$(CONFIG_PHY_ROCKCHIP_USB)		+= phy-rockchip-usb.o
+drivers/phy/rockchip/phy-rockchip-dp.c:		.name	= "rockchip-dp-phy",
+drivers/phy/rockchip/phy-rockchip-emmc.c:		.name	= "rockchip-emmc-phy",
+drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:	/* try to read the chip-version */
+drivers/phy/rockchip/phy-rockchip-inno-usb2.c:		.name	= "rockchip-usb2phy",
+drivers/phy/rockchip/phy-rockchip-pcie.c:		.name	= "rockchip-pcie-phy",
+drivers/phy/rockchip/phy-rockchip-typec.c:		.name	= "rockchip-typec-phy",
+drivers/phy/rockchip/phy-rockchip-usb.c:		.name	= "rockchip-usb-phy",
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->base = -1;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->ngpio = pctrl->soc->ngpios;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->label = dev_name(pctrl->dev);
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->parent = pctrl->dev;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/actions/pinctrl-owl.c:	chip->of_node = pctrl->dev->of_node;
+drivers/pinctrl/actions/pinctrl-owl.c:	pctrl->irq_chip.name = chip->of_node->name;
+drivers/pinctrl/actions/pinctrl-owl.c:	gpio_irq = &chip->irq;
+drivers/pinctrl/actions/pinctrl-owl.c:	gpio_irq->map = devm_kcalloc(pctrl->dev, chip->ngpio,
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:		if (chip->irq.parents[i] == irq) {
+drivers/pinctrl/bcm/pinctrl-bcm2835.c:	int irq = irq_find_mapping(chip->irq.domain, offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	val = readl(chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	writel(val, chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	return !!(readl(chip->base + offset) & BIT(shift));
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	for (i = 0; i < chip->num_banks; i++) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		unsigned long val = readl(chip->base + (i * GPIO_BANK_SIZE) +
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:			writel(BIT(bit), chip->base + (i * GPIO_BANK_SIZE) +
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	writel(val, chip->base + offset);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		dev_err(chip->dev, "invalid GPIO IRQ type 0x%x\n",
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->pinmux_is_supported)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->pinmux_is_supported)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set input\n", gpio);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	return !(readl(chip->base + offset) & BIT(shift));
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	return !!(readl(chip->base + offset) & BIT(shift));
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->nr_pinconf_disable)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	for (i = 0; i < chip->nr_pinconf_disable; i++)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		if (chip->pinconf_disable[i] == param)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->pinconf_disable = devm_kcalloc(chip->dev, nbits,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:					     sizeof(*chip->pinconf_disable),
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (!chip->pinconf_disable)
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->nr_pinconf_disable = nbits;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		chip->pinconf_disable[nbits++] = iproc_pinconf_disable_map[bit];
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set pullup:%d\n", gpio, pull_up);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->base;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	dev_dbg(chip->dev, "gpio:%u set drive strength:%d mA\n", gpio,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (chip->io_ctrl) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		base = chip->base;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:			dev_err(chip->dev, "invalid configuration\n");
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	struct pinctrl_desc *pctldesc = &chip->pctldesc;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	struct gpio_chip *gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	pins = devm_kcalloc(chip->dev, gc->ngpio, sizeof(*pins), GFP_KERNEL);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		pins[i].name = devm_kasprintf(chip->dev, GFP_KERNEL,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	pctldesc->name = dev_name(chip->dev);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (IS_ERR(chip->pctl)) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		dev_err(chip->dev, "unable to register pinctrl device\n");
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		return PTR_ERR(chip->pctl);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->dev = dev;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	if (IS_ERR(chip->base)) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		return PTR_ERR(chip->base);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		chip->io_ctrl = devm_ioremap_resource(dev, res);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		if (IS_ERR(chip->io_ctrl)) {
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:			return PTR_ERR(chip->io_ctrl);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->io_ctrl_type = io_ctrl_type;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	raw_spin_lock_init(&chip->lock);
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->num_banks = (ngpios + NGPIOS_PER_BANK - 1) / NGPIOS_PER_BANK;
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:	chip->pinmux_is_supported = of_property_read_bool(dev->of_node,
+drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:		irqc = &chip->irqchip;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		base_address = chip->io_ctrl;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		base_address = chip->base;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return !!(readl(chip->io_ctrl + reg) & BIT(gpio));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return !!(readl(chip->base + reg) & BIT(gpio));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	int_status = readl(chip->base + NSP_CHIP_A_INT_STATUS);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		event = readl(chip->base + NSP_GPIO_EVENT_INT_MASK) &
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			      readl(chip->base + NSP_GPIO_EVENT);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		level = readl(chip->base + NSP_GPIO_DATA_IN) ^
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			      readl(chip->base + NSP_GPIO_INT_POLARITY);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		level &= readl(chip->base + NSP_GPIO_INT_MASK);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			writel(BIT(bit), chip->base + NSP_GPIO_EVENT);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		dev_err(chip->dev, "invalid GPIO IRQ type 0x%x\n",
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u level_low:%s falling:%s\n", gpio,
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set input\n", gpio);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	return !!(readl(chip->base + NSP_GPIO_DATA_IN) & BIT(gpio));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set pullup:%d pulldown: %d\n",
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	dev_dbg(chip->dev, "gpio:%u set drive strength:%d mA\n", gpio,
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		val = readl(chip->io_ctrl + offset);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		writel(val, chip->io_ctrl + offset);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_irqsave(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		val = readl(chip->io_ctrl + offset) & BIT(shift);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_unlock_irqrestore(&chip->lock, flags);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:			dev_err(chip->dev, "invalid configuration\n");
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	struct pinctrl_desc *pctldesc = &chip->pctldesc;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	struct gpio_chip *gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	pins = devm_kcalloc(chip->dev, gc->ngpio, sizeof(*pins), GFP_KERNEL);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		pins[i].name = devm_kasprintf(chip->dev, GFP_KERNEL,
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	pctldesc->name = dev_name(chip->dev);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	if (IS_ERR(chip->pctl)) {
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		dev_err(chip->dev, "unable to register pinctrl device\n");
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return PTR_ERR(chip->pctl);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->dev = dev;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	if (IS_ERR(chip->base)) {
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return PTR_ERR(chip->base);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	chip->io_ctrl = devm_platform_ioremap_resource(pdev, 1);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	if (IS_ERR(chip->io_ctrl)) {
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		return PTR_ERR(chip->io_ctrl);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	raw_spin_lock_init(&chip->lock);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:	gc = &chip->gc;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		irqc = &chip->irqchip;
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		val = readl(chip->base + NSP_CHIP_A_INT_MASK);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		writel(val, (chip->base + NSP_CHIP_A_INT_MASK));
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:				       IRQF_SHARED, "gpio-a", &chip->gc);
+drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:		girq = &chip->gc.irq;
+drivers/pinctrl/cirrus/pinctrl-lochnagar.c:		dev_err(chip->parent, "Failed to set %s value: %d\n",
+drivers/pinctrl/cirrus/pinctrl-lochnagar.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	return priv->chip->n_pin_groups + priv->chip->n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	if (selector < priv->chip->n_pin_groups)
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		return priv->chip->pin_groups[selector].name;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	selector -= priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	if (selector < priv->chip->n_pin_groups) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		*pins = priv->chip->pin_groups[selector].pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		*num_pins = priv->chip->pin_groups[selector].n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		selector -= priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	for (i = 0; i < chip->n_pin_groups; ++i) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		for (g_pin = 0; g_pin < chip->pin_groups[i].n_pins; ++g_pin) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:			if (chip->pin_groups[i].pins[g_pin] == pin) {
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:					   chip->pin_groups[i].name);
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		*num_groups = priv->chip->n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	const struct madera_pin_groups *pin_group = priv->chip->pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	unsigned int n_chip_groups = priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		 * be offset by the number of chip-specific functions at the
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	unsigned int n_groups = priv->chip->n_pin_groups;
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:		pin_group = &priv->chip->pin_groups[selector];
+drivers/pinctrl/cirrus/pinctrl-madera-core.c:	madera_pin_desc.npins = priv->chip->n_pins;
+drivers/pinctrl/cirrus/pinctrl-madera.h:	const struct madera_pin_chip *chip; /* chip-specific groups */
+drivers/pinctrl/core.c:			if (range->base + range->npins - 1 < chip->base ||
+drivers/pinctrl/core.c:			    range->base > chip->base + chip->ngpio - 1)
+drivers/pinctrl/intel/pinctrl-baytrail.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-baytrail.c:	int ret = pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-baytrail.c:	chip->irq_eoi(data);
+drivers/pinctrl/intel/pinctrl-baytrail.c:			clear_bit(i, chip->irq.valid_mask);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->ngpio = community->pins[community->npins - 1].number + 1;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->label = dev_name(pctrl->dev);
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->add_pin_ranges = chv_gpio_add_pin_ranges;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->parent = pctrl->dev;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->base = -1;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.chip = &pctrl->irqchip;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.init_hw = chv_gpio_irq_init_hw;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.parent_handler = chv_gpio_irq_handler;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.num_parents = 1;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.parents = &pctrl->irq;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.default_type = IRQ_TYPE_NONE;
+drivers/pinctrl/intel/pinctrl-cherryview.c:	chip->irq.handler = handle_bad_irq;
+drivers/pinctrl/intel/pinctrl-cherryview.c:		chip->irq.init_valid_mask = chv_init_irq_valid_mask;
+drivers/pinctrl/intel/pinctrl-cherryview.c:			irq_domain_associate_many(chip->irq.domain, irq_base,
+drivers/pinctrl/intel/pinctrl-intel.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/intel/pinctrl-intel.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/mediatek/pinctrl-moore.c:	return pinctrl_gpio_direction_input(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-moore.c:	return pinctrl_gpio_direction_output(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->label		= PINCTRL_PINCTRL_DEV;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->parent		= hw->dev;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->request		= gpiochip_generic_request;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->free		= gpiochip_generic_free;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->direction_input	= mtk_gpio_direction_input;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->direction_output	= mtk_gpio_direction_output;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->get		= mtk_gpio_get;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->set		= mtk_gpio_set;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->to_irq		= mtk_gpio_to_irq,
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->set_config	= mtk_gpio_set_config,
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->base		= -1;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->ngpio		= hw->soc->npins;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->of_node		= np;
+drivers/pinctrl/mediatek/pinctrl-moore.c:	chip->of_gpio_n_cells	= 2;
+drivers/pinctrl/mediatek/pinctrl-moore.c:					     chip->ngpio);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->ngpio = pctl->devdata->npins;
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->label = dev_name(&pdev->dev);
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->parent = &pdev->dev;
+drivers/pinctrl/mediatek/pinctrl-mtk-common.c:	pctl->chip->base = -1;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	return pinctrl_gpio_direction_input(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-paris.c:	return pinctrl_gpio_direction_output(chip->base + gpio);
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->label		= PINCTRL_PINCTRL_DEV;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->parent		= hw->dev;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->request		= gpiochip_generic_request;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->free		= gpiochip_generic_free;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->get_direction	= mtk_gpio_get_direction;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->direction_input	= mtk_gpio_direction_input;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->direction_output	= mtk_gpio_direction_output;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->get		= mtk_gpio_get;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->set		= mtk_gpio_set;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->to_irq		= mtk_gpio_to_irq,
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->set_config	= mtk_gpio_set_config,
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->base		= -1;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->ngpio		= hw->soc->npins;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->of_node		= np;
+drivers/pinctrl/mediatek/pinctrl-paris.c:	chip->of_gpio_n_cells	= 2;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_ack = armada_37xx_irq_ack;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_mask = armada_37xx_irq_mask;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_unmask = armada_37xx_irq_unmask;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_set_wake = armada_37xx_irq_set_wake;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_set_type = armada_37xx_irq_set_type;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->irq_startup = armada_37xx_irq_startup;
+drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:	irqchip->name = info->data->name;
+drivers/pinctrl/nomadik/pinctrl-abx500.c:		seq_printf(s, " %-9s", chip->get(chip, offset) ? "hi" : "lo");
+drivers/pinctrl/nomadik/pinctrl-abx500.c:	unsigned gpio = chip->base;
+drivers/pinctrl/nomadik/pinctrl-abx500.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/nomadik/pinctrl-abx500.c:				 chip->base + offset - 1);
+drivers/pinctrl/nomadik/pinctrl-abx500.c:		dev_dbg(chip->parent, "pin %d [%#lx]: %s %s\n",
+drivers/pinctrl/nomadik/pinctrl-abx500.c:			dev_err(chip->parent,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	afunc = readl(nmk_chip->addr + NMK_GPIO_AFSLA) & ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	bfunc = readl(nmk_chip->addr + NMK_GPIO_AFSLB) & ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(afunc, nmk_chip->addr + NMK_GPIO_AFSLA);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(bfunc, nmk_chip->addr + NMK_GPIO_AFSLB);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	slpm = readl(nmk_chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(slpm, nmk_chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	pdis = readl(nmk_chip->addr + NMK_GPIO_PDIS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->pull_up &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(pdis, nmk_chip->addr + NMK_GPIO_PDIS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->pull_up |= BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->pull_up &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	bool enabled = nmk_chip->lowemi & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->lowemi |= BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->lowemi &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel_relaxed(nmk_chip->lowemi,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		       nmk_chip->addr + NMK_GPIO_LOWEMI);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DIRC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DATC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DIRS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 rwimsc = nmk_chip->rwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 fwimsc = nmk_chip->fwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (glitch && nmk_chip->set_ioforce) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(rwimsc & ~bit, nmk_chip->addr + NMK_GPIO_RWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(fwimsc & ~bit, nmk_chip->addr + NMK_GPIO_FWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->set_ioforce(true);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (glitch && nmk_chip->set_ioforce) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->set_ioforce(false);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(rwimsc, nmk_chip->addr + NMK_GPIO_RWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(fwimsc, nmk_chip->addr + NMK_GPIO_FWIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 falling = nmk_chip->fimsc & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	u32 rising = nmk_chip->rimsc & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	int gpio = nmk_chip->chip.base + offset;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	int irq = irq_find_mapping(nmk_chip->chip.irq.domain, offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->rimsc &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel_relaxed(nmk_chip->rimsc,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			       nmk_chip->addr + NMK_GPIO_RIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->fimsc &= ~BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel_relaxed(nmk_chip->fimsc,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			       nmk_chip->addr + NMK_GPIO_FIMSC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	dev_dbg(nmk_chip->chip.parent, "%d: clearing interrupt mask\n", gpio);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_enable(chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		slpm[i] = readl(chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(temp, chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(slpm[i], chip->addr + NMK_GPIO_SLPC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_disable(chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(d->hwirq), nmk_chip->addr + NMK_GPIO_IC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		rimscval = &nmk_chip->rimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		fimscval = &nmk_chip->fimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		rimscval = &nmk_chip->rwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		fimscval = &nmk_chip->fwimsc;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (nmk_chip->edge_rising & BIT(offset)) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(*rimscval, nmk_chip->addr + rimscreg);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (nmk_chip->edge_falling & BIT(offset)) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		writel(*fimscval, nmk_chip->addr + fimscreg);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (nmk_chip->sleepmode && on) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	if (!(nmk_chip->real_wake & BIT(d->hwirq)))
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_unlock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->real_wake |= BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->real_wake &= ~BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_unlock(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock_irqsave(&nmk_chip->lock, flags);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->edge_rising &= ~BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->edge_rising |= BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->edge_falling &= ~BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		nmk_chip->edge_falling |= BIT(d->hwirq);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_unlock_irqrestore(&nmk_chip->lock, flags);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	status = readl(nmk_chip->addr + NMK_GPIO_IS);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		generic_handle_irq(irq_find_mapping(chip->irq.domain, bit));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	dir = !(readl(nmk_chip->addr + NMK_GPIO_DIR) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	writel(BIT(offset), nmk_chip->addr + NMK_GPIO_DIRC);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	value = !!(readl(nmk_chip->addr + NMK_GPIO_DAT) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	afunc = readl(nmk_chip->addr + NMK_GPIO_AFSLA) & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	bfunc = readl(nmk_chip->addr + NMK_GPIO_AFSLB) & BIT(offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	is_out = !!(readl(nmk_chip->addr + NMK_GPIO_DIR) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	pull = !(readl(nmk_chip->addr + NMK_GPIO_PDIS) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	data_out = !!(readl(nmk_chip->addr + NMK_GPIO_DAT) & BIT(offset));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		int irq = chip->to_irq(chip, offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			if (nmk_chip->edge_rising & BIT(offset))
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			else if (nmk_chip->edge_falling & BIT(offset))
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	unsigned		gpio = chip->base;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->bank = id;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip = &nmk_chip->chip;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->base = id * NMK_GPIO_PER_CHIP;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->ngpio = NMK_GPIO_PER_CHIP;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->label = dev_name(&gpio_pdev->dev);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->parent = &gpio_pdev->dev;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->addr = base;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->clk = clk;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	BUG_ON(nmk_chip->bank >= ARRAY_SIZE(nmk_gpio_chips));
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	dev->id = nmk_chip->bank;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	 * The virt address in nmk_chip->addr is in the nomadik register space,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->sleepmode = supports_sleepmode;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	spin_lock_init(&nmk_chip->lock);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip = &nmk_chip->chip;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->request = gpiochip_generic_request;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->free = gpiochip_generic_free;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->get_direction = nmk_gpio_get_dir;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->direction_input = nmk_gpio_make_input;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->get = nmk_gpio_get_input;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->direction_output = nmk_gpio_make_output;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->set = nmk_gpio_set_output;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->dbg_show = nmk_gpio_dbg_show;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->can_sleep = false;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip = &nmk_chip->irqchip;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_ack = nmk_gpio_irq_ack;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_mask = nmk_gpio_irq_mask;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_unmask = nmk_gpio_irq_unmask;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_set_type = nmk_gpio_irq_set_type;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_set_wake = nmk_gpio_irq_set_wake;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_startup = nmk_gpio_irq_startup;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->irq_shutdown = nmk_gpio_irq_shutdown;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->flags = IRQCHIP_MASK_ON_SUSPEND;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	irqchip->name = kasprintf(GFP_KERNEL, "nmk%u-%u-%u",
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:				  chip->base,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:				  chip->base + chip->ngpio - 1);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	girq = &chip->irq;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_chip->lowemi = readl_relaxed(nmk_chip->addr + NMK_GPIO_LOWEMI);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	chip->of_node = np;
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	nmk_gpio_dbg_show_one(s, pctldev, chip, offset - chip->base, offset);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:	clk_disable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:			dev_dbg(nmk_chip->chip.parent,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		dev_dbg(nmk_chip->chip.parent,
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_enable(nmk_chip->clk);
+drivers/pinctrl/nomadik/pinctrl-nomadik.c:		clk_disable(nmk_chip->clk);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	ret = pinctrl_gpio_direction_input(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent, "gpio_direction_output: offset%d = %x\n", offset,
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	ret = pinctrl_gpio_direction_output(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent, "gpio_request: offset%d\n", offset);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	ret = pinctrl_gpio_request(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent, "gpio_free: offset%d\n", offset);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	pinctrl_gpio_free(offset + chip->base);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(chip->parent_device, "==> got irq sts %.8x %.8x\n", sts,
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "setirqtype: %u.%u = %u\n", gpio,
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "edge.rising\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "edge.falling\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "edge.both\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "level.low\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "level.high\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:		dev_dbg(d->chip->parent_device, "invalid irq type\n");
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "irq_ack: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "irq_mask: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "irq_unmask: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c:	dev_dbg(d->chip->parent_device, "startup: %u.%u\n", gpio, d->irq);
+drivers/pinctrl/pinctrl-as3722.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-as3722.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->of_node = dev->of_node;
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->ngpio = atmel_pioctrl->npins;
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->label = dev_name(dev);
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->parent = dev;
+drivers/pinctrl/pinctrl-at91-pio4.c:	atmel_pioctrl->gpio_chip->names = atmel_pioctrl->group_names;
+drivers/pinctrl/pinctrl-at91-pio4.c:			atmel_pioctrl->gpio_chip->ngpio,
+drivers/pinctrl/pinctrl-at91-pio4.c:				     0, 0, atmel_pioctrl->gpio_chip->ngpio);
+drivers/pinctrl/pinctrl-at91.c:	mask = 1 << (offset - chip->base);
+drivers/pinctrl/pinctrl-at91.c:		offset, 'A' + range->id, offset - chip->base, mask);
+drivers/pinctrl/pinctrl-at91.c:	writel_relaxed(mask, at91_chip->regbase + PIO_PER);
+drivers/pinctrl/pinctrl-at91.c:	uint32_t set_mask = (*mask & *bits) & BITS_MASK(chip->ngpio);
+drivers/pinctrl/pinctrl-at91.c:	uint32_t clear_mask = (*mask & ~(*bits)) & BITS_MASK(chip->ngpio);
+drivers/pinctrl/pinctrl-at91.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/pinctrl/pinctrl-at91.c:			   gpio_label, chip->label, i);
+drivers/pinctrl/pinctrl-at91.c:					   gpio_chip->irq.domain, n));
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->name = "GPIO";
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_ack = gpio_irq_ack;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_disable = gpio_irq_mask;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_mask = gpio_irq_mask;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_unmask = gpio_irq_unmask;
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_set_wake = gpio_irq_set_wake,
+drivers/pinctrl/pinctrl-at91.c:	gpio_irqchip->irq_set_type = at91_gpio->ops->irq_type;
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->regbase = devm_platform_ioremap_resource(pdev, 0);
+drivers/pinctrl/pinctrl-at91.c:	if (IS_ERR(at91_chip->regbase)) {
+drivers/pinctrl/pinctrl-at91.c:		ret = PTR_ERR(at91_chip->regbase);
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->ops = (struct at91_pinctrl_mux_ops *)
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->pioc_virq = irq;
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->pioc_idx = alias_idx;
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->clock = devm_clk_get(&pdev->dev, NULL);
+drivers/pinctrl/pinctrl-at91.c:	if (IS_ERR(at91_chip->clock)) {
+drivers/pinctrl/pinctrl-at91.c:		ret = PTR_ERR(at91_chip->clock);
+drivers/pinctrl/pinctrl-at91.c:	ret = clk_prepare_enable(at91_chip->clock);
+drivers/pinctrl/pinctrl-at91.c:	at91_chip->chip = at91_gpio_template;
+drivers/pinctrl/pinctrl-at91.c:	chip = &at91_chip->chip;
+drivers/pinctrl/pinctrl-at91.c:	chip->of_node = np;
+drivers/pinctrl/pinctrl-at91.c:	chip->label = dev_name(&pdev->dev);
+drivers/pinctrl/pinctrl-at91.c:	chip->parent = &pdev->dev;
+drivers/pinctrl/pinctrl-at91.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/pinctrl-at91.c:	chip->base = alias_idx * MAX_NB_GPIO_PER_BANK;
+drivers/pinctrl/pinctrl-at91.c:			chip->ngpio = ngpio;
+drivers/pinctrl/pinctrl-at91.c:	names = devm_kcalloc(&pdev->dev, chip->ngpio, sizeof(char *),
+drivers/pinctrl/pinctrl-at91.c:	for (i = 0; i < chip->ngpio; i++)
+drivers/pinctrl/pinctrl-at91.c:	chip->names = (const char *const *)names;
+drivers/pinctrl/pinctrl-at91.c:	range = &at91_chip->range;
+drivers/pinctrl/pinctrl-at91.c:	range->name = chip->label;
+drivers/pinctrl/pinctrl-at91.c:	range->npins = chip->ngpio;
+drivers/pinctrl/pinctrl-at91.c:	dev_info(&pdev->dev, "at address %p\n", at91_chip->regbase);
+drivers/pinctrl/pinctrl-at91.c:	clk_disable_unprepare(at91_chip->clock);
+drivers/pinctrl/pinctrl-axp209.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-axp209.c:	chip->set(chip, offset, value);
+drivers/pinctrl/pinctrl-coh901.c:	struct u300_gpio_port *port = &gpio->ports[irq - chip->base];
+drivers/pinctrl/pinctrl-coh901.c:			int pin_irq = irq_find_mapping(chip->irq.domain, offset);
+drivers/pinctrl/pinctrl-digicolor.c:	chip->label		= DRIVER_NAME;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->parent		= pmap->dev;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->request		= gpiochip_generic_request;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->free		= gpiochip_generic_free;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->direction_input	= dc_gpio_direction_input;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->direction_output	= dc_gpio_direction_output;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->get		= dc_gpio_get;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->set		= dc_gpio_set;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->base		= -1;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->ngpio		= PINS_COUNT;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->of_node		= np;
+drivers/pinctrl/pinctrl-digicolor.c:	chip->of_gpio_n_cells	= 2;
+drivers/pinctrl/pinctrl-mcp23s08.c:	err = devm_request_threaded_irq(chip->parent, mcp->irq, NULL,
+drivers/pinctrl/pinctrl-mcp23s08.c:					irqflags, dev_name(chip->parent), mcp);
+drivers/pinctrl/pinctrl-mcp23s08.c:		dev_err(chip->parent, "unable to request IRQ#%d: %d\n",
+drivers/pinctrl/pinctrl-mcp23s08.c:		dev_err(chip->parent,
+drivers/pinctrl/pinctrl-ocelot.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-ocelot.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-ocelot.c:			generic_handle_irq(irq_linear_revmap(chip->irq.domain,
+drivers/pinctrl/pinctrl-rk805.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-rk805.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-rockchip.c:	pin = offset - chip->base;
+drivers/pinctrl/pinctrl-rockchip.c:	return _rockchip_pmx_gpio_set_direction(chip, offset - chip->base,
+drivers/pinctrl/pinctrl-rockchip.c:	ctrldesc->name = "rockchip-pinctrl";
+drivers/pinctrl/pinctrl-rockchip.c:		.name	= "rockchip-pinctrl",
+drivers/pinctrl/pinctrl-rza1.c:	chip->base	= -1;
+drivers/pinctrl/pinctrl-rza1.c:	chip->label	= devm_kasprintf(rza1_pctl->dev, GFP_KERNEL, "%pOFn",
+drivers/pinctrl/pinctrl-rza1.c:	if (!chip->label)
+drivers/pinctrl/pinctrl-rza1.c:	chip->ngpio	= of_args.args[2];
+drivers/pinctrl/pinctrl-rza1.c:	chip->of_node	= np;
+drivers/pinctrl/pinctrl-rza1.c:	chip->parent	= rza1_pctl->dev;
+drivers/pinctrl/pinctrl-rza1.c:	range->name	= chip->label;
+drivers/pinctrl/pinctrl-rza1.c:		 chip->label, chip->ngpio);
+drivers/pinctrl/pinctrl-st.c:	pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/pinctrl-st.c:	pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/pinctrl-xway.c:	struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
+drivers/pinctrl/qcom/pinctrl-msm.c:	unsigned gpio = chip->base;
+drivers/pinctrl/qcom/pinctrl-msm.c:	for (i = 0; i < chip->ngpio; i++, gpio++)
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->base = -1;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->ngpio = ngpio;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->label = dev_name(pctrl->dev);
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->parent = pctrl->dev;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->owner = THIS_MODULE;
+drivers/pinctrl/qcom/pinctrl-msm.c:	chip->of_node = pctrl->dev->of_node;
+drivers/pinctrl/qcom/pinctrl-msm.c:		chip->init_valid_mask = msm_gpio_init_valid_mask;
+drivers/pinctrl/qcom/pinctrl-msm.c:		chip->irq.parent_domain = irq_find_matching_host(np,
+drivers/pinctrl/qcom/pinctrl-msm.c:		if (!chip->irq.parent_domain)
+drivers/pinctrl/qcom/pinctrl-msm.c:		chip->irq.child_to_parent_hwirq = msm_gpio_wakeirq;
+drivers/pinctrl/qcom/pinctrl-msm.c:		skip = irq_domain_qcom_handle_wakeup(chip->irq.parent_domain);
+drivers/pinctrl/qcom/pinctrl-msm.c:	girq = &chip->irq;
+drivers/pinctrl/qcom/pinctrl-msm.c:			dev_name(pctrl->dev), 0, 0, chip->ngpio);
+drivers/pinctrl/qcom/pinctrl-spmi-gpio.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-spmi-gpio.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/pinctrl/qcom/pinctrl-spmi-mpp.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-spmi-mpp.c:	for (i = 0; i < chip->ngpio; i++) {
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	irq = chip->to_irq(chip, offset);
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	unsigned gpio = chip->base;
+drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c:	if (chip->of_gpio_n_cells < 2)
+drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c:	unsigned gpio = chip->base;
+drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c:	for (i = 0; i < chip->ngpio; i++, gpio++) {
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_mask = our_chip->eint_mask + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_pend = our_chip->eint_pend + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_mask = our_chip->eint_mask + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	unsigned long reg_con = our_chip->eint_con + bank->eint_offset;
+drivers/pinctrl/samsung/pinctrl-exynos.c:	irq_set_chip_and_handler(virq, &b->irq_chip->chip,
+drivers/pinctrl/samsung/pinctrl-exynos.c:		our_chip->eint_wake_mask_value |= bit;
+drivers/pinctrl/samsung/pinctrl-exynos.c:		our_chip->eint_wake_mask_value &= ~bit;
+drivers/pinctrl/samsung/pinctrl-exynos.c:		pend = readl(b->eint_base + b->irq_chip->eint_pend
+drivers/pinctrl/samsung/pinctrl-exynos.c:		mask = readl(b->eint_base + b->irq_chip->eint_mask
+drivers/pinctrl/samsung/pinctrl-exynos.c:		 irq_chip->eint_wake_mask_value);
+drivers/pinctrl/samsung/pinctrl-exynos.c:	regmap_write(pmu_regs, irq_chip->eint_wake_mask_reg,
+drivers/pinctrl/samsung/pinctrl-exynos.c:		     irq_chip->eint_wake_mask_value);
+drivers/pinctrl/samsung/pinctrl-s3c24xx.c:	parent_chip->irq_ack(irq_get_irq_data(parent_irq));
+drivers/pinctrl/samsung/pinctrl-s3c24xx.c:	parent_chip->irq_mask(irq_get_irq_data(parent_irq));
+drivers/pinctrl/samsung/pinctrl-s3c24xx.c:	parent_chip->irq_unmask(irq_get_irq_data(parent_irq));
+drivers/pinctrl/sh-pfc/gpio.c:	return chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	int idx = sh_pfc_get_pin_index(chip->pfc, offset);
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx];
+drivers/pinctrl/sh-pfc/gpio.c:	*reg = &chip->regs[gpio_pin->dreg];
+drivers/pinctrl/sh-pfc/gpio.c:	void __iomem *mem = address - chip->mem->phys + chip->mem->virt;
+drivers/pinctrl/sh-pfc/gpio.c:	void __iomem *mem = address - chip->mem->phys + chip->mem->virt;
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx];
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->regs = devm_kcalloc(pfc->dev, i, sizeof(*chip->regs),
+drivers/pinctrl/sh-pfc/gpio.c:	if (chip->regs == NULL)
+drivers/pinctrl/sh-pfc/gpio.c:		chip->regs[i].info = dreg;
+drivers/pinctrl/sh-pfc/gpio.c:		chip->regs[i].shadow = gpio_read_data_reg(chip, dreg);
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->pins = devm_kcalloc(pfc->dev,
+drivers/pinctrl/sh-pfc/gpio.c:				  pfc->info->nr_pins, sizeof(*chip->pins),
+drivers/pinctrl/sh-pfc/gpio.c:	if (chip->pins == NULL)
+drivers/pinctrl/sh-pfc/gpio.c:	struct sh_pfc *pfc = chip->pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	struct gpio_chip *gc = &chip->gpio_chip;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->mem = mem;
+drivers/pinctrl/sh-pfc/gpio.c:	chip->pfc = pfc;
+drivers/pinctrl/sh-pfc/gpio.c:	ret = devm_gpiochip_add_data(pfc->dev, &chip->gpio_chip, chip);
+drivers/pinctrl/sh-pfc/gpio.c:		 chip->gpio_chip.label, chip->gpio_chip.base,
+drivers/pinctrl/sh-pfc/gpio.c:		 chip->gpio_chip.base + chip->gpio_chip.ngpio - 1);
+drivers/pinctrl/sh-pfc/gpio.c:		ret = gpiochip_add_pin_range(&chip->gpio_chip,
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	if (pinctrl_gpio_request(chip->base + gpio))
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	pinctrl_gpio_free(chip->base + gpio);
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->request = atlas7_gpio_request;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->free = atlas7_gpio_free;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->direction_input = atlas7_gpio_direction_input;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->get = atlas7_gpio_get_value;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->direction_output = atlas7_gpio_direction_output;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->set = atlas7_gpio_set_value;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->base = -1;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->ngpio = NGPIO_OF_BANK * nbank;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->label = kstrdup(np->name, GFP_KERNEL);
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->of_node = np;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->of_gpio_n_cells = 2;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	chip->parent = &pdev->dev;
+drivers/pinctrl/sirf/pinctrl-atlas7.c:	girq = &chip->irq;
+drivers/pinctrl/sirf/pinctrl-sirf.c:	if (pinctrl_gpio_request(chip->base + offset))
+drivers/pinctrl/sirf/pinctrl-sirf.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/spear/pinctrl-plgpio.c:	int gpio = chip->base + offset;
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/spear/pinctrl-plgpio.c:	int gpio = chip->base + offset;
+drivers/pinctrl/spear/pinctrl-plgpio.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/stm32/pinctrl-stm32.c:	return pinctrl_gpio_request(chip->base + offset);
+drivers/pinctrl/stm32/pinctrl-stm32.c:	pinctrl_gpio_free(chip->base + offset);
+drivers/pinctrl/stm32/pinctrl-stm32.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/stm32/pinctrl-stm32.c:	pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	u32 pin = offset + chip->base;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	if (offset >= chip->ngpio)
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	dev_dbg(chip->parent, "%s: request IRQ for GPIO %d, return %d\n",
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:		chip->label, offset + chip->base, irqnum);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->owner = THIS_MODULE;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->request = gpiochip_generic_request;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->free = gpiochip_generic_free;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->set_config = gpiochip_generic_config;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->direction_input = sunxi_pinctrl_gpio_direction_input;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->direction_output = sunxi_pinctrl_gpio_direction_output;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->get = sunxi_pinctrl_gpio_get;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->set = sunxi_pinctrl_gpio_set;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->of_xlate = sunxi_pinctrl_gpio_of_xlate;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->to_irq = sunxi_pinctrl_gpio_to_irq;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->of_gpio_n_cells = 3;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->can_sleep = false;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->ngpio = round_up(last_pin, PINS_PER_BANK) -
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->label = dev_name(&pdev->dev);
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->parent = &pdev->dev;
+drivers/pinctrl/sunxi/pinctrl-sunxi.c:	pctl->chip->base = pctl->desc->pin_base;
+drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c:	UNIPHIER_PINMUX_FUNCTION(adinter), /* Achip-Dchip interconnect */
+drivers/pinctrl/vt8500/pinctrl-wmt.c:	return pinctrl_gpio_direction_input(chip->base + offset);
+drivers/pinctrl/vt8500/pinctrl-wmt.c:	return pinctrl_gpio_direction_output(chip->base + offset);
+drivers/platform/chrome/cros_ec_sysfs.c:		r_chip->vendor[sizeof(r_chip->vendor) - 1] = '\0';
+drivers/platform/chrome/cros_ec_sysfs.c:		r_chip->name[sizeof(r_chip->name) - 1] = '\0';
+drivers/platform/chrome/cros_ec_sysfs.c:		r_chip->revision[sizeof(r_chip->revision) - 1] = '\0';
+drivers/platform/chrome/cros_ec_sysfs.c:				   "Chip vendor:   %s\n", r_chip->vendor);
+drivers/platform/chrome/cros_ec_sysfs.c:				   "Chip name:     %s\n", r_chip->name);
+drivers/platform/chrome/cros_ec_sysfs.c:				   "Chip revision: %s\n", r_chip->revision);
+drivers/platform/x86/intel_int0002_vgpio.c:	struct platform_device *pdev = to_platform_device(chip->parent);
+drivers/platform/x86/intel_int0002_vgpio.c:	generic_handle_irq(irq_find_mapping(chip->irq.domain,
+drivers/platform/x86/intel_int0002_vgpio.c:	pm_wakeup_hard_event(chip->parent);
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->label = DRV_NAME;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->parent = dev;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->owner = THIS_MODULE;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->get = int0002_gpio_get;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->set = int0002_gpio_set;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->direction_input = int0002_gpio_get;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->direction_output = int0002_gpio_direction_output;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->base = -1;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->ngpio = GPE0A_PME_B0_VIRT_GPIO_PIN + 1;
+drivers/platform/x86/intel_int0002_vgpio.c:	chip->irq.init_valid_mask = int0002_init_irq_valid_mask;
+drivers/platform/x86/intel_int0002_vgpio.c:	girq = &chip->irq;
+drivers/power/avs/Makefile:obj-$(CONFIG_ROCKCHIP_IODOMAIN)		+= rockchip-io-domain.o
+drivers/power/avs/rockchip-io-domain.c:		.name  = "rockchip-iodomain",
+drivers/power/reset/mt6323-poweroff.c:	pwrc->regmap = mt6397_chip->regmap;
+drivers/power/reset/ocelot-reset.c:	{ .compatible = "mscc,ocelot-chip-reset" },
+drivers/power/reset/ocelot-reset.c:		.name = "ocelot-chip-reset",
+drivers/power/supply/88pm860x_battery.c:	    (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/power/supply/88pm860x_battery.c:	ret = devm_request_threaded_irq(chip->dev, info->irq_cc, NULL,
+drivers/power/supply/88pm860x_battery.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/power/supply/88pm860x_battery.c:	ret = devm_request_threaded_irq(chip->dev, info->irq_batt, NULL,
+drivers/power/supply/88pm860x_battery.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/power/supply/88pm860x_battery.c:		chip->wakeup_flag |= 1 << PM8607_IRQ_CC;
+drivers/power/supply/88pm860x_battery.c:		chip->wakeup_flag &= ~(1 << PM8607_IRQ_CC);
+drivers/power/supply/88pm860x_charger.c:	    (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/power/supply/88pm860x_charger.c:	    (chip->id == CHIP_PM8607) ? chip->companion : chip->client;
+drivers/power/supply/88pm860x_charger.c:			dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/power/supply/max14656_charger_detector.c:	ret = max14656_read_block_reg(chip->client, MAX14656_DEVICE_ID,
+drivers/power/supply/max14656_charger_detector.c:			chip->psy_desc.type = chg_type_props[chg_type].type;
+drivers/power/supply/max14656_charger_detector.c:			chip->psy_desc.type = POWER_SUPPLY_TYPE_UNKNOWN;
+drivers/power/supply/max14656_charger_detector.c:		chip->online = 1;
+drivers/power/supply/max14656_charger_detector.c:		chip->online = 0;
+drivers/power/supply/max14656_charger_detector.c:		chip->psy_desc.type = POWER_SUPPLY_TYPE_UNKNOWN;
+drivers/power/supply/max14656_charger_detector.c:	power_supply_changed(chip->detect_psy);
+drivers/power/supply/max14656_charger_detector.c:	schedule_delayed_work(&chip->irq_work, msecs_to_jiffies(100));
+drivers/power/supply/max14656_charger_detector.c:	struct i2c_client *client = chip->client;
+drivers/power/supply/max14656_charger_detector.c:		val->intval = chip->online;
+drivers/power/supply/max14656_charger_detector.c:	cancel_delayed_work_sync(&chip->irq_work);
+drivers/power/supply/max14656_charger_detector.c:	chip->client = client;
+drivers/power/supply/max14656_charger_detector.c:	chip->online = 0;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.name = MAX14656_NAME;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.type = POWER_SUPPLY_TYPE_UNKNOWN;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.properties = max14656_battery_props;
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.num_properties = ARRAY_SIZE(max14656_battery_props);
+drivers/power/supply/max14656_charger_detector.c:	chip->psy_desc.get_property = max14656_get_property;
+drivers/power/supply/max14656_charger_detector.c:	chip->irq = irq;
+drivers/power/supply/max14656_charger_detector.c:	chip->detect_psy = devm_power_supply_register(dev,
+drivers/power/supply/max14656_charger_detector.c:		       &chip->psy_desc, &psy_cfg);
+drivers/power/supply/max14656_charger_detector.c:	if (IS_ERR(chip->detect_psy)) {
+drivers/power/supply/max14656_charger_detector.c:	INIT_DELAYED_WORK(&chip->irq_work, max14656_irq_worker);
+drivers/power/supply/max14656_charger_detector.c:	ret = devm_request_irq(dev, chip->irq, max14656_irq,
+drivers/power/supply/max14656_charger_detector.c:		dev_err(dev, "request_irq %d failed\n", chip->irq);
+drivers/power/supply/max14656_charger_detector.c:	enable_irq_wake(chip->irq);
+drivers/power/supply/max14656_charger_detector.c:	schedule_delayed_work(&chip->irq_work, msecs_to_jiffies(2000));
+drivers/power/supply/max17040_battery.c:		val->intval = chip->status;
+drivers/power/supply/max17040_battery.c:		val->intval = chip->online;
+drivers/power/supply/max17040_battery.c:		val->intval = chip->vcell;
+drivers/power/supply/max17040_battery.c:		val->intval = chip->soc;
+drivers/power/supply/max17040_battery.c:	chip->vcell = vcell;
+drivers/power/supply/max17040_battery.c:	chip->soc = (soc >> 8);
+drivers/power/supply/max17040_battery.c:	if (chip->pdata && chip->pdata->battery_online)
+drivers/power/supply/max17040_battery.c:		chip->online = chip->pdata->battery_online();
+drivers/power/supply/max17040_battery.c:		chip->online = 1;
+drivers/power/supply/max17040_battery.c:	if (!chip->pdata || !chip->pdata->charger_online
+drivers/power/supply/max17040_battery.c:			|| !chip->pdata->charger_enable) {
+drivers/power/supply/max17040_battery.c:		chip->status = POWER_SUPPLY_STATUS_UNKNOWN;
+drivers/power/supply/max17040_battery.c:	if (chip->pdata->charger_online()) {
+drivers/power/supply/max17040_battery.c:		if (chip->pdata->charger_enable())
+drivers/power/supply/max17040_battery.c:			chip->status = POWER_SUPPLY_STATUS_CHARGING;
+drivers/power/supply/max17040_battery.c:			chip->status = POWER_SUPPLY_STATUS_NOT_CHARGING;
+drivers/power/supply/max17040_battery.c:		chip->status = POWER_SUPPLY_STATUS_DISCHARGING;
+drivers/power/supply/max17040_battery.c:	if (chip->soc > MAX17040_BATTERY_FULL)
+drivers/power/supply/max17040_battery.c:		chip->status = POWER_SUPPLY_STATUS_FULL;
+drivers/power/supply/max17040_battery.c:	max17040_get_vcell(chip->client);
+drivers/power/supply/max17040_battery.c:	max17040_get_soc(chip->client);
+drivers/power/supply/max17040_battery.c:	max17040_get_online(chip->client);
+drivers/power/supply/max17040_battery.c:	max17040_get_status(chip->client);
+drivers/power/supply/max17040_battery.c:	queue_delayed_work(system_power_efficient_wq, &chip->work,
+drivers/power/supply/max17040_battery.c:	chip->client = client;
+drivers/power/supply/max17040_battery.c:	chip->pdata = client->dev.platform_data;
+drivers/power/supply/max17040_battery.c:	chip->battery = power_supply_register(&client->dev,
+drivers/power/supply/max17040_battery.c:	if (IS_ERR(chip->battery)) {
+drivers/power/supply/max17040_battery.c:		return PTR_ERR(chip->battery);
+drivers/power/supply/max17040_battery.c:	INIT_DEFERRABLE_WORK(&chip->work, max17040_work);
+drivers/power/supply/max17040_battery.c:	queue_delayed_work(system_power_efficient_wq, &chip->work,
+drivers/power/supply/max17040_battery.c:	power_supply_unregister(chip->battery);
+drivers/power/supply/max17040_battery.c:	cancel_delayed_work(&chip->work);
+drivers/power/supply/max17040_battery.c:	cancel_delayed_work(&chip->work);
+drivers/power/supply/max17040_battery.c:	queue_delayed_work(system_power_efficient_wq, &chip->work,
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	ret = power_supply_am_i_supplied(chip->battery);
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_FullCAP, &charge_full);
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_RepCap, &charge_now);
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_AvgCurrent, &data);
+drivers/power/supply/max17042_battery.c:	avg_current *= 1562500 / chip->pdata->r_sns;
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_AvgVCELL, &val);
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_VCELL, &val);
+drivers/power/supply/max17042_battery.c:	if (vavg < chip->pdata->vmin) {
+drivers/power/supply/max17042_battery.c:	if (vbatt > chip->pdata->vmax + MAX17042_VMAX_TOLERANCE) {
+drivers/power/supply/max17042_battery.c:	if (temp < chip->pdata->temp_min) {
+drivers/power/supply/max17042_battery.c:	if (temp > chip->pdata->temp_max) {
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	if (!chip->init_complete)
+drivers/power/supply/max17042_battery.c:		if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
+drivers/power/supply/max17042_battery.c:		do_div(data64, chip->pdata->r_sns);
+drivers/power/supply/max17042_battery.c:		do_div(data64, chip->pdata->r_sns);
+drivers/power/supply/max17042_battery.c:		do_div(data64, chip->pdata->r_sns);
+drivers/power/supply/max17042_battery.c:		val->intval = chip->pdata->temp_min;
+drivers/power/supply/max17042_battery.c:		val->intval = chip->pdata->temp_max;
+drivers/power/supply/max17042_battery.c:		if (chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:			val->intval *= 1562500 / chip->pdata->r_sns;
+drivers/power/supply/max17042_battery.c:		if (chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:			val->intval *= 1562500 / chip->pdata->r_sns;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:			chip->pdata->config_data->cell_char_tbl[i]);
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:		dev_err(&chip->client->dev, "%s compare failed\n", __func__);
+drivers/power/supply/max17042_battery.c:			dev_info(&chip->client->dev, "0x%x, 0x%x",
+drivers/power/supply/max17042_battery.c:		dev_info(&chip->client->dev, "\n");
+drivers/power/supply/max17042_battery.c:	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
+drivers/power/supply/max17042_battery.c:		chip->pdata->config_data->cell_char_tbl,
+drivers/power/supply/max17042_battery.c:	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17047 ||
+drivers/power/supply/max17042_battery.c:			chip->chip_type == MAXIM_DEVICE_TYPE_MAX17050)
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042) {
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	struct max17042_config_data *config = chip->pdata->config_data;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type) {
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:		dev_err(&chip->client->dev, "%s init failed\n",
+drivers/power/supply/max17042_battery.c:		dev_err(&chip->client->dev, "%s lock verify failed\n",
+drivers/power/supply/max17042_battery.c:	struct regmap *map = chip->regmap;
+drivers/power/supply/max17042_battery.c:	regmap_read(chip->regmap, MAX17042_STATUS, &val);
+drivers/power/supply/max17042_battery.c:		dev_info(&chip->client->dev, "SOC threshold INTR\n");
+drivers/power/supply/max17042_battery.c:	power_supply_changed(chip->battery);
+drivers/power/supply/max17042_battery.c:	if (chip->pdata->enable_por_init && chip->pdata->config_data) {
+drivers/power/supply/max17042_battery.c:	chip->init_complete = 1;
+drivers/power/supply/max17042_battery.c:	struct device *dev = &chip->client->dev;
+drivers/power/supply/max17042_battery.c:	struct device *dev = &chip->client->dev;
+drivers/power/supply/max17042_battery.c:	if (chip->chip_type != MAXIM_DEVICE_TYPE_MAX17042) {
+drivers/power/supply/max17042_battery.c:	ret = regmap_read(chip->regmap, MAX17042_MiscCFG, &misc_cfg);
+drivers/power/supply/max17042_battery.c:	struct device *dev = &chip->client->dev;
+drivers/power/supply/max17042_battery.c:	cancel_work_sync(&chip->work);
+drivers/power/supply/max17042_battery.c:	chip->client = client;
+drivers/power/supply/max17042_battery.c:		chip->chip_type = id->driver_data;
+drivers/power/supply/max17042_battery.c:		chip->chip_type = acpi_id->driver_data;
+drivers/power/supply/max17042_battery.c:	chip->regmap = devm_regmap_init_i2c(client, &max17042_regmap_config);
+drivers/power/supply/max17042_battery.c:	if (IS_ERR(chip->regmap)) {
+drivers/power/supply/max17042_battery.c:	chip->pdata = max17042_get_pdata(chip);
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata) {
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata->enable_current_sense)
+drivers/power/supply/max17042_battery.c:	if (chip->pdata->r_sns == 0)
+drivers/power/supply/max17042_battery.c:		chip->pdata->r_sns = MAX17042_DEFAULT_SNS_RESISTOR;
+drivers/power/supply/max17042_battery.c:	if (chip->pdata->init_data)
+drivers/power/supply/max17042_battery.c:		for (i = 0; i < chip->pdata->num_init_data; i++)
+drivers/power/supply/max17042_battery.c:			regmap_write(chip->regmap,
+drivers/power/supply/max17042_battery.c:					chip->pdata->init_data[i].addr,
+drivers/power/supply/max17042_battery.c:					chip->pdata->init_data[i].data);
+drivers/power/supply/max17042_battery.c:	if (!chip->pdata->enable_current_sense) {
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_CGAIN, 0x0000);
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_MiscCFG, 0x0003);
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_LearnCFG, 0x0007);
+drivers/power/supply/max17042_battery.c:	chip->battery = devm_power_supply_register(&client->dev, max17042_desc,
+drivers/power/supply/max17042_battery.c:	if (IS_ERR(chip->battery)) {
+drivers/power/supply/max17042_battery.c:		return PTR_ERR(chip->battery);
+drivers/power/supply/max17042_battery.c:						chip->battery->desc->name,
+drivers/power/supply/max17042_battery.c:			regmap_update_bits(chip->regmap, MAX17042_CONFIG,
+drivers/power/supply/max17042_battery.c:		regmap_write(chip->regmap, MAX17042_SALRT_Th, 0xff00);
+drivers/power/supply/max17042_battery.c:	regmap_read(chip->regmap, MAX17042_STATUS, &val);
+drivers/power/supply/max17042_battery.c:		INIT_WORK(&chip->work, max17042_init_worker);
+drivers/power/supply/max17042_battery.c:		schedule_work(&chip->work);
+drivers/power/supply/max17042_battery.c:		chip->init_complete = 1;
+drivers/power/supply/max17042_battery.c:	if (chip->client->irq) {
+drivers/power/supply/max17042_battery.c:		disable_irq(chip->client->irq);
+drivers/power/supply/max17042_battery.c:		enable_irq_wake(chip->client->irq);
+drivers/power/supply/max17042_battery.c:	if (chip->client->irq) {
+drivers/power/supply/max17042_battery.c:		disable_irq_wake(chip->client->irq);
+drivers/power/supply/max17042_battery.c:		enable_irq(chip->client->irq);
+drivers/power/supply/max8925_power.c:	dev_dbg(chip->dev, "%s\n", (enable) ? "Enable charger"
+drivers/power/supply/max8925_power.c:	switch (irq - chip->irq_base) {
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Adapter inserted\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Adapter removed\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Battery temperature is out of range\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Error detection\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Battery temperature is in range\n");
+drivers/power/supply/max8925_power.c:		dev_info(chip->dev, "Sys power is too low\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Sys power is above low threshold\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Charging is done\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Charging in top-off mode\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Safe timer is expired\n");
+drivers/power/supply/max8925_power.c:		dev_dbg(chip->dev, "Charger is reset\n");
+drivers/power/supply/max8925_power.c:	ret = request_threaded_irq(chip->irq_base + _irq, NULL,		\
+drivers/power/supply/max8925_power.c:		dev_err(chip->dev, "Failed to request IRQ #%d: %d\n",	\
+drivers/power/supply/max8925_power.c:	irq = chip->irq_base + MAX8925_IRQ_VCHG_DC_OVP;
+drivers/power/supply/max8925_power.c:	for (; irq <= chip->irq_base + MAX8925_IRQ_VCHG_TMR_FAULT; irq++)
+drivers/power/supply/max8925_power.c:	info->gpm = chip->i2c;
+drivers/power/supply/max8925_power.c:	info->adc = chip->adc;
+drivers/power/supply/sbs-battery.c:	int retries = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	retries_length = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	retries_block = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	int retries = chip->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:		if (chip->poll_time == 0)
+drivers/power/supply/sbs-battery.c:			chip->last_state = val->intval;
+drivers/power/supply/sbs-battery.c:		else if (chip->last_state != val->intval) {
+drivers/power/supply/sbs-battery.c:			cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:			power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-battery.c:			chip->poll_time = 0;
+drivers/power/supply/sbs-battery.c:	struct i2c_client *client = chip->client;
+drivers/power/supply/sbs-battery.c:	if (chip->gpio_detect) {
+drivers/power/supply/sbs-battery.c:		ret = gpiod_get_value_cansleep(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:			chip->is_present = val->intval;
+drivers/power/supply/sbs-battery.c:		if (chip->flags & SBS_FLAGS_TI_BQ20Z75)
+drivers/power/supply/sbs-battery.c:		mutex_lock(&chip->mode_lock);
+drivers/power/supply/sbs-battery.c:		mutex_unlock(&chip->mode_lock);
+drivers/power/supply/sbs-battery.c:	if (!chip->enable_detection)
+drivers/power/supply/sbs-battery.c:	if (!chip->gpio_detect &&
+drivers/power/supply/sbs-battery.c:		chip->is_present != (ret >= 0)) {
+drivers/power/supply/sbs-battery.c:		chip->is_present = (ret >= 0);
+drivers/power/supply/sbs-battery.c:		power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-battery.c:	if (ret && chip->is_present)
+drivers/power/supply/sbs-battery.c:	struct power_supply *battery = chip->power_supply;
+drivers/power/supply/sbs-battery.c:	ret = gpiod_get_value_cansleep(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:	chip->is_present = ret;
+drivers/power/supply/sbs-battery.c:	cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:	schedule_delayed_work(&chip->work, HZ);
+drivers/power/supply/sbs-battery.c:	chip->poll_time = chip->poll_retry_count;
+drivers/power/supply/sbs-battery.c:	ret = sbs_read_word_data(chip->client, sbs_data[REG_STATUS].addr);
+drivers/power/supply/sbs-battery.c:		chip->poll_time = 0;
+drivers/power/supply/sbs-battery.c:	sbs_status_correct(chip->client, &ret);
+drivers/power/supply/sbs-battery.c:	if (chip->last_state != ret) {
+drivers/power/supply/sbs-battery.c:		chip->poll_time = 0;
+drivers/power/supply/sbs-battery.c:		power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-battery.c:	if (chip->poll_time > 0) {
+drivers/power/supply/sbs-battery.c:		schedule_delayed_work(&chip->work, HZ);
+drivers/power/supply/sbs-battery.c:		chip->poll_time--;
+drivers/power/supply/sbs-battery.c:	chip->flags = (u32)(uintptr_t)of_device_get_match_data(&client->dev);
+drivers/power/supply/sbs-battery.c:	chip->client = client;
+drivers/power/supply/sbs-battery.c:	chip->enable_detection = false;
+drivers/power/supply/sbs-battery.c:	chip->last_state = POWER_SUPPLY_STATUS_UNKNOWN;
+drivers/power/supply/sbs-battery.c:	mutex_init(&chip->mode_lock);
+drivers/power/supply/sbs-battery.c:				  &chip->i2c_retry_count);
+drivers/power/supply/sbs-battery.c:		chip->i2c_retry_count = 0;
+drivers/power/supply/sbs-battery.c:				  &chip->poll_retry_count);
+drivers/power/supply/sbs-battery.c:		chip->poll_retry_count = 0;
+drivers/power/supply/sbs-battery.c:		chip->poll_retry_count = pdata->poll_retry_count;
+drivers/power/supply/sbs-battery.c:		chip->i2c_retry_count  = pdata->i2c_retry_count;
+drivers/power/supply/sbs-battery.c:	chip->i2c_retry_count = chip->i2c_retry_count + 1;
+drivers/power/supply/sbs-battery.c:	chip->gpio_detect = devm_gpiod_get_optional(&client->dev,
+drivers/power/supply/sbs-battery.c:	if (IS_ERR(chip->gpio_detect)) {
+drivers/power/supply/sbs-battery.c:			PTR_ERR(chip->gpio_detect));
+drivers/power/supply/sbs-battery.c:		return PTR_ERR(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:	if (!chip->gpio_detect)
+drivers/power/supply/sbs-battery.c:	irq = gpiod_to_irq(chip->gpio_detect);
+drivers/power/supply/sbs-battery.c:	if (!(force_load || chip->gpio_detect)) {
+drivers/power/supply/sbs-battery.c:	chip->power_supply = devm_power_supply_register(&client->dev, sbs_desc,
+drivers/power/supply/sbs-battery.c:	if (IS_ERR(chip->power_supply)) {
+drivers/power/supply/sbs-battery.c:		rc = PTR_ERR(chip->power_supply);
+drivers/power/supply/sbs-battery.c:	INIT_DELAYED_WORK(&chip->work, sbs_delayed_work);
+drivers/power/supply/sbs-battery.c:	chip->enable_detection = true;
+drivers/power/supply/sbs-battery.c:	cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:	if (chip->poll_time > 0)
+drivers/power/supply/sbs-battery.c:		cancel_delayed_work_sync(&chip->work);
+drivers/power/supply/sbs-battery.c:	if (chip->flags & SBS_FLAGS_TI_BQ20Z75) {
+drivers/power/supply/sbs-battery.c:		if (chip->is_present && ret < 0)
+drivers/power/supply/sbs-charger.c:	reg = chip->last_state;
+drivers/power/supply/sbs-charger.c:	ret = regmap_read(chip->regmap, SBS_CHARGER_REG_STATUS, &reg);
+drivers/power/supply/sbs-charger.c:	if (!ret && reg != chip->last_state) {
+drivers/power/supply/sbs-charger.c:		chip->last_state = reg;
+drivers/power/supply/sbs-charger.c:		power_supply_changed(chip->power_supply);
+drivers/power/supply/sbs-charger.c:	schedule_delayed_work(&chip->work,
+drivers/power/supply/sbs-charger.c:	chip->client = client;
+drivers/power/supply/sbs-charger.c:	chip->regmap = devm_regmap_init_i2c(client, &sbs_regmap);
+drivers/power/supply/sbs-charger.c:	if (IS_ERR(chip->regmap))
+drivers/power/supply/sbs-charger.c:		return PTR_ERR(chip->regmap);
+drivers/power/supply/sbs-charger.c:	ret = regmap_read(chip->regmap, SBS_CHARGER_REG_STATUS, &val);
+drivers/power/supply/sbs-charger.c:	chip->last_state = val;
+drivers/power/supply/sbs-charger.c:	chip->power_supply = devm_power_supply_register(&client->dev, &sbs_desc,
+drivers/power/supply/sbs-charger.c:	if (IS_ERR(chip->power_supply)) {
+drivers/power/supply/sbs-charger.c:		return PTR_ERR(chip->power_supply);
+drivers/power/supply/sbs-charger.c:		INIT_DELAYED_WORK(&chip->work, sbs_delayed_work);
+drivers/power/supply/sbs-charger.c:		schedule_delayed_work(&chip->work,
+drivers/power/supply/sbs-charger.c:	cancel_delayed_work_sync(&chip->work);
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->ts_sel) | (PCH_ECS_ETH);
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->ts_sel));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->control) | PCH_TSC_RESET;
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->control));
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->control));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->ch_control);
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->ch_control));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->ch_event);
+drivers/ptp/ptp_pch.c:	iowrite32(val, (&chip->regs->ch_event));
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->src_uuid_lo);
+drivers/ptp/ptp_pch.c:	val = ioread32(&chip->regs->src_uuid_hi);
+drivers/ptp/ptp_pch.c:	lo = ioread32(&chip->regs->rx_snap_lo);
+drivers/ptp/ptp_pch.c:	hi = ioread32(&chip->regs->rx_snap_hi);
+drivers/ptp/ptp_pch.c:	lo = ioread32(&chip->regs->tx_snap_lo);
+drivers/ptp/ptp_pch.c:	hi = ioread32(&chip->regs->tx_snap_hi);
+drivers/ptp/ptp_pch.c:	iowrite32(0x01, &chip->regs->stl_max_set_en);
+drivers/ptp/ptp_pch.c:	iowrite32(0xFFFFFFFF, &chip->regs->stl_max_set);
+drivers/ptp/ptp_pch.c:	iowrite32(0x00, &chip->regs->stl_max_set_en);
+drivers/ptp/ptp_pch.c:	if ((chip->regs == NULL) || addr == (u8 *)NULL) {
+drivers/ptp/ptp_pch.c:		iowrite32(val, &chip->regs->ts_st[i]);
+drivers/ptp/ptp_pch.c:	ptp_clock_unregister(chip->ptp_clock);
+drivers/ptp/ptp_pch.c:	if (chip->regs != NULL) {
+drivers/ptp/ptp_pch.c:		iounmap(chip->regs);
+drivers/ptp/ptp_pch.c:		chip->regs = NULL;
+drivers/ptp/ptp_pch.c:	if (chip->mem_base != 0) {
+drivers/ptp/ptp_pch.c:		release_mem_region(chip->mem_base, chip->mem_size);
+drivers/ptp/ptp_pch.c:		chip->mem_base = 0;
+drivers/ptp/ptp_pch.c:	chip->mem_base = pci_resource_start(pdev, IO_MEM_BAR);
+drivers/ptp/ptp_pch.c:	if (!chip->mem_base) {
+drivers/ptp/ptp_pch.c:	chip->mem_size = pci_resource_len(pdev, IO_MEM_BAR);
+drivers/ptp/ptp_pch.c:	if (!request_mem_region(chip->mem_base, chip->mem_size, "1588_regs")) {
+drivers/ptp/ptp_pch.c:	chip->regs = ioremap(chip->mem_base, chip->mem_size);
+drivers/ptp/ptp_pch.c:	if (!chip->regs) {
+drivers/ptp/ptp_pch.c:	chip->caps = ptp_pch_caps;
+drivers/ptp/ptp_pch.c:	chip->ptp_clock = ptp_clock_register(&chip->caps, &pdev->dev);
+drivers/ptp/ptp_pch.c:	if (IS_ERR(chip->ptp_clock)) {
+drivers/ptp/ptp_pch.c:		ret = PTR_ERR(chip->ptp_clock);
+drivers/ptp/ptp_pch.c:	spin_lock_init(&chip->register_lock);
+drivers/ptp/ptp_pch.c:	chip->irq = pdev->irq;
+drivers/ptp/ptp_pch.c:	chip->pdev = pdev;
+drivers/ptp/ptp_pch.c:	spin_lock_irqsave(&chip->register_lock, flags);
+drivers/ptp/ptp_pch.c:	iowrite32(DEFAULT_ADDEND, &chip->regs->addend);
+drivers/ptp/ptp_pch.c:	iowrite32(1, &chip->regs->trgt_lo);
+drivers/ptp/ptp_pch.c:	iowrite32(0, &chip->regs->trgt_hi);
+drivers/ptp/ptp_pch.c:	iowrite32(PCH_TSE_TTIPEND, &chip->regs->event);
+drivers/ptp/ptp_pch.c:	spin_unlock_irqrestore(&chip->register_lock, flags);
+drivers/ptp/ptp_pch.c:	ptp_clock_unregister(chip->ptp_clock);
+drivers/ptp/ptp_pch.c:	iounmap(chip->regs);
+drivers/ptp/ptp_pch.c:	chip->regs = NULL;
+drivers/ptp/ptp_pch.c:	release_mem_region(chip->mem_base, chip->mem_size);
+drivers/ptp/ptp_pch.c:	chip->mem_base = 0;
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/core.c:	bitmap_clear(allocated_pwms, chip->base, chip->npwm);
+drivers/pwm/core.c:	kfree(chip->pwms);
+drivers/pwm/core.c:	chip->pwms = NULL;
+drivers/pwm/core.c:		const char *chip_name = dev_name(chip->dev);
+drivers/pwm/core.c:	if (!try_module_get(pwm->chip->ops->owner))
+drivers/pwm/core.c:	if (pwm->chip->ops->request) {
+drivers/pwm/core.c:		err = pwm->chip->ops->request(pwm->chip, pwm);
+drivers/pwm/core.c:			module_put(pwm->chip->ops->owner);
+drivers/pwm/core.c:	if (!chip->dev || !chip->dev->of_node)
+drivers/pwm/core.c:	if (!chip->of_xlate) {
+drivers/pwm/core.c:		chip->of_xlate = of_pwm_simple_xlate;
+drivers/pwm/core.c:		chip->of_pwm_n_cells = 2;
+drivers/pwm/core.c:	of_node_get(chip->dev->of_node);
+drivers/pwm/core.c:	if (chip->dev)
+drivers/pwm/core.c:		of_node_put(chip->dev->of_node);
+drivers/pwm/core.c: * @data: pointer to chip-specific data
+drivers/pwm/core.c: * Returns: A pointer to the chip-private data for the PWM device.
+drivers/pwm/core.c: * Register a new PWM chip. If chip->base < 0 then a dynamically assigned base
+drivers/pwm/core.c:	if (!chip || !chip->dev || !chip->ops || !chip->npwm)
+drivers/pwm/core.c:	if (!pwm_ops_check(chip->ops))
+drivers/pwm/core.c:	ret = alloc_pwms(chip->base, chip->npwm);
+drivers/pwm/core.c:	chip->pwms = kcalloc(chip->npwm, sizeof(*pwm), GFP_KERNEL);
+drivers/pwm/core.c:	if (!chip->pwms) {
+drivers/pwm/core.c:	chip->base = ret;
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		pwm = &chip->pwms[i];
+drivers/pwm/core.c:		pwm->pwm = chip->base + i;
+drivers/pwm/core.c:		if (chip->ops->get_state)
+drivers/pwm/core.c:			chip->ops->get_state(chip, pwm, &pwm->state);
+drivers/pwm/core.c:	bitmap_set(allocated_pwms, chip->base, chip->npwm);
+drivers/pwm/core.c:	INIT_LIST_HEAD(&chip->list);
+drivers/pwm/core.c:	list_add(&chip->list, &pwm_chips);
+drivers/pwm/core.c: * Register a new PWM chip. If chip->base < 0 then a dynamically assigned base
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/core.c:	list_del_init(&chip->list);
+drivers/pwm/core.c:	if (!chip || index >= chip->npwm)
+drivers/pwm/core.c:	pwm = &chip->pwms[index];
+drivers/pwm/core.c:	if (chip->ops->apply) {
+drivers/pwm/core.c:		err = chip->ops->apply(chip, pwm, state);
+drivers/pwm/core.c:			if (!chip->ops->set_polarity)
+drivers/pwm/core.c:				chip->ops->disable(chip, pwm);
+drivers/pwm/core.c:			err = chip->ops->set_polarity(chip, pwm,
+drivers/pwm/core.c:			err = chip->ops->config(pwm->chip, pwm,
+drivers/pwm/core.c:				err = chip->ops->enable(chip, pwm);
+drivers/pwm/core.c:				chip->ops->disable(chip, pwm);
+drivers/pwm/core.c:	if (!pwm || !pwm->chip->ops)
+drivers/pwm/core.c:	if (!pwm->chip->ops->capture)
+drivers/pwm/core.c:	err = pwm->chip->ops->capture(pwm->chip, pwm, result, timeout);
+drivers/pwm/core.c:		if (chip->dev && chip->dev->of_node == np) {
+drivers/pwm/core.c:		dev_warn(pwm->chip->dev,
+drivers/pwm/core.c:	dl = device_link_add(dev, pwm->chip->dev, DL_FLAG_AUTOREMOVE_CONSUMER);
+drivers/pwm/core.c:			dev_name(pwm->chip->dev));
+drivers/pwm/core.c:		struct acpi_device *adev = ACPI_COMPANION(chip->dev);
+drivers/pwm/core.c:		if ((chip->dev == dev) || (adev && &adev->dev == dev)) {
+drivers/pwm/core.c:	if (pwm->chip->ops->free)
+drivers/pwm/core.c:		pwm->chip->ops->free(pwm->chip, pwm);
+drivers/pwm/core.c:	module_put(pwm->chip->ops->owner);
+drivers/pwm/core.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/core.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/core.c:		   chip->dev->bus ? chip->dev->bus->name : "no-bus",
+drivers/pwm/core.c:		   dev_name(chip->dev), chip->npwm,
+drivers/pwm/core.c:		   (chip->npwm != 1) ? "s" : "");
+drivers/pwm/pwm-ab8500.c:	reg = AB8500_PWM_OUT_CTRL1_REG + ((chip->base - 1) * 2);
+drivers/pwm/pwm-ab8500.c:	ret = abx500_set_register_interruptible(chip->dev, AB8500_MISC,
+drivers/pwm/pwm-ab8500.c:	ret = abx500_set_register_interruptible(chip->dev, AB8500_MISC,
+drivers/pwm/pwm-ab8500.c:	ret = abx500_mask_and_set_register_interruptible(chip->dev,
+drivers/pwm/pwm-ab8500.c:				1 << (chip->base - 1), 1 << (chip->base - 1));
+drivers/pwm/pwm-ab8500.c:		dev_err(chip->dev, "%s: Failed to enable PWM, Error %d\n",
+drivers/pwm/pwm-ab8500.c:	ret = abx500_mask_and_set_register_interruptible(chip->dev,
+drivers/pwm/pwm-ab8500.c:				1 << (chip->base - 1), 0);
+drivers/pwm/pwm-ab8500.c:		dev_err(chip->dev, "%s: Failed to disable PWM, Error %d\n",
+drivers/pwm/pwm-atmel-hlcdc.c:	struct atmel_hlcdc *hlcdc = chip->hlcdc;
+drivers/pwm/pwm-atmel-hlcdc.c:		if (!chip->errata || !chip->errata->slow_clk_erratum) {
+drivers/pwm/pwm-atmel-hlcdc.c:		if ((chip->errata && chip->errata->slow_clk_erratum) ||
+drivers/pwm/pwm-atmel-hlcdc.c:			if (!pres && chip->errata &&
+drivers/pwm/pwm-atmel-hlcdc.c:			    chip->errata->div1_clk_erratum)
+drivers/pwm/pwm-atmel-hlcdc.c:		if (new_clk != chip->cur_clk) {
+drivers/pwm/pwm-atmel-hlcdc.c:			clk_disable_unprepare(chip->cur_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:			chip->cur_clk = new_clk;
+drivers/pwm/pwm-atmel-hlcdc.c:		clk_disable_unprepare(chip->cur_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:		chip->cur_clk = NULL;
+drivers/pwm/pwm-atmel-hlcdc.c:	if (pwm_is_enabled(&chip->chip.pwms[0]))
+drivers/pwm/pwm-atmel-hlcdc.c:		clk_disable_unprepare(chip->hlcdc->periph_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:	pwm_get_state(&chip->chip.pwms[0], &state);
+drivers/pwm/pwm-atmel-hlcdc.c:		ret = clk_prepare_enable(chip->hlcdc->periph_clk);
+drivers/pwm/pwm-atmel-hlcdc.c:	return atmel_hlcdc_pwm_apply(&chip->chip, &chip->chip.pwms[0], &state);
+drivers/pwm/pwm-atmel-hlcdc.c:		chip->errata = match->data;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->hlcdc = hlcdc;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.ops = &atmel_hlcdc_pwm_ops;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.dev = dev;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.base = -1;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.npwm = 1;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-atmel-hlcdc.c:	chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-atmel-hlcdc.c:	ret = pwmchip_add_with_polarity(&chip->chip, PWM_POLARITY_INVERSED);
+drivers/pwm/pwm-atmel-hlcdc.c:	ret = pwmchip_remove(&chip->chip);
+drivers/pwm/pwm-atmel-hlcdc.c:	clk_disable_unprepare(chip->hlcdc->periph_clk);
+drivers/pwm/pwm-atmel-tcb.c:	tcbpwm = devm_kzalloc(chip->dev, sizeof(*tcbpwm), GFP_KERNEL);
+drivers/pwm/pwm-atmel-tcb.c:		devm_kfree(chip->dev, tcbpwm);
+drivers/pwm/pwm-atmel-tcb.c:	devm_kfree(chip->dev, tcbpwm);
+drivers/pwm/pwm-atmel-tcb.c:		dev_err(chip->dev,
+drivers/pwm/pwm-atmel.c:	return readl_relaxed(chip->base + offset);
+drivers/pwm/pwm-atmel.c:	writel_relaxed(val, chip->base + offset);
+drivers/pwm/pwm-atmel.c:	return readl_relaxed(chip->base + base + offset);
+drivers/pwm/pwm-atmel.c:	writel_relaxed(val, chip->base + base + offset);
+drivers/pwm/pwm-atmel.c:		dev_err(chip->dev, "pres exceeds the maximum value\n");
+drivers/pwm/pwm-atmel.c:			dev_err(chip->dev,
+drivers/pwm/pwm-atmel.c:				dev_err(chip->dev, "failed to enable clock\n");
+drivers/pwm/pwm-bcm-kona.c:		dev_err(chip->dev, "failed to enable clock: %d\n", ret);
+drivers/pwm/pwm-bcm-kona.c:		dev_err(chip->dev, "failed to enable clock: %d\n", ret);
+drivers/pwm/pwm-berlin.c:	return readl_relaxed(chip->base + channel * 0x10 + offset);
+drivers/pwm/pwm-berlin.c:	writel_relaxed(value, chip->base + channel * 0x10 + offset);
+drivers/pwm/pwm-clps711x.c:	if (args->args[0] >= chip->npwm)
+drivers/pwm/pwm-cros-ec.c:		dev_err(chip->dev, "error getting initial duty: %d\n", ret);
+drivers/pwm/pwm-cros-ec.c:	chip->dev = dev;
+drivers/pwm/pwm-cros-ec.c:	chip->ops = &cros_ec_pwm_ops;
+drivers/pwm/pwm-cros-ec.c:	chip->of_xlate = cros_ec_pwm_xlate;
+drivers/pwm/pwm-cros-ec.c:	chip->of_pwm_n_cells = 1;
+drivers/pwm/pwm-cros-ec.c:	chip->base = -1;
+drivers/pwm/pwm-cros-ec.c:	chip->npwm = ret;
+drivers/pwm/pwm-cros-ec.c:	dev_dbg(dev, "Probed %u PWMs\n", chip->npwm);
+drivers/pwm/pwm-ep93xx.c:	struct platform_device *pdev = to_platform_device(chip->dev);
+drivers/pwm/pwm-ep93xx.c:	struct platform_device *pdev = to_platform_device(chip->dev);
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	freq = div_u64(clk_get_rate(hi_pwm_chip->clk), 1000000);
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CFG0_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CFG1_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:		hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:		hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
+drivers/pwm/pwm-hibvt.c:	freq = div_u64(clk_get_rate(hi_pwm_chip->clk), 1000000);
+drivers/pwm/pwm-hibvt.c:	base = hi_pwm_chip->base;
+drivers/pwm/pwm-hibvt.c:		if (hi_pwm_chip->soc->quirk_force_enable && state->enabled)
+drivers/pwm/pwm-hibvt.c:	pwm_chip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/pwm/pwm-hibvt.c:	if (IS_ERR(pwm_chip->clk)) {
+drivers/pwm/pwm-hibvt.c:				PTR_ERR(pwm_chip->clk));
+drivers/pwm/pwm-hibvt.c:		return PTR_ERR(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.ops = &hibvt_pwm_ops;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.dev = &pdev->dev;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.base = -1;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.npwm = soc->num_pwms;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->soc = soc;
+drivers/pwm/pwm-hibvt.c:	pwm_chip->base = devm_ioremap_resource(&pdev->dev, res);
+drivers/pwm/pwm-hibvt.c:	if (IS_ERR(pwm_chip->base))
+drivers/pwm/pwm-hibvt.c:		return PTR_ERR(pwm_chip->base);
+drivers/pwm/pwm-hibvt.c:	ret = clk_prepare_enable(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
+drivers/pwm/pwm-hibvt.c:	if (IS_ERR(pwm_chip->rstc)) {
+drivers/pwm/pwm-hibvt.c:		clk_disable_unprepare(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:		return PTR_ERR(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	reset_control_assert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	reset_control_deassert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	ret = pwmchip_add(&pwm_chip->chip);
+drivers/pwm/pwm-hibvt.c:		clk_disable_unprepare(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	for (i = 0; i < pwm_chip->chip.npwm; i++) {
+drivers/pwm/pwm-hibvt.c:		hibvt_pwm_set_bits(pwm_chip->base, PWM_CTRL_ADDR(i),
+drivers/pwm/pwm-hibvt.c:	reset_control_assert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	reset_control_deassert(pwm_chip->rstc);
+drivers/pwm/pwm-hibvt.c:	clk_disable_unprepare(pwm_chip->clk);
+drivers/pwm/pwm-hibvt.c:	return pwmchip_remove(&pwm_chip->chip);
+drivers/pwm/pwm-img.c:	writel(val, chip->base + reg);
+drivers/pwm/pwm-img.c:	return readl(chip->base + reg);
+drivers/pwm/pwm-img.c:	unsigned int max_timebase = pwm_chip->data->max_timebase;
+drivers/pwm/pwm-img.c:	if (period_ns < pwm_chip->min_period_ns ||
+drivers/pwm/pwm-img.c:	    period_ns > pwm_chip->max_period_ns) {
+drivers/pwm/pwm-img.c:		dev_err(chip->dev, "configured period not in range\n");
+drivers/pwm/pwm-img.c:	input_clk_hz = clk_get_rate(pwm_chip->pwm_clk);
+drivers/pwm/pwm-img.c:		dev_err(chip->dev,
+drivers/pwm/pwm-img.c:	ret = pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-img.c:	pm_runtime_mark_last_busy(chip->dev);
+drivers/pwm/pwm-img.c:	pm_runtime_put_autosuspend(chip->dev);
+drivers/pwm/pwm-img.c:	ret = pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-img.c:	regmap_update_bits(pwm_chip->periph_regs, PERIP_PWM_PDM_CONTROL,
+drivers/pwm/pwm-img.c:	pm_runtime_mark_last_busy(chip->dev);
+drivers/pwm/pwm-img.c:	pm_runtime_put_autosuspend(chip->dev);
+drivers/pwm/pwm-img.c:	clk_disable_unprepare(pwm_chip->pwm_clk);
+drivers/pwm/pwm-img.c:	clk_disable_unprepare(pwm_chip->sys_clk);
+drivers/pwm/pwm-img.c:	ret = clk_prepare_enable(pwm_chip->sys_clk);
+drivers/pwm/pwm-img.c:	ret = clk_prepare_enable(pwm_chip->pwm_clk);
+drivers/pwm/pwm-img.c:		clk_disable_unprepare(pwm_chip->sys_clk);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++) {
+drivers/pwm/pwm-img.c:	return pwmchip_remove(&pwm_chip->chip);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++)
+drivers/pwm/pwm-img.c:		pwm_chip->suspend_ch_cfg[i] = img_pwm_readl(pwm_chip,
+drivers/pwm/pwm-img.c:	pwm_chip->suspend_ctrl_cfg = img_pwm_readl(pwm_chip, PWM_CTRL_CFG);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++)
+drivers/pwm/pwm-img.c:			       pwm_chip->suspend_ch_cfg[i]);
+drivers/pwm/pwm-img.c:	img_pwm_writel(pwm_chip, PWM_CTRL_CFG, pwm_chip->suspend_ctrl_cfg);
+drivers/pwm/pwm-img.c:	for (i = 0; i < pwm_chip->chip.npwm; i++)
+drivers/pwm/pwm-img.c:		if (pwm_chip->suspend_ctrl_cfg & BIT(i))
+drivers/pwm/pwm-img.c:			regmap_update_bits(pwm_chip->periph_regs,
+drivers/pwm/pwm-imx27.c:		dev_warn(chip->dev, "can't set polarity, output disconnected");
+drivers/pwm/pwm-imx27.c:	struct device *dev = chip->dev;
+drivers/pwm/pwm-imx27.c:	struct device *dev = chip->dev;
+drivers/pwm/pwm-lpc18xx-sct.c:		dev_err(chip->dev, "period %d not in range\n", period_ns);
+drivers/pwm/pwm-lpc18xx-sct.c:		dev_err(chip->dev, "conflicting period requested for PWM %u\n",
+drivers/pwm/pwm-lpc18xx-sct.c:		for (i = 0; i < chip->npwm; i++)
+drivers/pwm/pwm-lpc18xx-sct.c:			pwm_set_period(&chip->pwms[i], period_ns);
+drivers/pwm/pwm-lpss.c:		dev_err(pwm->chip->dev, "PWM_SW_UPDATE was not cleared\n");
+drivers/pwm/pwm-lpss.c:			pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-lpss.c:				pm_runtime_put(chip->dev);
+drivers/pwm/pwm-lpss.c:				pm_runtime_put(chip->dev);
+drivers/pwm/pwm-lpss.c:		pm_runtime_put(chip->dev);
+drivers/pwm/pwm-lpss.c:		pm_runtime_get(chip->dev);
+drivers/pwm/pwm-mediatek.c:	return readl(chip->regs + pwm_mediatek_reg_offset[num] + offset);
+drivers/pwm/pwm-mediatek.c:	writel(value, chip->regs + pwm_mediatek_reg_offset[num] + offset);
+drivers/pwm/pwm-mediatek.c:		dev_err(chip->dev, "period %d not supported\n", period_ns);
+drivers/pwm/pwm-meson.c:	struct device *dev = chip->dev;
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "requested duty cycle: %d ns, period: %d ns\n",
+drivers/pwm/pwm-omap-dmtimer.c:		dev_err(chip->dev, "invalid pmtimer fclk\n");
+drivers/pwm/pwm-omap-dmtimer.c:		dev_err(chip->dev, "invalid pmtimer fclk rate\n");
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "clk rate: %luHz\n", clk_rate);
+drivers/pwm/pwm-omap-dmtimer.c:		dev_info(chip->dev,
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev,
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev, "using minimum of 1 clock cycle\n");
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev,
+drivers/pwm/pwm-omap-dmtimer.c:		dev_dbg(chip->dev, "using maximum of 1 clock cycle less than period\n");
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "effective duty cycle: %lld ns, period: %lld ns\n",
+drivers/pwm/pwm-omap-dmtimer.c:	dev_dbg(chip->dev, "load value: %#08x (%d), match value: %#08x (%d)\n",
+drivers/pwm/pwm-pca9685.c: * However, the ratio between each configured duty cycle and the chip-wide
+drivers/pwm/pwm-pca9685.c:			/* Change the chip-wide output frequency */
+drivers/pwm/pwm-pca9685.c:			dev_err(chip->dev,
+drivers/pwm/pwm-pca9685.c:	pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-pca9685.c:	pm_runtime_put(chip->dev);
+drivers/pwm/pwm-pxa.c:	return pwmchip_remove(&chip->chip);
+drivers/pwm/pwm-rcar.c:	return pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-rcar.c:	pm_runtime_put(chip->dev);
+drivers/pwm/pwm-rockchip.c:		.name = "rockchip-pwm",
+drivers/pwm/pwm-samsung.c:	struct samsung_pwm_variant *variant = &chip->variant;
+drivers/pwm/pwm-samsung.c:	reg = readl(chip->base + REG_TCFG1);
+drivers/pwm/pwm-samsung.c:	rate = clk_get_rate(chip->base_clk);
+drivers/pwm/pwm-samsung.c:	reg = readl(chip->base + REG_TCFG0);
+drivers/pwm/pwm-samsung.c:	struct samsung_pwm_variant *variant = &chip->variant;
+drivers/pwm/pwm-samsung.c:		clk = (chan < 2) ? chip->tclk0 : chip->tclk1;
+drivers/pwm/pwm-samsung.c:		dev_warn(chip->chip.dev,
+drivers/pwm/pwm-samsung.c:	dev_dbg(chip->chip.dev, "tin parent at %lu\n", rate);
+drivers/pwm/pwm-samsung.c:	if (!(our_chip->variant.output_mask & BIT(pwm->hwpwm))) {
+drivers/pwm/pwm-samsung.c:		dev_warn(chip->dev,
+drivers/pwm/pwm-samsung.c:	tcon = readl(our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	our_chip->disabled_mask &= ~BIT(pwm->hwpwm);
+drivers/pwm/pwm-samsung.c:	tcon = readl(our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, our_chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	our_chip->disabled_mask |= BIT(pwm->hwpwm);
+drivers/pwm/pwm-samsung.c:	tcon = readl(chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	writel(tcon, chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	tcnt = readl(our_chip->base + REG_TCNTB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:	oldtcmp = readl(our_chip->base + REG_TCMPB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:		dev_dbg(our_chip->chip.dev, "duty_ns=%d, period_ns=%d (%u)\n",
+drivers/pwm/pwm-samsung.c:		dev_dbg(our_chip->chip.dev, "tin_rate=%lu\n", tin_rate);
+drivers/pwm/pwm-samsung.c:	dev_dbg(our_chip->chip.dev,
+drivers/pwm/pwm-samsung.c:	writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:	writel(tcmp, our_chip->base + REG_TCMPB(pwm->hwpwm));
+drivers/pwm/pwm-samsung.c:		dev_dbg(our_chip->chip.dev, "Forcing manual update");
+drivers/pwm/pwm-samsung.c:	tcon = readl(chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:		chip->inverter_mask |= BIT(channel);
+drivers/pwm/pwm-samsung.c:		chip->inverter_mask &= ~BIT(channel);
+drivers/pwm/pwm-samsung.c:	writel(tcon, chip->base + REG_TCON);
+drivers/pwm/pwm-samsung.c:	struct device_node *np = chip->chip.dev->of_node;
+drivers/pwm/pwm-samsung.c:	memcpy(&chip->variant, match->data, sizeof(chip->variant));
+drivers/pwm/pwm-samsung.c:			dev_err(chip->chip.dev,
+drivers/pwm/pwm-samsung.c:		chip->variant.output_mask |= BIT(val);
+drivers/pwm/pwm-samsung.c:	chip->chip.dev = &pdev->dev;
+drivers/pwm/pwm-samsung.c:	chip->chip.ops = &pwm_samsung_ops;
+drivers/pwm/pwm-samsung.c:	chip->chip.base = -1;
+drivers/pwm/pwm-samsung.c:	chip->chip.npwm = SAMSUNG_PWM_NUM;
+drivers/pwm/pwm-samsung.c:	chip->inverter_mask = BIT(SAMSUNG_PWM_NUM) - 1;
+drivers/pwm/pwm-samsung.c:		chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-samsung.c:		chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-samsung.c:		memcpy(&chip->variant, pdev->dev.platform_data,
+drivers/pwm/pwm-samsung.c:							sizeof(chip->variant));
+drivers/pwm/pwm-samsung.c:	chip->base = devm_ioremap_resource(&pdev->dev, res);
+drivers/pwm/pwm-samsung.c:	if (IS_ERR(chip->base))
+drivers/pwm/pwm-samsung.c:		return PTR_ERR(chip->base);
+drivers/pwm/pwm-samsung.c:	chip->base_clk = devm_clk_get(&pdev->dev, "timers");
+drivers/pwm/pwm-samsung.c:	if (IS_ERR(chip->base_clk)) {
+drivers/pwm/pwm-samsung.c:		return PTR_ERR(chip->base_clk);
+drivers/pwm/pwm-samsung.c:	ret = clk_prepare_enable(chip->base_clk);
+drivers/pwm/pwm-samsung.c:		if (chip->variant.output_mask & BIT(chan))
+drivers/pwm/pwm-samsung.c:	chip->tclk0 = devm_clk_get(&pdev->dev, "pwm-tclk0");
+drivers/pwm/pwm-samsung.c:	chip->tclk1 = devm_clk_get(&pdev->dev, "pwm-tclk1");
+drivers/pwm/pwm-samsung.c:	ret = pwmchip_add(&chip->chip);
+drivers/pwm/pwm-samsung.c:		clk_disable_unprepare(chip->base_clk);
+drivers/pwm/pwm-samsung.c:		clk_get_rate(chip->base_clk),
+drivers/pwm/pwm-samsung.c:		!IS_ERR(chip->tclk0) ? clk_get_rate(chip->tclk0) : 0,
+drivers/pwm/pwm-samsung.c:		!IS_ERR(chip->tclk1) ? clk_get_rate(chip->tclk1) : 0);
+drivers/pwm/pwm-samsung.c:	ret = pwmchip_remove(&chip->chip);
+drivers/pwm/pwm-samsung.c:	clk_disable_unprepare(chip->base_clk);
+drivers/pwm/pwm-samsung.c:	struct pwm_chip *chip = &our_chip->chip;
+drivers/pwm/pwm-samsung.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/pwm-samsung.c:		if (our_chip->variant.output_mask & BIT(i))
+drivers/pwm/pwm-samsung.c:					our_chip->inverter_mask & BIT(i));
+drivers/pwm/pwm-samsung.c:		if (our_chip->disabled_mask & BIT(i))
+drivers/pwm/pwm-sifive.c:	chip->dev = dev;
+drivers/pwm/pwm-sifive.c:	chip->ops = &pwm_sifive_ops;
+drivers/pwm/pwm-sifive.c:	chip->of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-sifive.c:	chip->of_pwm_n_cells = 3;
+drivers/pwm/pwm-sifive.c:	chip->base = -1;
+drivers/pwm/pwm-sifive.c:	chip->npwm = 4;
+drivers/pwm/pwm-sifive.c:	dev_dbg(dev, "SiFive PWM chip registered %d PWMs\n", chip->npwm);
+drivers/pwm/pwm-spear.c:	return readl_relaxed(chip->mmio_base + (num << 4) + offset);
+drivers/pwm/pwm-spear.c:	writel_relaxed(val, chip->mmio_base + (num << 4) + offset);
+drivers/pwm/pwm-stm32.c:	if (pwm->chip->npwm < 2)
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error reading PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error writing PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error reading PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:		dev_err(chip->dev, "error writing PWM#%u control\n",
+drivers/pwm/pwm-stmpe.c:			dev_err(chip->dev, "unable to connect PWM#%u to pin\n",
+drivers/pwm/pwm-stmpe.c:	dev_dbg(chip->dev, "PWM#%u: config duty %d ns, period %d ns\n",
+drivers/pwm/pwm-stmpe.c:		dev_dbg(chip->dev,
+drivers/pwm/pwm-stmpe.c:			dev_err(chip->dev, "error writing register %02x: %d\n",
+drivers/pwm/pwm-stmpe.c:			dev_err(chip->dev, "error writing register %02x: %d\n",
+drivers/pwm/pwm-stmpe.c:	dev_dbg(chip->dev, "programmed PWM#%u, %u bytes\n", pwm->hwpwm, i);
+drivers/pwm/pwm-sun4i.c:	return readl(chip->base + offset);
+drivers/pwm/pwm-sun4i.c:	writel(val, chip->base + offset);
+drivers/pwm/pwm-sun4i.c:			dev_err(chip->dev, "failed to enable PWM clock\n");
+drivers/pwm/pwm-sun4i.c:			dev_err(chip->dev, "period exceeds the maximum value\n");
+drivers/pwm/pwm-tegra.c:	return readl(chip->regs + (num << 4));
+drivers/pwm/pwm-tegra.c:	writel(val, chip->regs + (num << 4));
+drivers/pwm/pwm-tiecap.c:		dev_warn(chip->dev, "Removing PWM device without disabling\n");
+drivers/pwm/pwm-tiecap.c:		pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:			dev_err(chip->dev,
+drivers/pwm/pwm-tiehrpwm.c:		dev_err(chip->dev, "Unsupported values\n");
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_get_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:		dev_err(chip->dev, "Failed to enable TBCLK for %s: %d\n",
+drivers/pwm/pwm-tiehrpwm.c:	pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-tiehrpwm.c:		dev_warn(chip->dev, "Removing PWM device without disabling\n");
+drivers/pwm/pwm-tiehrpwm.c:		pm_runtime_put_sync(chip->dev);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to request PWM\n", pwm->label);
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to read PWM_CTRL2\n",
+drivers/pwm/pwm-twl-led.c:		dev_err(chip->dev, "%s: Failed to free PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read GPBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read GPBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read PMBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to request PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to read PMBR1\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to free PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-twl.c:		dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+drivers/pwm/pwm-vt8500.c:		dev_err(chip->dev, "failed to enable clock\n");
+drivers/pwm/pwm-vt8500.c:		dev_err(chip->dev, "failed to enable clock\n");
+drivers/pwm/pwm-vt8500.c:	chip->chip.dev = &pdev->dev;
+drivers/pwm/pwm-vt8500.c:	chip->chip.ops = &vt8500_pwm_ops;
+drivers/pwm/pwm-vt8500.c:	chip->chip.of_xlate = of_pwm_xlate_with_flags;
+drivers/pwm/pwm-vt8500.c:	chip->chip.of_pwm_n_cells = 3;
+drivers/pwm/pwm-vt8500.c:	chip->chip.base = -1;
+drivers/pwm/pwm-vt8500.c:	chip->chip.npwm = VT8500_NR_PWMS;
+drivers/pwm/pwm-vt8500.c:	chip->clk = devm_clk_get(&pdev->dev, NULL);
+drivers/pwm/pwm-vt8500.c:	if (IS_ERR(chip->clk)) {
+drivers/pwm/pwm-vt8500.c:		return PTR_ERR(chip->clk);
+drivers/pwm/pwm-vt8500.c:	chip->base = devm_ioremap_resource(&pdev->dev, r);
+drivers/pwm/pwm-vt8500.c:	if (IS_ERR(chip->base))
+drivers/pwm/pwm-vt8500.c:		return PTR_ERR(chip->base);
+drivers/pwm/pwm-vt8500.c:	ret = clk_prepare(chip->clk);
+drivers/pwm/pwm-vt8500.c:	ret = pwmchip_add(&chip->chip);
+drivers/pwm/pwm-vt8500.c:		clk_unprepare(chip->clk);
+drivers/pwm/pwm-vt8500.c:	clk_unprepare(chip->clk);
+drivers/pwm/pwm-vt8500.c:	return pwmchip_remove(&chip->chip);
+drivers/pwm/sysfs.c:	if (hwpwm >= chip->npwm)
+drivers/pwm/sysfs.c:	if (hwpwm >= chip->npwm)
+drivers/pwm/sysfs.c:	ret = pwm_unexport_child(parent, &chip->pwms[hwpwm]);
+drivers/pwm/sysfs.c:	return sprintf(buf, "%u\n", chip->npwm);
+drivers/pwm/sysfs.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/sysfs.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/sysfs.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/pwm/sysfs.c:	return pwm_class_resume_npwm(parent, chip->npwm);
+drivers/pwm/sysfs.c:	parent = device_create(&pwm_class, chip->dev, MKDEV(0, 0), chip,
+drivers/pwm/sysfs.c:			       "pwmchip%d", chip->base);
+drivers/pwm/sysfs.c:		dev_warn(chip->dev,
+drivers/pwm/sysfs.c:	for (i = 0; i < chip->npwm; i++) {
+drivers/pwm/sysfs.c:		struct pwm_device *pwm = &chip->pwms[i];
+drivers/regulator/88pm800-regulator.c:	config.dev = chip->dev;
+drivers/regulator/88pm800-regulator.c:	config.regmap = chip->subchip->regmap_power;
+drivers/regulator/88pm8607.c:	if ((i == PM8607_ID_BUCK3) && chip->buck3_double)
+drivers/regulator/88pm8607.c:	config.dev = chip->dev;
+drivers/regulator/88pm8607.c:	if (chip->id == CHIP_PM8607)
+drivers/regulator/88pm8607.c:		config.regmap = chip->regmap;
+drivers/regulator/88pm8607.c:		config.regmap = chip->regmap_companion;
+drivers/regulator/ad5398.c:	unsigned range_uA = chip->max_uA - chip->min_uA;
+drivers/regulator/ad5398.c:	return chip->min_uA + (selector * range_uA / chip->current_level);
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	ret = (data & chip->current_mask) >> chip->current_offset;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	unsigned range_uA = chip->max_uA - chip->min_uA;
+drivers/regulator/ad5398.c:	if (min_uA < chip->min_uA)
+drivers/regulator/ad5398.c:		min_uA = chip->min_uA;
+drivers/regulator/ad5398.c:	if (max_uA > chip->max_uA)
+drivers/regulator/ad5398.c:		max_uA = chip->max_uA;
+drivers/regulator/ad5398.c:	if (min_uA > chip->max_uA || max_uA < chip->min_uA)
+drivers/regulator/ad5398.c:	selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level,
+drivers/regulator/ad5398.c:	selector = (selector << chip->current_offset) & chip->current_mask;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	struct i2c_client *client = chip->client;
+drivers/regulator/ad5398.c:	chip->client = client;
+drivers/regulator/ad5398.c:	chip->min_uA = df->min_uA;
+drivers/regulator/ad5398.c:	chip->max_uA = df->max_uA;
+drivers/regulator/ad5398.c:	chip->current_level = 1 << df->current_bits;
+drivers/regulator/ad5398.c:	chip->current_offset = df->current_offset;
+drivers/regulator/ad5398.c:	chip->current_mask = (chip->current_level - 1) << chip->current_offset;
+drivers/regulator/ad5398.c:	chip->rdev = devm_regulator_register(&client->dev, &ad5398_reg,
+drivers/regulator/ad5398.c:	if (IS_ERR(chip->rdev)) {
+drivers/regulator/ad5398.c:		return PTR_ERR(chip->rdev);
+drivers/regulator/da9062-regulator.c:	switch (chip->chip_type) {
+drivers/regulator/da9062-regulator.c:		dev_err(chip->dev, "Unrecognised chip type\n");
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:					chip->regmap,
+drivers/regulator/da9062-regulator.c:		config.dev = chip->dev;
+drivers/regulator/da9062-regulator.c:		config.regmap = chip->regmap;
+drivers/regulator/da9210-regulator.c:	error = regmap_read(chip->regmap, DA9210_REG_EVENT_B, &val);
+drivers/regulator/da9210-regulator.c:	regulator_lock(chip->rdev);
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:		regulator_notifier_call_chain(chip->rdev,
+drivers/regulator/da9210-regulator.c:	regulator_unlock(chip->rdev);
+drivers/regulator/da9210-regulator.c:		error = regmap_write(chip->regmap, DA9210_REG_EVENT_B, handled);
+drivers/regulator/da9210-regulator.c:	dev_err(regmap_get_device(chip->regmap), "I2C error : %d\n", error);
+drivers/regulator/da9210-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &da9210_regmap_config);
+drivers/regulator/da9210-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/da9210-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/da9210-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/da9210-regulator.c:	error = regmap_write(chip->regmap, DA9210_REG_MASK_A, ~0);
+drivers/regulator/da9210-regulator.c:		error = regmap_write(chip->regmap, DA9210_REG_MASK_B, ~0);
+drivers/regulator/da9210-regulator.c:	chip->rdev = rdev;
+drivers/regulator/da9210-regulator.c:		error = regmap_update_bits(chip->regmap, DA9210_REG_MASK_B,
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_BUCKA_CONF+id, &data);
+drivers/regulator/da9211-regulator.c:	return regmap_update_bits(chip->regmap, DA9211_REG_BUCKA_CONF+id,
+drivers/regulator/da9211-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/da9211-regulator.c:				return regmap_update_bits(chip->regmap,
+drivers/regulator/da9211-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_BUCK_ILIM, &data);
+drivers/regulator/da9211-regulator.c:	err = regmap_read(chip->regmap, DA9211_REG_EVENT_B, &reg_val);
+drivers/regulator/da9211-regulator.c:	        regulator_lock(chip->rdev[0]);
+drivers/regulator/da9211-regulator.c:		regulator_notifier_call_chain(chip->rdev[0],
+drivers/regulator/da9211-regulator.c:	        regulator_unlock(chip->rdev[0]);
+drivers/regulator/da9211-regulator.c:		err = regmap_write(chip->regmap, DA9211_REG_EVENT_B,
+drivers/regulator/da9211-regulator.c:	        regulator_lock(chip->rdev[1]);
+drivers/regulator/da9211-regulator.c:		regulator_notifier_call_chain(chip->rdev[1],
+drivers/regulator/da9211-regulator.c:	        regulator_unlock(chip->rdev[1]);
+drivers/regulator/da9211-regulator.c:		err = regmap_write(chip->regmap, DA9211_REG_EVENT_B,
+drivers/regulator/da9211-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_CONFIG_E, &data);
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to read CONFIG_E reg: %d\n", ret);
+drivers/regulator/da9211-regulator.c:	if (chip->pdata->num_buck == 1 && data == 0x00)
+drivers/regulator/da9211-regulator.c:		chip->num_regulator = 1;
+drivers/regulator/da9211-regulator.c:	else if (chip->pdata->num_buck == 2 && data != 0x00)
+drivers/regulator/da9211-regulator.c:		chip->num_regulator = 2;
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Configuration is mismatched\n");
+drivers/regulator/da9211-regulator.c:	for (i = 0; i < chip->num_regulator; i++) {
+drivers/regulator/da9211-regulator.c:		config.init_data = chip->pdata->init_data[i];
+drivers/regulator/da9211-regulator.c:		config.dev = chip->dev;
+drivers/regulator/da9211-regulator.c:		config.regmap = chip->regmap;
+drivers/regulator/da9211-regulator.c:		config.of_node = chip->pdata->reg_node[i];
+drivers/regulator/da9211-regulator.c:		if (chip->pdata->gpiod_ren[i])
+drivers/regulator/da9211-regulator.c:			config.ena_gpiod = chip->pdata->gpiod_ren[i];
+drivers/regulator/da9211-regulator.c:			devm_gpiod_unhinge(chip->dev, config.ena_gpiod);
+drivers/regulator/da9211-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/da9211-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/da9211-regulator.c:			dev_err(chip->dev,
+drivers/regulator/da9211-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/da9211-regulator.c:		if (chip->chip_irq != 0) {
+drivers/regulator/da9211-regulator.c:			ret = regmap_update_bits(chip->regmap,
+drivers/regulator/da9211-regulator.c:				dev_err(chip->dev,
+drivers/regulator/da9211-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/da9211-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &da9211_regmap_config);
+drivers/regulator/da9211-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/da9211-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/da9211-regulator.c:	chip->pdata = i2c->dev.platform_data;
+drivers/regulator/da9211-regulator.c:	ret = regmap_read(chip->regmap, DA9211_REG_DEVICE_ID, &data);
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to read DEVICE_ID reg: %d\n", ret);
+drivers/regulator/da9211-regulator.c:		chip->chip_id = DA9211;
+drivers/regulator/da9211-regulator.c:		chip->chip_id = DA9213;
+drivers/regulator/da9211-regulator.c:		chip->chip_id = DA9215;
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Unsupported device id = 0x%x.\n", data);
+drivers/regulator/da9211-regulator.c:	if (!chip->pdata)
+drivers/regulator/da9211-regulator.c:		chip->pdata = da9211_parse_regulators_dt(chip->dev);
+drivers/regulator/da9211-regulator.c:	if (IS_ERR(chip->pdata)) {
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "No regulators defined for the platform\n");
+drivers/regulator/da9211-regulator.c:		return PTR_ERR(chip->pdata);
+drivers/regulator/da9211-regulator.c:	chip->chip_irq = i2c->irq;
+drivers/regulator/da9211-regulator.c:	if (chip->chip_irq != 0) {
+drivers/regulator/da9211-regulator.c:		ret = devm_request_threaded_irq(chip->dev, chip->chip_irq, NULL,
+drivers/regulator/da9211-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/da9211-regulator.c:				chip->chip_irq);
+drivers/regulator/da9211-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/da9211-regulator.c:		dev_err(chip->dev, "Failed to initialize regulator: %d\n", ret);
+drivers/regulator/lp8755.c:	return regmap_read(pchip->regmap, reg, val);
+drivers/regulator/lp8755.c:	return regmap_write(pchip->regmap, reg, val);
+drivers/regulator/lp8755.c:	return regmap_update_bits(pchip->regmap, reg, mask, val);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev, "Not supported buck mode %s\n", __func__);
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev,
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	struct lp8755_platform_data *pdata = pchip->pdata;
+drivers/regulator/lp8755.c:	pchip->mphase = regval & 0x0F;
+drivers/regulator/lp8755.c:	for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) {
+drivers/regulator/lp8755.c:		buck_num = mphase_buck[pchip->mphase].buck_num[icnt];
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	struct lp8755_platform_data *pdata = pchip->pdata;
+drivers/regulator/lp8755.c:	rconfig.regmap = pchip->regmap;
+drivers/regulator/lp8755.c:	rconfig.dev = pchip->dev;
+drivers/regulator/lp8755.c:	for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) {
+drivers/regulator/lp8755.c:		buck_num = mphase_buck[pchip->mphase].buck_num[icnt];
+drivers/regulator/lp8755.c:		rconfig.of_node = pchip->dev->of_node;
+drivers/regulator/lp8755.c:		pchip->rdev[buck_num] =
+drivers/regulator/lp8755.c:		    devm_regulator_register(pchip->dev,
+drivers/regulator/lp8755.c:		if (IS_ERR(pchip->rdev[buck_num])) {
+drivers/regulator/lp8755.c:			ret = PTR_ERR(pchip->rdev[buck_num]);
+drivers/regulator/lp8755.c:			pchip->rdev[buck_num] = NULL;
+drivers/regulator/lp8755.c:			dev_err(pchip->dev, "regulator init failed: buck %d\n",
+drivers/regulator/lp8755.c:		    && (pchip->irqmask & (0x04 << icnt))
+drivers/regulator/lp8755.c:		    && (pchip->rdev[icnt] != NULL)) {
+drivers/regulator/lp8755.c:			regulator_lock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:			regulator_notifier_call_chain(pchip->rdev[icnt],
+drivers/regulator/lp8755.c:			regulator_unlock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:	if ((flag1 & 0x01) && (pchip->irqmask & 0x01))
+drivers/regulator/lp8755.c:			if (pchip->rdev[icnt] != NULL) {
+drivers/regulator/lp8755.c:				regulator_lock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:				regulator_notifier_call_chain(pchip->rdev[icnt],
+drivers/regulator/lp8755.c:				regulator_unlock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:	if ((flag1 & 0x02) && (pchip->irqmask & 0x02))
+drivers/regulator/lp8755.c:			if (pchip->rdev[icnt] != NULL) {
+drivers/regulator/lp8755.c:				regulator_lock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:				regulator_notifier_call_chain(pchip->rdev[icnt],
+drivers/regulator/lp8755.c:				regulator_unlock(pchip->rdev[icnt]);
+drivers/regulator/lp8755.c:	dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	if (pchip->irq == 0) {
+drivers/regulator/lp8755.c:		dev_warn(pchip->dev, "not use interrupt : %s\n", __func__);
+drivers/regulator/lp8755.c:		dev_err(pchip->dev, "i2c access error %s\n", __func__);
+drivers/regulator/lp8755.c:	pchip->irqmask = regval;
+drivers/regulator/lp8755.c:	return devm_request_threaded_irq(pchip->dev, pchip->irq, NULL,
+drivers/regulator/lp8755.c:	pchip->dev = &client->dev;
+drivers/regulator/lp8755.c:	pchip->regmap = devm_regmap_init_i2c(client, &lp8755_regmap);
+drivers/regulator/lp8755.c:	if (IS_ERR(pchip->regmap)) {
+drivers/regulator/lp8755.c:		ret = PTR_ERR(pchip->regmap);
+drivers/regulator/lp8755.c:		pchip->pdata = pdata;
+drivers/regulator/lp8755.c:		pchip->mphase = pdata->mphase;
+drivers/regulator/lp8755.c:		pchip->pdata = devm_kzalloc(pchip->dev,
+drivers/regulator/lp8755.c:		if (!pchip->pdata)
+drivers/regulator/lp8755.c:	pchip->irq = client->irq;
+drivers/regulator/max77620-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/max77620-regulator.c:	pmic->rmap = max77620_chip->rmap;
+drivers/regulator/max77620-regulator.c:	switch (max77620_chip->chip_id) {
+drivers/regulator/max77620-regulator.c:		if ((max77620_chip->chip_id == MAX77620) &&
+drivers/regulator/max8925-regulator.c:	ri->i2c = chip->i2c;
+drivers/regulator/max8925-regulator.c:	config.dev = chip->dev;
+drivers/regulator/max8973-regulator.c:	ret = regmap_read(mchip->regmap, MAX8973_CHIPID1, &val);
+drivers/regulator/max8973-regulator.c:		dev_err(mchip->dev, "Failed to read register CHIPID1, %d", ret);
+drivers/regulator/max8973-regulator.c:		*temp = mchip->junction_temp_warning + 1000;
+drivers/regulator/max8973-regulator.c:	thermal_zone_device_update(mchip->tz_device,
+drivers/regulator/max8973-regulator.c:	if (mchip->id != MAX77621)
+drivers/regulator/max8973-regulator.c:	tzd = devm_thermal_zone_of_sensor_register(mchip->dev, 0, mchip,
+drivers/regulator/max8973-regulator.c:		dev_err(mchip->dev, "Failed to register thermal sensor: %d\n",
+drivers/regulator/max8973-regulator.c:	if (mchip->irq <= 0)
+drivers/regulator/max8973-regulator.c:	irq_data = irq_get_irq_data(mchip->irq);
+drivers/regulator/max8973-regulator.c:	ret = devm_request_threaded_irq(mchip->dev, mchip->irq, NULL,
+drivers/regulator/max8973-regulator.c:					dev_name(mchip->dev), mchip);
+drivers/regulator/max8973-regulator.c:		dev_err(mchip->dev, "Failed to request irq %d, %d\n",
+drivers/regulator/max8973-regulator.c:			mchip->irq, ret);
+drivers/regulator/pfuze100-regulator.c:	struct device *dev = chip->dev;
+drivers/regulator/pfuze100-regulator.c:		chip->flags |= PFUZE_FLAG_DISABLE_SW;
+drivers/regulator/pfuze100-regulator.c:	switch (chip->chip_id) {
+drivers/regulator/pfuze100-regulator.c:	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW1ABMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW1CMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW2MODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW3AMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW3BMODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_SW4MODE,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN1VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN2VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN3VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN4VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN5VOL,
+drivers/regulator/pfuze100-regulator.c:	regmap_update_bits(syspm_pfuze_chip->regmap, PFUZE100_VGEN6VOL,
+drivers/regulator/pfuze100-regulator.c:	if (pfuze_chip->chip_id != PFUZE100) {
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
+drivers/regulator/pfuze100-regulator.c:	ret = regmap_read(pfuze_chip->regmap, PFUZE100_DEVICEID, &value);
+drivers/regulator/pfuze100-regulator.c:	if (((value & 0x0f) == 0x8) && (pfuze_chip->chip_id == PFUZE100)) {
+drivers/regulator/pfuze100-regulator.c:		dev_info(pfuze_chip->dev, "Assuming misprogrammed ID=0x8");
+drivers/regulator/pfuze100-regulator.c:	} else if ((value & 0x0f) != pfuze_chip->chip_id &&
+drivers/regulator/pfuze100-regulator.c:		   (value & 0xf0) >> 4 != pfuze_chip->chip_id &&
+drivers/regulator/pfuze100-regulator.c:		   (value != pfuze_chip->chip_id)) {
+drivers/regulator/pfuze100-regulator.c:		dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value);
+drivers/regulator/pfuze100-regulator.c:	ret = regmap_read(pfuze_chip->regmap, PFUZE100_REVID, &value);
+drivers/regulator/pfuze100-regulator.c:	dev_info(pfuze_chip->dev,
+drivers/regulator/pfuze100-regulator.c:	ret = regmap_read(pfuze_chip->regmap, PFUZE100_FABID, &value);
+drivers/regulator/pfuze100-regulator.c:	dev_info(pfuze_chip->dev, "FAB: %x, FIN: %x\n",
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->chip_id = (int)(long)match->data;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->chip_id = id->driver_data;
+drivers/regulator/pfuze100-regulator.c:	pfuze_chip->dev = &client->dev;
+drivers/regulator/pfuze100-regulator.c:	pfuze_chip->regmap = devm_regmap_init_i2c(client, &pfuze_regmap_config);
+drivers/regulator/pfuze100-regulator.c:	if (IS_ERR(pfuze_chip->regmap)) {
+drivers/regulator/pfuze100-regulator.c:		ret = PTR_ERR(pfuze_chip->regmap);
+drivers/regulator/pfuze100-regulator.c:	switch (pfuze_chip->chip_id) {
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze3001_regulators;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze3000_regulators;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze200_regulators;
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->pfuze_regulators = pfuze100_regulators;
+drivers/regulator/pfuze100-regulator.c:		(pfuze_chip->chip_id == PFUZE100) ? "100" :
+drivers/regulator/pfuze100-regulator.c:		(((pfuze_chip->chip_id == PFUZE200) ? "200" :
+drivers/regulator/pfuze100-regulator.c:		((pfuze_chip->chip_id == PFUZE3000) ? "3000" : "3001"))));
+drivers/regulator/pfuze100-regulator.c:	memcpy(pfuze_chip->regulator_descs, pfuze_chip->pfuze_regulators,
+drivers/regulator/pfuze100-regulator.c:		sizeof(pfuze_chip->regulator_descs));
+drivers/regulator/pfuze100-regulator.c:		desc = &pfuze_chip->regulator_descs[i].desc;
+drivers/regulator/pfuze100-regulator.c:			ret = regmap_read(pfuze_chip->regmap,
+drivers/regulator/pfuze100-regulator.c:				if (pfuze_chip->chip_id == PFUZE3000 ||
+drivers/regulator/pfuze100-regulator.c:					pfuze_chip->chip_id == PFUZE3001) {
+drivers/regulator/pfuze100-regulator.c:		if (pfuze_chip->flags & PFUZE_FLAG_DISABLE_SW) {
+drivers/regulator/pfuze100-regulator.c:			if (pfuze_chip->regulator_descs[i].sw_reg) {
+drivers/regulator/pfuze100-regulator.c:		pfuze_chip->regulators[i] =
+drivers/regulator/pfuze100-regulator.c:		if (IS_ERR(pfuze_chip->regulators[i])) {
+drivers/regulator/pfuze100-regulator.c:				pfuze_chip->pfuze_regulators[i].desc.name);
+drivers/regulator/pfuze100-regulator.c:			return PTR_ERR(pfuze_chip->regulators[i]);
+drivers/regulator/pv88060-regulator.c:	err = regmap_read(chip->regmap, PV88060_REG_EVENT_A, &reg_val);
+drivers/regulator/pv88060-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88060-regulator.c:				regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88060-regulator.c:				regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:		err = regmap_write(chip->regmap, PV88060_REG_EVENT_A,
+drivers/regulator/pv88060-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88060-regulator.c:				regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88060-regulator.c:				regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88060-regulator.c:		err = regmap_write(chip->regmap, PV88060_REG_EVENT_A,
+drivers/regulator/pv88060-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/pv88060-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/pv88060-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &pv88060_regmap_config);
+drivers/regulator/pv88060-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/pv88060-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/pv88060-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/pv88060-regulator.c:		ret = regmap_write(chip->regmap, PV88060_REG_MASK_A, 0xFF);
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:		ret = regmap_write(chip->regmap, PV88060_REG_MASK_B, 0xFF);
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:		ret = regmap_write(chip->regmap, PV88060_REG_MASK_C, 0xFF);
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/pv88060-regulator.c:		ret = regmap_update_bits(chip->regmap, PV88060_REG_MASK_A,
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/pv88060-regulator.c:	config.dev = chip->dev;
+drivers/regulator/pv88060-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/pv88060-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88060-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/pv88060-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88060-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:	err = regmap_read(chip->regmap, PV88080_REG_EVENT_A, &reg_val);
+drivers/regulator/pv88080-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88080-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88080-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:		err = regmap_write(chip->regmap, PV88080_REG_EVENT_A,
+drivers/regulator/pv88080-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88080-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88080-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:		err = regmap_write(chip->regmap, PV88080_REG_EVENT_A,
+drivers/regulator/pv88080-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/pv88080-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/pv88080-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &pv88080_regmap_config);
+drivers/regulator/pv88080-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/pv88080-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/pv88080-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev, "Failed to get of_match_node\n");
+drivers/regulator/pv88080-regulator.c:		chip->type = (unsigned long)match->data;
+drivers/regulator/pv88080-regulator.c:		chip->type = id->driver_data;
+drivers/regulator/pv88080-regulator.c:		ret = regmap_write(chip->regmap, PV88080_REG_MASK_A, 0xFF);
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:		ret = regmap_write(chip->regmap, PV88080_REG_MASK_B, 0xFF);
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:		ret = regmap_write(chip->regmap, PV88080_REG_MASK_C, 0xFF);
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/pv88080-regulator.c:		ret = regmap_update_bits(chip->regmap, PV88080_REG_MASK_A,
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/pv88080-regulator.c:	switch (chip->type) {
+drivers/regulator/pv88080-regulator.c:		chip->regmap_config = &pv88080_aa_regs;
+drivers/regulator/pv88080-regulator.c:		chip->regmap_config = &pv88080_ba_regs;
+drivers/regulator/pv88080-regulator.c:	regmap_config = chip->regmap_config;
+drivers/regulator/pv88080-regulator.c:	config.dev = chip->dev;
+drivers/regulator/pv88080-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/pv88080-regulator.c:		ret = regmap_read(chip->regmap,
+drivers/regulator/pv88080-regulator.c:		ret = regmap_read(chip->regmap,
+drivers/regulator/pv88080-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88080-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/pv88080-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88080-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/pv88080-regulator.c:	chip->rdev[PV88080_ID_HVBUCK] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88080-regulator.c:	if (IS_ERR(chip->rdev[PV88080_ID_HVBUCK])) {
+drivers/regulator/pv88080-regulator.c:		dev_err(chip->dev, "Failed to register PV88080 regulator\n");
+drivers/regulator/pv88080-regulator.c:		return PTR_ERR(chip->rdev[PV88080_ID_HVBUCK]);
+drivers/regulator/pv88090-regulator.c:	err = regmap_read(chip->regmap, PV88090_REG_EVENT_A, &reg_val);
+drivers/regulator/pv88090-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88090-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88090-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:		err = regmap_write(chip->regmap, PV88090_REG_EVENT_A,
+drivers/regulator/pv88090-regulator.c:			if (chip->rdev[i] != NULL) {
+drivers/regulator/pv88090-regulator.c:			        regulator_lock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/pv88090-regulator.c:			        regulator_unlock(chip->rdev[i]);
+drivers/regulator/pv88090-regulator.c:		err = regmap_write(chip->regmap, PV88090_REG_EVENT_A,
+drivers/regulator/pv88090-regulator.c:	dev_err(chip->dev, "I2C error : %d\n", err);
+drivers/regulator/pv88090-regulator.c:	chip->dev = &i2c->dev;
+drivers/regulator/pv88090-regulator.c:	chip->regmap = devm_regmap_init_i2c(i2c, &pv88090_regmap_config);
+drivers/regulator/pv88090-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/pv88090-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/pv88090-regulator.c:		dev_err(chip->dev, "Failed to allocate register map: %d\n",
+drivers/regulator/pv88090-regulator.c:		ret = regmap_write(chip->regmap, PV88090_REG_MASK_A, 0xFF);
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:		ret = regmap_write(chip->regmap, PV88090_REG_MASK_B, 0xFF);
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev, "Failed to request IRQ: %d\n",
+drivers/regulator/pv88090-regulator.c:		ret = regmap_update_bits(chip->regmap, PV88090_REG_MASK_A,
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:		dev_warn(chip->dev, "No IRQ configured\n");
+drivers/regulator/pv88090-regulator.c:	config.dev = chip->dev;
+drivers/regulator/pv88090-regulator.c:	config.regmap = chip->regmap;
+drivers/regulator/pv88090-regulator.c:			ret = regmap_read(chip->regmap,
+drivers/regulator/pv88090-regulator.c:			ret = regmap_read(chip->regmap,
+drivers/regulator/pv88090-regulator.c:				dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:		chip->rdev[i] = devm_regulator_register(chip->dev,
+drivers/regulator/pv88090-regulator.c:		if (IS_ERR(chip->rdev[i])) {
+drivers/regulator/pv88090-regulator.c:			dev_err(chip->dev,
+drivers/regulator/pv88090-regulator.c:			return PTR_ERR(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:		chip->rdesc[id] = &regls_desc[id];
+drivers/regulator/slg51000-regulator.c:		rdesc = chip->rdesc[id];
+drivers/regulator/slg51000-regulator.c:		config.regmap = chip->regmap;
+drivers/regulator/slg51000-regulator.c:		config.dev = chip->dev;
+drivers/regulator/slg51000-regulator.c:		ret = regmap_bulk_read(chip->regmap, min_regs[id],
+drivers/regulator/slg51000-regulator.c:			dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:			ret = regmap_read(chip->regmap, reg, &val);
+drivers/regulator/slg51000-regulator.c:				dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:			ret = regmap_read(chip->regmap, reg, &val);
+drivers/regulator/slg51000-regulator.c:				dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		chip->rdev[id] = devm_regulator_register(chip->dev, rdesc,
+drivers/regulator/slg51000-regulator.c:		if (IS_ERR(chip->rdev[id])) {
+drivers/regulator/slg51000-regulator.c:			ret = PTR_ERR(chip->rdev[id]);
+drivers/regulator/slg51000-regulator.c:			dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:				chip->rdesc[id]->name, ret);
+drivers/regulator/slg51000-regulator.c:	struct regmap *regmap = chip->regmap;
+drivers/regulator/slg51000-regulator.c:			dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev,
+drivers/regulator/slg51000-regulator.c:		dev_info(chip->dev,
+drivers/regulator/slg51000-regulator.c:			regulator_lock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:			regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/slg51000-regulator.c:			regulator_unlock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:				dev_warn(chip->dev,
+drivers/regulator/slg51000-regulator.c:				regulator_lock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:				regulator_notifier_call_chain(chip->rdev[i],
+drivers/regulator/slg51000-regulator.c:				regulator_unlock(chip->rdev[i]);
+drivers/regulator/slg51000-regulator.c:			dev_warn(chip->dev, "High temperature warning!\n");
+drivers/regulator/slg51000-regulator.c:	ret = regmap_read(chip->regmap, SLG51000_SYSCTL_FAULT_LOG1, &val);
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev, "Failed to read Fault log register\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_OVER_TEMP\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_POWER_SEQ_CRASH_REQ\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_RST\n");
+drivers/regulator/slg51000-regulator.c:		dev_dbg(chip->dev, "Fault log: FLT_POR\n");
+drivers/regulator/slg51000-regulator.c:		chip->cs_gpiod = cs_gpiod;
+drivers/regulator/slg51000-regulator.c:	chip->chip_irq = client->irq;
+drivers/regulator/slg51000-regulator.c:	chip->dev = dev;
+drivers/regulator/slg51000-regulator.c:	chip->regmap = devm_regmap_init_i2c(client, &slg51000_regmap_config);
+drivers/regulator/slg51000-regulator.c:	if (IS_ERR(chip->regmap)) {
+drivers/regulator/slg51000-regulator.c:		error = PTR_ERR(chip->regmap);
+drivers/regulator/slg51000-regulator.c:		dev_err(chip->dev, "Failed to init regulator(%d)\n", ret);
+drivers/regulator/slg51000-regulator.c:	if (chip->chip_irq) {
+drivers/regulator/slg51000-regulator.c:		ret = devm_request_threaded_irq(dev, chip->chip_irq, NULL,
+drivers/regulator/slg51000-regulator.c:				chip->chip_irq);
+drivers/remoteproc/da8xx_remoteproc.c: * @ack_fxn: chip-specific ack function for ack'ing irq
+drivers/remoteproc/da8xx_remoteproc.c:	drproc->ack_fxn = irq_data->chip->irq_ack;
+drivers/rtc/rtc-88pm80x.c:	info->map = chip->regmap;
+drivers/rtc/rtc-88pm80x.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/rtc/rtc-88pm860x.c:	info->i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
+drivers/rtc/rtc-88pm860x.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/rtc/rtc-88pm860x.c:		chip->wakeup_flag |= 1 << PM8607_IRQ_RTC;
+drivers/rtc/rtc-88pm860x.c:		chip->wakeup_flag &= ~(1 << PM8607_IRQ_RTC);
+drivers/rtc/rtc-ac100.c:	struct device_node *np = chip->dev->of_node;
+drivers/rtc/rtc-ac100.c:	chip->clk_data = devm_kzalloc(chip->dev,
+drivers/rtc/rtc-ac100.c:				      struct_size(chip->clk_data, hws,
+drivers/rtc/rtc-ac100.c:	if (!chip->clk_data)
+drivers/rtc/rtc-ac100.c:	chip->rtc_32k_clk = clk_hw_register_fixed_rate(chip->dev,
+drivers/rtc/rtc-ac100.c:	if (IS_ERR(chip->rtc_32k_clk)) {
+drivers/rtc/rtc-ac100.c:		ret = PTR_ERR(chip->rtc_32k_clk);
+drivers/rtc/rtc-ac100.c:		dev_err(chip->dev, "Failed to register RTC-32k clock: %d\n",
+drivers/rtc/rtc-ac100.c:		dev_err(chip->dev, "Failed to get ADDA 4M clock\n");
+drivers/rtc/rtc-ac100.c:		struct ac100_clkout *clk = &chip->clks[i];
+drivers/rtc/rtc-ac100.c:		clk->regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:		ret = devm_clk_hw_register(chip->dev, &clk->hw);
+drivers/rtc/rtc-ac100.c:			dev_err(chip->dev, "Failed to register clk '%s': %d\n",
+drivers/rtc/rtc-ac100.c:		chip->clk_data->hws[i] = &clk->hw;
+drivers/rtc/rtc-ac100.c:	chip->clk_data->num = i;
+drivers/rtc/rtc-ac100.c:	ret = of_clk_add_hw_provider(np, of_clk_hw_onecell_get, chip->clk_data);
+drivers/rtc/rtc-ac100.c:	clk_unregister_fixed_rate(chip->rtc_32k_clk->clk);
+drivers/rtc/rtc-ac100.c:	of_clk_del_provider(chip->dev->of_node);
+drivers/rtc/rtc-ac100.c:	clk_unregister_fixed_rate(chip->rtc_32k_clk->clk);
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	struct regmap *regmap = chip->regmap;
+drivers/rtc/rtc-ac100.c:	mutex_lock(&chip->rtc->ops_lock);
+drivers/rtc/rtc-ac100.c:		rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
+drivers/rtc/rtc-ac100.c:		ret = ac100_rtc_alarm_irq_enable(chip->dev, 0);
+drivers/rtc/rtc-ac100.c:	mutex_unlock(&chip->rtc->ops_lock);
+drivers/rtc/rtc-ac100.c:	chip->dev = &pdev->dev;
+drivers/rtc/rtc-ac100.c:	chip->regmap = ac100->regmap;
+drivers/rtc/rtc-ac100.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/rtc/rtc-ac100.c:	if (chip->irq < 0)
+drivers/rtc/rtc-ac100.c:		return chip->irq;
+drivers/rtc/rtc-ac100.c:	chip->rtc = devm_rtc_allocate_device(&pdev->dev);
+drivers/rtc/rtc-ac100.c:	if (IS_ERR(chip->rtc))
+drivers/rtc/rtc-ac100.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-ac100.c:	chip->rtc->ops = &ac100_rtc_ops;
+drivers/rtc/rtc-ac100.c:	ret = devm_request_threaded_irq(&pdev->dev, chip->irq, NULL,
+drivers/rtc/rtc-ac100.c:	regmap_write_bits(chip->regmap, AC100_RTC_CTRL, AC100_RTC_CTRL_24HOUR,
+drivers/rtc/rtc-ac100.c:	regmap_write(chip->regmap, AC100_ALM_INT_ENA, 0);
+drivers/rtc/rtc-ac100.c:	regmap_write(chip->regmap, AC100_ALM_INT_STA, AC100_ALM_INT_ENABLE);
+drivers/rtc/rtc-ac100.c:	return rtc_register_device(chip->rtc);
+drivers/rtc/rtc-da9063.c:		if (chip->variant_code == PMIC_DA9063_AD)
+drivers/rtc/rtc-ds1307.c:	ret = regmap_bulk_read(ds1307->regmap, chip->offset, regs,
+drivers/rtc/rtc-ds1307.c:	if (regs[chip->century_reg] & chip->century_bit &&
+drivers/rtc/rtc-ds1307.c:	if (t->tm_year > (chip->century_bit ? 299 : 199))
+drivers/rtc/rtc-ds1307.c:	if (chip->century_enable_bit)
+drivers/rtc/rtc-ds1307.c:		regs[chip->century_reg] |= chip->century_enable_bit;
+drivers/rtc/rtc-ds1307.c:	if (t->tm_year > 199 && chip->century_bit)
+drivers/rtc/rtc-ds1307.c:		regs[chip->century_reg] |= chip->century_bit;
+drivers/rtc/rtc-ds1307.c:	result = regmap_bulk_write(ds1307->regmap, chip->offset, regs,
+drivers/rtc/rtc-ds1307.c:	return regmap_bulk_read(ds1307->regmap, chip->nvram_offset + offset,
+drivers/rtc/rtc-ds1307.c:	return regmap_bulk_write(ds1307->regmap, chip->nvram_offset + offset,
+drivers/rtc/rtc-ds1307.c:	if (!chip->do_trickle_setup)
+drivers/rtc/rtc-ds1307.c:	return chip->do_trickle_setup(ds1307, ohms, diode);
+drivers/rtc/rtc-ds1307.c:	want_irq = client->irq > 0 && chip->alarm;
+drivers/rtc/rtc-ds1307.c:	if (trickle_charger_setup && chip->trickle_charger_reg) {
+drivers/rtc/rtc-ds1307.c:			trickle_charger_setup, chip->trickle_charger_reg);
+drivers/rtc/rtc-ds1307.c:		regmap_write(ds1307->regmap, chip->trickle_charger_reg,
+drivers/rtc/rtc-ds1307.c:	if (chip->alarm && of_property_read_bool(client->dev.of_node,
+drivers/rtc/rtc-ds1307.c:			regs[0] |= DS1337_BIT_INTCN | chip->bbsqi_bit;
+drivers/rtc/rtc-ds1307.c:	err = regmap_bulk_read(ds1307->regmap, chip->offset, regs,
+drivers/rtc/rtc-ds1307.c:		regmap_write(ds1307->regmap, chip->offset + DS1307_REG_HOUR,
+drivers/rtc/rtc-ds1307.c:						chip->irq_handler ?: ds1307_irq,
+drivers/rtc/rtc-ds1307.c:	ds1307->rtc->ops = chip->rtc_ops ?: &ds13xx_rtc_ops;
+drivers/rtc/rtc-ds1307.c:	if (chip->nvram_size) {
+drivers/rtc/rtc-ds1307.c:			.size = chip->nvram_size,
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[0] = address & 0x7f;
+drivers/rtc/rtc-ds1390.c:	status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 1);
+drivers/rtc/rtc-ds1390.c:	*data = chip->txrx_buf[0];
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[0] = DS1390_REG_SECONDS;
+drivers/rtc/rtc-ds1390.c:	status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 8);
+drivers/rtc/rtc-ds1390.c:	dt->tm_sec	= bcd2bin(chip->txrx_buf[0]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_min	= bcd2bin(chip->txrx_buf[1]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_hour	= bcd2bin(chip->txrx_buf[2]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_wday	= bcd2bin(chip->txrx_buf[3]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_mday	= bcd2bin(chip->txrx_buf[4]);
+drivers/rtc/rtc-ds1390.c:	dt->tm_mon	= bcd2bin(chip->txrx_buf[5] & 0x7f) - 1;
+drivers/rtc/rtc-ds1390.c:	dt->tm_year = bcd2bin(chip->txrx_buf[6]) + ((chip->txrx_buf[5] & 0x80) ? 100 : 0);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[0] = DS1390_REG_SECONDS | 0x80;
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[1] = bin2bcd(dt->tm_sec);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[2] = bin2bcd(dt->tm_min);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[3] = bin2bcd(dt->tm_hour);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[4] = bin2bcd(dt->tm_wday);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[5] = bin2bcd(dt->tm_mday);
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[6] = bin2bcd(dt->tm_mon + 1) |
+drivers/rtc/rtc-ds1390.c:	chip->txrx_buf[7] = bin2bcd(dt->tm_year % 100);
+drivers/rtc/rtc-ds1390.c:	return spi_write_then_read(spi, chip->txrx_buf, 8, NULL, 0);
+drivers/rtc/rtc-ds1390.c:	chip->rtc = devm_rtc_device_register(&spi->dev, "ds1390",
+drivers/rtc/rtc-ds1390.c:	if (IS_ERR(chip->rtc)) {
+drivers/rtc/rtc-ds1390.c:		res = PTR_ERR(chip->rtc);
+drivers/rtc/rtc-ds2404.c:	chip->gpio = ds2404_gpio;
+drivers/rtc/rtc-ds2404.c:	chip->rtc = devm_rtc_allocate_device(&pdev->dev);
+drivers/rtc/rtc-ds2404.c:	if (IS_ERR(chip->rtc))
+drivers/rtc/rtc-ds2404.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-ds2404.c:		 chip->gpio[DS2404_RST].gpio, chip->gpio[DS2404_CLK].gpio,
+drivers/rtc/rtc-ds2404.c:		 chip->gpio[DS2404_DQ].gpio);
+drivers/rtc/rtc-ds2404.c:	chip->rtc->ops = &ds2404_rtc_ops;
+drivers/rtc/rtc-ds2404.c:	chip->rtc->range_max = U32_MAX;
+drivers/rtc/rtc-ds2404.c:	retval = rtc_register_device(chip->rtc);
+drivers/rtc/rtc-max8925.c:	info->rtc = chip->rtc;
+drivers/rtc/rtc-max8925.c:		dev_err(chip->dev, "Failed to request IRQ: #%d: %d\n",
+drivers/rtc/rtc-max8925.c:		chip->wakeup_flag |= 1 << MAX8925_IRQ_RTC_ALARM0;
+drivers/rtc/rtc-max8925.c:		chip->wakeup_flag &= ~(1 << MAX8925_IRQ_RTC_ALARM0);
+drivers/rtc/rtc-mt6397.c:	rtc->regmap = mt6397_chip->regmap;
+drivers/rtc/rtc-sun6i.c:	spin_lock(&chip->lock);
+drivers/rtc/rtc-sun6i.c:	val = readl(chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:		writel(val, chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:		rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
+drivers/rtc/rtc-sun6i.c:	spin_unlock(&chip->lock);
+drivers/rtc/rtc-sun6i.c:		       chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:	writel(alrm_val, chip->base + SUN6I_ALRM_EN);
+drivers/rtc/rtc-sun6i.c:	writel(alrm_irq_val, chip->base + SUN6I_ALRM_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	writel(alrm_wake_val, chip->base + SUN6I_ALARM_CONFIG);
+drivers/rtc/rtc-sun6i.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:		date = readl(chip->base + SUN6I_RTC_YMD);
+drivers/rtc/rtc-sun6i.c:		time = readl(chip->base + SUN6I_RTC_HMS);
+drivers/rtc/rtc-sun6i.c:	} while ((date != readl(chip->base + SUN6I_RTC_YMD)) ||
+drivers/rtc/rtc-sun6i.c:		 (time != readl(chip->base + SUN6I_RTC_HMS)));
+drivers/rtc/rtc-sun6i.c:	spin_lock_irqsave(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:	alrm_en = readl(chip->base + SUN6I_ALRM_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	alrm_st = readl(chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	spin_unlock_irqrestore(&chip->lock, flags);
+drivers/rtc/rtc-sun6i.c:	rtc_time_to_tm(chip->alarm, &wkalrm->time);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_COUNTER);
+drivers/rtc/rtc-sun6i.c:	writel(time_gap, chip->base + SUN6I_ALRM_COUNTER);
+drivers/rtc/rtc-sun6i.c:	chip->alarm = time_set;
+drivers/rtc/rtc-sun6i.c:		reg = readl(chip->base + offset);
+drivers/rtc/rtc-sun6i.c:	writel(time, chip->base + SUN6I_RTC_HMS);
+drivers/rtc/rtc-sun6i.c:	writel(date, chip->base + SUN6I_RTC_YMD);
+drivers/rtc/rtc-sun6i.c:		enable_irq_wake(chip->irq);
+drivers/rtc/rtc-sun6i.c:		disable_irq_wake(chip->irq);
+drivers/rtc/rtc-sun6i.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/rtc/rtc-sun6i.c:	if (chip->irq < 0)
+drivers/rtc/rtc-sun6i.c:		return chip->irq;
+drivers/rtc/rtc-sun6i.c:	ret = devm_request_irq(&pdev->dev, chip->irq, sun6i_rtc_alarmirq,
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_COUNTER);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_EN);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM1_EN);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALRM1_IRQ_EN);
+drivers/rtc/rtc-sun6i.c:	       chip->base + SUN6I_ALRM_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	       chip->base + SUN6I_ALRM1_IRQ_STA);
+drivers/rtc/rtc-sun6i.c:	writel(0, chip->base + SUN6I_ALARM_CONFIG);
+drivers/rtc/rtc-sun6i.c:	clk_prepare_enable(chip->losc);
+drivers/rtc/rtc-sun6i.c:	chip->rtc = devm_rtc_device_register(&pdev->dev, "rtc-sun6i",
+drivers/rtc/rtc-sun6i.c:	if (IS_ERR(chip->rtc)) {
+drivers/rtc/rtc-sun6i.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-sunxi.c:	val = readl(chip->base + SUNXI_ALRM_IRQ_STA);
+drivers/rtc/rtc-sunxi.c:		writel(val, chip->base + SUNXI_ALRM_IRQ_STA);
+drivers/rtc/rtc-sunxi.c:		rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
+drivers/rtc/rtc-sunxi.c:		alrm_val = readl(chip->base + SUNXI_ALRM_EN);
+drivers/rtc/rtc-sunxi.c:		alrm_irq_val = readl(chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:				chip->base + SUNXI_ALRM_IRQ_STA);
+drivers/rtc/rtc-sunxi.c:	writel(alrm_val, chip->base + SUNXI_ALRM_EN);
+drivers/rtc/rtc-sunxi.c:	writel(alrm_irq_val, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:	alrm = readl(chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	date = readl(chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:			chip->data_year->mask);
+drivers/rtc/rtc-sunxi.c:	alrm_tm->tm_year += SUNXI_YEAR_OFF(chip->data_year);
+drivers/rtc/rtc-sunxi.c:	alrm_en = readl(chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:		date = readl(chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:		time = readl(chip->base + SUNXI_RTC_HMS);
+drivers/rtc/rtc-sunxi.c:	} while ((date != readl(chip->base + SUNXI_RTC_YMD)) ||
+drivers/rtc/rtc-sunxi.c:		 (time != readl(chip->base + SUNXI_RTC_HMS)));
+drivers/rtc/rtc-sunxi.c:					chip->data_year->mask);
+drivers/rtc/rtc-sunxi.c:	rtc_tm->tm_year += SUNXI_YEAR_OFF(chip->data_year);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	writel(alrm, chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:	writel(SUNXI_ALRM_IRQ_EN_CNT_IRQ_EN, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:		reg = readl(chip->base + offset);
+drivers/rtc/rtc-sunxi.c:	if (year < chip->data_year->min || year > chip->data_year->max) {
+drivers/rtc/rtc-sunxi.c:			chip->data_year->min, chip->data_year->max);
+drivers/rtc/rtc-sunxi.c:	rtc_tm->tm_year -= SUNXI_YEAR_OFF(chip->data_year);
+drivers/rtc/rtc-sunxi.c:				chip->data_year->mask);
+drivers/rtc/rtc-sunxi.c:		date |= SUNXI_LEAP_SET_VALUE(1, chip->data_year->leap_shift);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_RTC_HMS);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:	writel(time, chip->base + SUNXI_RTC_HMS);
+drivers/rtc/rtc-sunxi.c:	writel(date, chip->base + SUNXI_RTC_YMD);
+drivers/rtc/rtc-sunxi.c:	chip->dev = &pdev->dev;
+drivers/rtc/rtc-sunxi.c:	chip->rtc = devm_rtc_allocate_device(&pdev->dev);
+drivers/rtc/rtc-sunxi.c:	if (IS_ERR(chip->rtc))
+drivers/rtc/rtc-sunxi.c:		return PTR_ERR(chip->rtc);
+drivers/rtc/rtc-sunxi.c:	chip->base = devm_platform_ioremap_resource(pdev, 0);
+drivers/rtc/rtc-sunxi.c:	if (IS_ERR(chip->base))
+drivers/rtc/rtc-sunxi.c:		return PTR_ERR(chip->base);
+drivers/rtc/rtc-sunxi.c:	chip->irq = platform_get_irq(pdev, 0);
+drivers/rtc/rtc-sunxi.c:	if (chip->irq < 0)
+drivers/rtc/rtc-sunxi.c:		return chip->irq;
+drivers/rtc/rtc-sunxi.c:	ret = devm_request_irq(&pdev->dev, chip->irq, sunxi_rtc_alarmirq,
+drivers/rtc/rtc-sunxi.c:	chip->data_year = of_device_get_match_data(&pdev->dev);
+drivers/rtc/rtc-sunxi.c:	if (!chip->data_year) {
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_DHMS);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_EN);
+drivers/rtc/rtc-sunxi.c:	writel(0, chip->base + SUNXI_ALRM_IRQ_EN);
+drivers/rtc/rtc-sunxi.c:	writel(SUNXI_ALRM_IRQ_STA_CNT_IRQ_PEND, chip->base +
+drivers/rtc/rtc-sunxi.c:	chip->rtc->ops = &sunxi_rtc_ops;
+drivers/rtc/rtc-sunxi.c:	return rtc_register_device(chip->rtc);
+drivers/rtc/rtc-v3020.c:	chip->leftshift = pdata->leftshift;
+drivers/rtc/rtc-v3020.c:	chip->ioaddress = ioremap(pdev->resource[0].start, 1);
+drivers/rtc/rtc-v3020.c:	if (chip->ioaddress == NULL)
+drivers/rtc/rtc-v3020.c:	iounmap(chip->ioaddress);
+drivers/rtc/rtc-v3020.c:	writel(bit << chip->leftshift, chip->ioaddress);
+drivers/rtc/rtc-v3020.c:	return !!(readl(chip->ioaddress) & (1 << chip->leftshift));
+drivers/rtc/rtc-v3020.c:		chip->gpio = v3020_gpio;
+drivers/rtc/rtc-v3020.c:	gpio_direction_output(chip->gpio[V3020_IO].gpio, bit);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 0);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_WR].gpio, 0);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_WR].gpio, 1);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 1);
+drivers/rtc/rtc-v3020.c:	gpio_direction_input(chip->gpio[V3020_IO].gpio);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 0);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_RD].gpio, 0);
+drivers/rtc/rtc-v3020.c:	bit = !!gpio_get_value(chip->gpio[V3020_IO].gpio);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_RD].gpio, 1);
+drivers/rtc/rtc-v3020.c:	gpio_set_value(chip->gpio[V3020_CS].gpio, 1);
+drivers/rtc/rtc-v3020.c:		chip->ops->write_bit(chip, (tmp & 1));
+drivers/rtc/rtc-v3020.c:			chip->ops->write_bit(chip, (data & 1));
+drivers/rtc/rtc-v3020.c:		chip->ops->write_bit(chip, (address & 1));
+drivers/rtc/rtc-v3020.c:		if (chip->ops->read_bit(chip))
+drivers/rtc/rtc-v3020.c:		chip->ops = &v3020_gpio_ops;
+drivers/rtc/rtc-v3020.c:		chip->ops = &v3020_mmio_ops;
+drivers/rtc/rtc-v3020.c:	retval = chip->ops->map_io(chip, pdev, pdata);
+drivers/rtc/rtc-v3020.c:		chip->ops->read_bit(chip);
+drivers/rtc/rtc-v3020.c:			 chip->gpio[V3020_CS].gpio, chip->gpio[V3020_WR].gpio,
+drivers/rtc/rtc-v3020.c:			 chip->gpio[V3020_RD].gpio, chip->gpio[V3020_IO].gpio);
+drivers/rtc/rtc-v3020.c:			 chip->leftshift);
+drivers/rtc/rtc-v3020.c:	chip->rtc = devm_rtc_device_register(&pdev->dev, "v3020",
+drivers/rtc/rtc-v3020.c:	if (IS_ERR(chip->rtc)) {
+drivers/rtc/rtc-v3020.c:		retval = PTR_ERR(chip->rtc);
+drivers/rtc/rtc-v3020.c:	chip->ops->unmap_io(chip);
+drivers/rtc/rtc-v3020.c:	chip->ops->unmap_io(chip);
+drivers/scsi/bfa/bfa_core.c: * Actions on chip-reset completion.
+drivers/scsi/bfa/bfa_hw_ct.c: * Dummy interrupt handler for handling spurious interrupt during chip-reinit.
+drivers/scsi/esp_scsi.h:/* ESP chip-test register read-write */
+drivers/scsi/ipr.c:	if (ioa_cfg->ipr_chip->bist_method == IPR_MMIO)
+drivers/scsi/ipr.c:	ioa_cfg->sis64 = ioa_cfg->ipr_chip->sis_type == IPR_SIS64 ? 1 : 0;
+drivers/scsi/ipr.c:	ioa_cfg->chip_cfg = ioa_cfg->ipr_chip->cfg;
+drivers/scsi/ipr.c:	if (ioa_cfg->ipr_chip->has_msi)
+drivers/scsi/lpfc/lpfc_sli4.h:				   * For chip->host queues (EQ, CQ, RQ):
+drivers/scsi/lpfc/lpfc_sli4.h:				  * For chip->host queues (EQ, CQ):
+drivers/scsi/mesh.c:	switch (mdev->bus->chip->type) {
+drivers/scsi/mpt3sas/mpt3sas_base.c:	doorbell = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(0xC0FFEE00, &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	him_register = ioc->base_readl(&ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(him_register, &ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	ioc->base_readl(&ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	him_register = ioc->base_readl(&ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(him_register, &ioc->chip->HostInterruptMask);
+drivers/scsi/mpt3sas/mpt3sas_base.c:				    &ioc->chip->ReplyFreeHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:						&ioc->chip->ReplyPostHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			&ioc->chip->ReplyPostHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			     ((u8 __force *)&ioc->chip->Doorbell +
+drivers/scsi/mpt3sas/mpt3sas_base.c:		    &ioc->chip->ReplyPostHostIndex;
+drivers/scsi/mpt3sas/mpt3sas_base.c:			((u8 __iomem *)&ioc->chip->Doorbell + (0x4000 + ((i - 1)
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_mpi_ep_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:				&ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:		_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:				&ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:		_base_writeq(*request, &ioc->chip->RequestDescriptorPostLow,
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	s = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		int_status = ioc->base_readl(&ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		int_status = ioc->base_readl(&ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		int_status = ioc->base_readl(&ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			doorbell = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		doorbell_reg = ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	    &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	if ((ioc->base_readl(&ioc->chip->Doorbell) & MPI2_DOORBELL_USED)) {
+drivers/scsi/mpt3sas/mpt3sas_base.c:	if (ioc->base_readl(&ioc->chip->HostInterruptStatus) &
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	    &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(cpu_to_le32(request[i]), &ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	reply[0] = le16_to_cpu(ioc->base_readl(&ioc->chip->Doorbell)
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	reply[1] = le16_to_cpu(ioc->base_readl(&ioc->chip->Doorbell)
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			ioc->base_readl(&ioc->chip->Doorbell);
+drivers/scsi/mpt3sas/mpt3sas_base.c:			    ioc->base_readl(&ioc->chip->Doorbell)
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(0, &ioc->chip->HostInterruptStatus);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_FLUSH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_1ST_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_2ND_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_3RD_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_4TH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_5TH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(MPI2_WRSEQ_6TH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		host_diagnostic = ioc->base_readl(&ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	hcb_size = ioc->base_readl(&ioc->chip->HCBSize);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	     &ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		host_diagnostic = ioc->base_readl(&ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		writel(host_diagnostic, &ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:		    &ioc->chip->HCBSize);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	    &ioc->chip->HostDiagnostic);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(MPI2_WRSEQ_FLUSH_KEY_VALUE, &ioc->chip->WriteSequence);
+drivers/scsi/mpt3sas/mpt3sas_base.c:	writel(ioc->reply_free_host_index, &ioc->chip->ReplyFreeHostIndex);
+drivers/scsi/mpt3sas/mpt3sas_base.c:				&ioc->chip->ReplyPostHostIndex);
+drivers/scsi/mvsas/mv_64xx.c:	if (mvi->chip->n_phy <= MVS_SOC_PORTS)
+drivers/scsi/mvsas/mv_64xx.c:		for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_64xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_64xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_64xx.c:	for (i = 0; i < mvi->chip->srs_sz; i++) {
+drivers/scsi/mvsas/mv_94xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_94xx.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_94xx.c:			port_id + mvi->id * mvi->chip->n_phy, i, id_frame[i]);
+drivers/scsi/mvsas/mv_chips.h:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_init.c:	sas_phy->enabled = (phy_id < mvi->chip->n_phy) ? 1 : 0;
+drivers/scsi/mvsas/mv_init.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_init.c:	((struct mvs_prv_info *)sha->lldd_ha)->n_phy = mvi->chip->n_phy;
+drivers/scsi/mvsas/mv_init.c:	for (i = 0; i < mvi->chip->n_phy; i++) {
+drivers/scsi/mvsas/mv_init.c:	} while (nhost < chip->n_host);
+drivers/scsi/mvsas/mv_sas.c:				phyno[n] = (j >= mvi->chip->n_phy) ?
+drivers/scsi/mvsas/mv_sas.c:					(j - mvi->chip->n_phy) : j;
+drivers/scsi/mvsas/mv_sas.c:	mv_dprintk("phy %d byte dmaded.\n", i + mvi->id * mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:		for (i = 0; i < mvi->chip->n_phy; ++i)
+drivers/scsi/mvsas/mv_sas.c:					i + mvi->id * mvi->chip->n_phy;
+drivers/scsi/mvsas/mv_sas.c:		i + mvi->id * mvi->chip->n_phy, phy->att_dev_info);
+drivers/scsi/mvsas/mv_sas.c:		i + mvi->id * mvi->chip->n_phy, phy->att_dev_sas_addr);
+drivers/scsi/mvsas/mv_sas.c:	if (i >= mvi->chip->n_phy)
+drivers/scsi/mvsas/mv_sas.c:		port = &mvi->port[i - mvi->chip->n_phy];
+drivers/scsi/mvsas/mv_sas.c:	for (phy_no = 0; phy_no < mvi->chip->n_phy; phy_no++) {
+drivers/scsi/mvsas/mv_sas.c:				phy_no+mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:	mv_dprintk("phy %d ctrl sts=0x%08X.\n", phy_no+mvi->id*mvi->chip->n_phy,
+drivers/scsi/mvsas/mv_sas.c:	mv_dprintk("phy %d irq sts = 0x%08X\n", phy_no+mvi->id*mvi->chip->n_phy,
+drivers/scsi/mvsas/mv_sas.c:		phy_no + mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:				phy_no + mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.c:			phy_no + mvi->id*mvi->chip->n_phy);
+drivers/scsi/mvsas/mv_sas.h:	((void *) mvi->rx_fis + mvi->chip->fis_offs + 0x100 * reg_set)
+drivers/scsi/mvsas/mv_sas.h:#define MVS_MAX_SG		(1U << mvi->chip->sg_width)
+drivers/scsi/mvsas/mv_sas.h:#define MVS_CHIP_SLOT_SZ	(1U << mvi->chip->slot_width)
+drivers/scsi/mvsas/mv_sas.h:	(mvi->chip->fis_offs + (mvi->chip->fis_count * 0x100))
+drivers/scsi/mvsas/mv_sas.h:#define MVS_CHIP_DISP		(mvi->chip->dispatch)
+drivers/scsi/pm8001/pm8001_init.c:	sas_phy->enabled = (phy_id < pm8001_ha->chip->n_phy) ? 1 : 0;
+drivers/scsi/pm8001/pm8001_init.c:				pm8001_ha->chip->n_phy));
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_init.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm8001_sas.c:	for (i = 0; i < pm8001_ha->chip->n_phy; ++i)
+drivers/scsi/pm8001/pm8001_sas.h:#define PM8001_CHIP_DISP	(pm8001_ha->chip->dispatch)
+drivers/scsi/pm8001/pm80xx_hwi.c:	if (pm8001_ha->chip->encrypt) {
+drivers/scsi/pm8001/pm80xx_hwi.c:		for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pm8001/pm80xx_hwi.c:	if (pm8001_ha->chip->encrypt &&
+drivers/scsi/pm8001/pm80xx_hwi.c:	if (pm8001_ha->chip->encrypt &&
+drivers/scsi/pm8001/pm80xx_hwi.c:	for (i = 0; i < pm8001_ha->chip->n_phy; i++) {
+drivers/scsi/pmcraid.c:	/* Initialize chip-specific details */
+drivers/scsi/qla2xxx/qla_os.c:						 * Escalate to chip-reset
+drivers/scsi/sym53c8xx_2/sym_fw.c:	if (chip->features & FE_LDSTR)
+drivers/scsi/sym53c8xx_2/sym_fw.c:	else if (!(chip->features & (FE_PFEN|FE_NOPM|FE_DAC)))
+drivers/scsi/sym53c8xx_2/sym_glue.c:		chip->features	|= (FE_WRIE | FE_CLSE);
+drivers/scsi/sym53c8xx_2/sym_glue.c:	if (chip->features & FE_WRIE) {
+drivers/scsi/sym53c8xx_2/sym_glue.c:	if (chip->features & FE_66MHZ) {
+drivers/scsi/sym53c8xx_2/sym_glue.c:			chip->features &= ~FE_66MHZ;
+drivers/scsi/sym53c8xx_2/sym_glue.c:	if (!(chip->features & FE_66MHZ) && (status_reg & PCI_STATUS_66MHZ)) {
+drivers/scsi/sym53c8xx_2/sym_hipd.c:		if (device_id != chip->device_id)
+drivers/scsi/sym53c8xx_2/sym_hipd.c:		if (revision > chip->revision_id)
+drivers/scsi/sym53c8xx_2/sym_hipd.c:	 *  regardless revision id (kind of post-chip-design feature. ;-))
+drivers/sh/intc/core.c:				chip->irq_enable(data);
+drivers/sh/intc/core.c:				chip->irq_disable(data);
+drivers/sh/intc/core.c:				chip->irq_enable(data);
+drivers/sh/intc/virq.c:	chip->irq_mask_ack(data);
+drivers/sh/intc/virq.c:	chip->irq_unmask(data);
+drivers/soc/amlogic/meson-gx-socinfo.c:	/* check if chip-id is available */
+drivers/soc/amlogic/meson-gx-socinfo.c:	if (!of_property_read_bool(np, "amlogic,has-chip-id")) {
+drivers/soc/rockchip/pm_domains.c:		.name   = "rockchip-pm-domain",
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_request_resources = irq_chip_request_resources_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_release_resources = irq_chip_release_resources_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_compose_msi_msg = ti_sci_inta_msi_compose_msi_msg;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_write_msi_msg = ti_sci_inta_msi_write_msg;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_set_type = irq_chip_set_type_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_unmask = irq_chip_unmask_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_mask = irq_chip_mask_parent;
+drivers/soc/ti/ti_sci_inta_msi.c:	chip->irq_ack = irq_chip_ack_parent;
+drivers/spi/atmel-quadspi.c:		/* Release the chip-select */
+drivers/spi/spi-armada-3700.c:	/* Disable AUTO_CS and deactivate all chip-selects */
+drivers/spi/spi-bcm2835.c:	return !strcmp(chip->label, data);
+drivers/spi/spi-bcm2835.c:			"setup: only two native chip-selects are supported\n");
+drivers/spi/spi-bcm2835aux.c:	 * * multiple chip-selects: cs0-cs2 are all
+drivers/spi/spi-bcm2835aux.c:	 * * multiple chip-selects: cs0-cs2 are all simultaniously asserted
+drivers/spi/spi-dw.c:	if (chip && chip->cs_control)
+drivers/spi/spi-dw.c:		chip->cs_control(!enable);
+drivers/spi/spi-dw.c:		if (transfer->speed_hz != chip->speed_hz) {
+drivers/spi/spi-dw.c:			chip->clk_div = (DIV_ROUND_UP(dws->max_freq, transfer->speed_hz) + 1) & 0xfffe;
+drivers/spi/spi-dw.c:			chip->speed_hz = transfer->speed_hz;
+drivers/spi/spi-dw.c:		spi_set_clk(dws, chip->clk_div);
+drivers/spi/spi-dw.c:		| (chip->type << SPI_FRF_OFFSET)
+drivers/spi/spi-dw.c:		| (chip->tmode << SPI_TMOD_OFFSET);
+drivers/spi/spi-dw.c:	if (chip->cs_control) {
+drivers/spi/spi-dw.c:			chip->tmode = SPI_TMOD_TR;
+drivers/spi/spi-dw.c:			chip->tmode = SPI_TMOD_RO;
+drivers/spi/spi-dw.c:			chip->tmode = SPI_TMOD_TO;
+drivers/spi/spi-dw.c:		cr0 |= (chip->tmode << SPI_TMOD_OFFSET);
+drivers/spi/spi-dw.c:	} else if (!chip->poll_mode) {
+drivers/spi/spi-dw.c:	if (chip->poll_mode)
+drivers/spi/spi-dw.c:			chip->cs_control = chip_info->cs_control;
+drivers/spi/spi-dw.c:		chip->poll_mode = chip_info->poll_mode;
+drivers/spi/spi-dw.c:		chip->type = chip_info->type;
+drivers/spi/spi-dw.c:	chip->tmode = SPI_TMOD_TR;
+drivers/spi/spi-fsl-dspi.c:		if (dspi->cur_chip->ctar_val & SPI_CTAR_LSBFE) {
+drivers/spi/spi-fsl-dspi.c:		dspi->void_write_data = dspi->cur_chip->void_write_data;
+drivers/spi/spi-fsl-dspi.c:			     dspi->cur_chip->ctar_val |
+drivers/spi/spi-fsl-dspi.c:	chip->void_write_data = 0;
+drivers/spi/spi-fsl-dspi.c:	chip->ctar_val = 0;
+drivers/spi/spi-fsl-dspi.c:		chip->ctar_val |= SPI_CTAR_CPOL;
+drivers/spi/spi-fsl-dspi.c:		chip->ctar_val |= SPI_CTAR_CPHA;
+drivers/spi/spi-fsl-dspi.c:		chip->ctar_val |= SPI_CTAR_PCSSCK(pcssck) |
+drivers/spi/spi-fsl-dspi.c:			chip->ctar_val |= SPI_CTAR_LSBFE;
+drivers/spi/spi-mxs.c:	 * toggle the chip-select lines (nCS pins).
+drivers/spi/spi-npcm-fiu.c:	void __iomem *src = (void __iomem *)(chip->flash_region_mapped_ptr +
+drivers/spi/spi-npcm-fiu.c:	void __iomem *dst = (void __iomem *)(chip->flash_region_mapped_ptr +
+drivers/spi/spi-npcm-fiu.c:	if (fiu->clkrate != chip->clkrate) {
+drivers/spi/spi-npcm-fiu.c:		ret = clk_set_rate(fiu->clk, chip->clkrate);
+drivers/spi/spi-npcm-fiu.c:				 chip->clkrate, fiu->clkrate);
+drivers/spi/spi-npcm-fiu.c:			fiu->clkrate = chip->clkrate;
+drivers/spi/spi-npcm-fiu.c:	if (!chip->flash_region_mapped_ptr) {
+drivers/spi/spi-npcm-fiu.c:		chip->flash_region_mapped_ptr =
+drivers/spi/spi-npcm-fiu.c:		if (!chip->flash_region_mapped_ptr) {
+drivers/spi/spi-npcm-fiu.c:	chip->fiu = fiu;
+drivers/spi/spi-npcm-fiu.c:	chip->chipselect = spi->chip_select;
+drivers/spi/spi-npcm-fiu.c:	chip->clkrate = spi->max_speed_hz;
+drivers/spi/spi-nxp-fspi.c: * chip-select Flash configuration register.
+drivers/spi/spi-orion.c:		/* Get chip-select number from the "reg" property */
+drivers/spi/spi-pic32-sqi.c:	 * can be handled at best during spi chip-select switch.
+drivers/spi/spi-pic32.c:	master->num_chipselect	= 1; /* single chip-select */
+drivers/spi/spi-pl022.c:		pl022->cur_chip->cs_control(command);
+drivers/spi/spi-pl022.c:		writel(chip->cr0, SSP_CR0(pl022->virtbase));
+drivers/spi/spi-pl022.c:		writew(chip->cr0, SSP_CR0(pl022->virtbase));
+drivers/spi/spi-pl022.c:	writew(chip->cr1, SSP_CR1(pl022->virtbase));
+drivers/spi/spi-pl022.c:	writew(chip->dmacr, SSP_DMACR(pl022->virtbase));
+drivers/spi/spi-pl022.c:	writew(chip->cpsr, SSP_CPSR(pl022->virtbase));
+drivers/spi/spi-pl022.c:		pl022->rx += (pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:		pl022->tx += (pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:			pl022->rx += (pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:	residue = pl022->cur_transfer->len % pl022->cur_chip->n_bytes;
+drivers/spi/spi-pl022.c:			pl022->cur_chip->n_bytes);
+drivers/spi/spi-pl022.c:	    pl022->tx ? pl022->cur_chip->write : WRITING_NULL;
+drivers/spi/spi-pl022.c:	pl022->read = pl022->rx ? pl022->cur_chip->read : READING_NULL;
+drivers/spi/spi-pl022.c:	if (pl022->cur_chip->enable_dma) {
+drivers/spi/spi-pl022.c:	if (pl022->cur_chip->enable_dma) {
+drivers/spi/spi-pl022.c:	if (pl022->cur_chip->xfer_type == POLLING_TRANSFER)
+drivers/spi/spi-pl022.c:	chip->xfer_type = chip_info->com_mode;
+drivers/spi/spi-pl022.c:		chip->cs_control = null_cs_control;
+drivers/spi/spi-pl022.c:		chip->cs_control = chip_info->cs_control;
+drivers/spi/spi-pl022.c:		chip->n_bytes = 1;
+drivers/spi/spi-pl022.c:		chip->read = READING_U8;
+drivers/spi/spi-pl022.c:		chip->write = WRITING_U8;
+drivers/spi/spi-pl022.c:		chip->n_bytes = 2;
+drivers/spi/spi-pl022.c:		chip->read = READING_U16;
+drivers/spi/spi-pl022.c:		chip->write = WRITING_U16;
+drivers/spi/spi-pl022.c:		chip->n_bytes = 4;
+drivers/spi/spi-pl022.c:		chip->read = READING_U32;
+drivers/spi/spi-pl022.c:		chip->write = WRITING_U32;
+drivers/spi/spi-pl022.c:	chip->cr0 = 0;
+drivers/spi/spi-pl022.c:	chip->cr1 = 0;
+drivers/spi/spi-pl022.c:	chip->dmacr = 0;
+drivers/spi/spi-pl022.c:	chip->cpsr = 0;
+drivers/spi/spi-pl022.c:		chip->enable_dma = true;
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_ENABLED,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_ENABLED,
+drivers/spi/spi-pl022.c:		chip->enable_dma = false;
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_DISABLED,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->dmacr, SSP_DMA_DISABLED,
+drivers/spi/spi-pl022.c:	chip->cpsr = clk_freq.cpsdvsr;
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr1, chip_info->clkdelay,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr0, chip_info->duplex,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr0, chip_info->ctrl_len,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr0, chip_info->iface,
+drivers/spi/spi-pl022.c:			SSP_WRITE_BITS(chip->cr1, chip_info->wait_state,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr0, bits - 1,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, tmp, SSP_CR1_MASK_RENDN_ST, 4);
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, etx, SSP_CR1_MASK_TENDN_ST, 5);
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, chip_info->rx_lev_trig,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, chip_info->tx_lev_trig,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr0, bits - 1,
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr0, chip_info->iface,
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr0, tmp, SSP_CR0_MASK_SPO, 6);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr0, tmp, SSP_CR0_MASK_SPH, 7);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr0, clk_freq.scr, SSP_CR0_MASK_SCR, 8);
+drivers/spi/spi-pl022.c:		SSP_WRITE_BITS(chip->cr1, tmp, SSP_CR1_MASK_LBM, 0);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr1, SSP_DISABLED, SSP_CR1_MASK_SSE, 1);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr1, chip_info->hierarchy, SSP_CR1_MASK_MS, 2);
+drivers/spi/spi-pl022.c:	SSP_WRITE_BITS(chip->cr1, chip_info->slave_tx_disable, SSP_CR1_MASK_SOD,
+drivers/spi/spi-ppc4xx.c:	 * A count of zero implies a single SPI device without any chip-select.
+drivers/spi/spi-pxa2xx-dma.c:		cfg.dst_maxburst = chip->dma_burst_size;
+drivers/spi/spi-pxa2xx-dma.c:		cfg.src_maxburst = chip->dma_burst_size;
+drivers/spi/spi-pxa2xx.c:		pxa2xx_spi_write(drv_data, SSSR, chip->frm);
+drivers/spi/spi-pxa2xx.c:	if (chip->cs_control) {
+drivers/spi/spi-pxa2xx.c:		chip->cs_control(PXA2XX_CS_ASSERT);
+drivers/spi/spi-pxa2xx.c:	if (chip->gpiod_cs) {
+drivers/spi/spi-pxa2xx.c:		gpiod_set_value(chip->gpiod_cs, chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:	if (chip->cs_control) {
+drivers/spi/spi-pxa2xx.c:		chip->cs_control(PXA2XX_CS_DEASSERT);
+drivers/spi/spi-pxa2xx.c:	if (chip->gpiod_cs) {
+drivers/spi/spi-pxa2xx.c:		gpiod_set_value(chip->gpiod_cs, !chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:	sccr1_reg |= chip->threshold;
+drivers/spi/spi-pxa2xx.c:		clk_div = quark_x1000_get_clk_div(rate, &chip->dds_rate);
+drivers/spi/spi-pxa2xx.c:	return chip->enable_dma &&
+drivers/spi/spi-pxa2xx.c:	       xfer->len >= chip->dma_burst_size;
+drivers/spi/spi-pxa2xx.c:	u32 dma_thresh = chip->dma_threshold;
+drivers/spi/spi-pxa2xx.c:	u32 dma_burst = chip->dma_burst_size;
+drivers/spi/spi-pxa2xx.c:	if (transfer->len > MAX_DMA_LEN && chip->enable_dma) {
+drivers/spi/spi-pxa2xx.c:	drv_data->n_bytes = chip->n_bytes;
+drivers/spi/spi-pxa2xx.c:	drv_data->write = drv_data->tx ? chip->write : null_writer;
+drivers/spi/spi-pxa2xx.c:	drv_data->read = drv_data->rx ? chip->read : null_reader;
+drivers/spi/spi-pxa2xx.c:	if (chip->enable_dma) {
+drivers/spi/spi-pxa2xx.c:		cr1 = chip->cr1 | dma_thresh | drv_data->dma_cr1;
+drivers/spi/spi-pxa2xx.c:		cr1 = chip->cr1 | chip->threshold | drv_data->int_cr1;
+drivers/spi/spi-pxa2xx.c:		    != chip->lpss_rx_threshold)
+drivers/spi/spi-pxa2xx.c:					 chip->lpss_rx_threshold);
+drivers/spi/spi-pxa2xx.c:		    != chip->lpss_tx_threshold)
+drivers/spi/spi-pxa2xx.c:					 chip->lpss_tx_threshold);
+drivers/spi/spi-pxa2xx.c:	    (pxa2xx_spi_read(drv_data, DDS_RATE) != chip->dds_rate))
+drivers/spi/spi-pxa2xx.c:		pxa2xx_spi_write(drv_data, DDS_RATE, chip->dds_rate);
+drivers/spi/spi-pxa2xx.c:			pxa2xx_spi_write(drv_data, SSTO, chip->timeout);
+drivers/spi/spi-pxa2xx.c:			pxa2xx_spi_write(drv_data, SSTO, chip->timeout);
+drivers/spi/spi-pxa2xx.c:			chip->gpiod_cs = gpiod;
+drivers/spi/spi-pxa2xx.c:			chip->gpio_cs_inverted = spi->mode & SPI_CS_HIGH;
+drivers/spi/spi-pxa2xx.c:			gpiod_set_value(gpiod, chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:	if (chip->gpiod_cs) {
+drivers/spi/spi-pxa2xx.c:		gpiod_put(chip->gpiod_cs);
+drivers/spi/spi-pxa2xx.c:		chip->gpiod_cs = NULL;
+drivers/spi/spi-pxa2xx.c:		chip->cs_control = chip_info->cs_control;
+drivers/spi/spi-pxa2xx.c:		chip->gpiod_cs = gpiod;
+drivers/spi/spi-pxa2xx.c:		chip->gpio_cs_inverted = spi->mode & SPI_CS_HIGH;
+drivers/spi/spi-pxa2xx.c:		err = gpiod_direction_output(gpiod, !chip->gpio_cs_inverted);
+drivers/spi/spi-pxa2xx.c:			chip->frm = spi->chip_select;
+drivers/spi/spi-pxa2xx.c:		chip->enable_dma = drv_data->controller_info->enable_dma;
+drivers/spi/spi-pxa2xx.c:		chip->timeout = TIMOUT_DFLT;
+drivers/spi/spi-pxa2xx.c:	chip->cr1 = 0;
+drivers/spi/spi-pxa2xx.c:			chip->timeout = chip_info->timeout;
+drivers/spi/spi-pxa2xx.c:		chip->dma_threshold = 0;
+drivers/spi/spi-pxa2xx.c:			chip->cr1 = SSCR1_LBM;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SCFR;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SCLKDIR;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SFRMDIR;
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_SPH;
+drivers/spi/spi-pxa2xx.c:	chip->lpss_rx_threshold = SSIRF_RxThresh(rx_thres);
+drivers/spi/spi-pxa2xx.c:	chip->lpss_tx_threshold = SSITF_TxLoThresh(tx_thres)
+drivers/spi/spi-pxa2xx.c:	 * chip_info goes away after setting chip->enable_dma, the
+drivers/spi/spi-pxa2xx.c:	if (chip->enable_dma) {
+drivers/spi/spi-pxa2xx.c:						&chip->dma_burst_size,
+drivers/spi/spi-pxa2xx.c:						&chip->dma_threshold)) {
+drivers/spi/spi-pxa2xx.c:			chip->dma_burst_size);
+drivers/spi/spi-pxa2xx.c:		chip->threshold = (QUARK_X1000_SSCR1_RxTresh(rx_thres)
+drivers/spi/spi-pxa2xx.c:		chip->threshold = (CE4100_SSCR1_RxTresh(rx_thres) & CE4100_SSCR1_RFT) |
+drivers/spi/spi-pxa2xx.c:		chip->threshold = (SSCR1_RxTresh(rx_thres) & SSCR1_RFT) |
+drivers/spi/spi-pxa2xx.c:	chip->cr1 &= ~(SSCR1_SPO | SSCR1_SPH);
+drivers/spi/spi-pxa2xx.c:	chip->cr1 |= (((spi->mode & SPI_CPHA) != 0) ? SSCR1_SPH : 0)
+drivers/spi/spi-pxa2xx.c:		chip->cr1 |= SSCR1_LBM;
+drivers/spi/spi-pxa2xx.c:		chip->n_bytes = 1;
+drivers/spi/spi-pxa2xx.c:		chip->read = u8_reader;
+drivers/spi/spi-pxa2xx.c:		chip->write = u8_writer;
+drivers/spi/spi-pxa2xx.c:		chip->n_bytes = 2;
+drivers/spi/spi-pxa2xx.c:		chip->read = u16_reader;
+drivers/spi/spi-pxa2xx.c:		chip->write = u16_writer;
+drivers/spi/spi-pxa2xx.c:		chip->n_bytes = 4;
+drivers/spi/spi-pxa2xx.c:		chip->read = u32_reader;
+drivers/spi/spi-pxa2xx.c:		chip->write = u32_writer;
+drivers/spi/spi-pxa2xx.c:	    chip->gpiod_cs)
+drivers/spi/spi-pxa2xx.c:		gpiod_put(chip->gpiod_cs);
+drivers/spi/spi-rockchip.c:#define DRIVER_NAME "rockchip-spi"
+drivers/spi/spi-topcliff-pch.c:	data->n_curnt_chip = data->current_chip->chip_select;
+drivers/spi/spi.c:	/* NOTE:  caller did any chip->bus_num checks necessary.
+drivers/spi/spi.c:	WARN_ON(strlen(chip->modalias) >= sizeof(proxy->modalias));
+drivers/spi/spi.c:	proxy->chip_select = chip->chip_select;
+drivers/spi/spi.c:	proxy->max_speed_hz = chip->max_speed_hz;
+drivers/spi/spi.c:	proxy->mode = chip->mode;
+drivers/spi/spi.c:	proxy->irq = chip->irq;
+drivers/spi/spi.c:	strlcpy(proxy->modalias, chip->modalias, sizeof(proxy->modalias));
+drivers/spi/spi.c:	proxy->dev.platform_data = (void *) chip->platform_data;
+drivers/spi/spi.c:	proxy->controller_data = chip->controller_data;
+drivers/spi/spi.c:	if (chip->properties) {
+drivers/spi/spi.c:		status = device_add_properties(&proxy->dev, chip->properties);
+drivers/spi/spi.c:				chip->modalias, status);
+drivers/spi/spi.c:	if (chip->properties)
+drivers/ssb/driver_gpio.c:	bus->irq_domain = irq_domain_add_linear(NULL, chip->ngpio,
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	chip->label		= "ssb_chipco_gpio";
+drivers/ssb/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/ssb/driver_gpio.c:	chip->request		= ssb_gpio_chipco_request;
+drivers/ssb/driver_gpio.c:	chip->free		= ssb_gpio_chipco_free;
+drivers/ssb/driver_gpio.c:	chip->get		= ssb_gpio_chipco_get_value;
+drivers/ssb/driver_gpio.c:	chip->set		= ssb_gpio_chipco_set_value;
+drivers/ssb/driver_gpio.c:	chip->direction_input	= ssb_gpio_chipco_direction_input;
+drivers/ssb/driver_gpio.c:	chip->direction_output	= ssb_gpio_chipco_direction_output;
+drivers/ssb/driver_gpio.c:	chip->to_irq		= ssb_gpio_to_irq;
+drivers/ssb/driver_gpio.c:	chip->ngpio		= 16;
+drivers/ssb/driver_gpio.c:		chip->base		= 0;
+drivers/ssb/driver_gpio.c:		chip->base		= -1;
+drivers/ssb/driver_gpio.c:	bus->irq_domain = irq_domain_add_linear(NULL, chip->ngpio,
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	for (gpio = 0; gpio < chip->ngpio; gpio++) {
+drivers/ssb/driver_gpio.c:	chip->label		= "ssb_extif_gpio";
+drivers/ssb/driver_gpio.c:	chip->owner		= THIS_MODULE;
+drivers/ssb/driver_gpio.c:	chip->get		= ssb_gpio_extif_get_value;
+drivers/ssb/driver_gpio.c:	chip->set		= ssb_gpio_extif_set_value;
+drivers/ssb/driver_gpio.c:	chip->direction_input	= ssb_gpio_extif_direction_input;
+drivers/ssb/driver_gpio.c:	chip->direction_output	= ssb_gpio_extif_direction_output;
+drivers/ssb/driver_gpio.c:	chip->to_irq		= ssb_gpio_to_irq;
+drivers/ssb/driver_gpio.c:	chip->ngpio		= 5;
+drivers/ssb/driver_gpio.c:		chip->base		= 0;
+drivers/ssb/driver_gpio.c:		chip->base		= -1;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->pagelock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:/* chip->spinlock is already locked */
+drivers/staging/comedi/drivers/pcmuio.c:	chip->enabled_mask = 0;
+drivers/staging/comedi/drivers/pcmuio.c:	chip->active = 0;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	if (!chip->active)
+drivers/staging/comedi/drivers/pcmuio.c:	if (!(triggered & chip->enabled_mask))
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:/* chip->spinlock is already locked */
+drivers/staging/comedi/drivers/pcmuio.c:	chip->enabled_mask = 0;
+drivers/staging/comedi/drivers/pcmuio.c:	chip->active = 1;
+drivers/staging/comedi/drivers/pcmuio.c:	chip->enabled_mask = bits;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	if (chip->active)
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	if (chip->active)
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	spin_lock_irqsave(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:	chip->active = 1;
+drivers/staging/comedi/drivers/pcmuio.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+drivers/staging/comedi/drivers/pcmuio.c:		spin_lock_init(&chip->pagelock);
+drivers/staging/comedi/drivers/pcmuio.c:		spin_lock_init(&chip->spinlock);
+drivers/staging/fieldbus/Documentation/devicetree/bindings/fieldbus/arcx,anybus-controller.txt:  - compatible : The following chip-specific string:
+drivers/staging/greybus/pwm.c:		dev_warn(chip->dev, "freeing PWM device without disabling\n");
+drivers/staging/iio/adc/ad7816.c:	struct spi_device *spi_dev = chip->spi_dev;
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:	ret = spi_write(spi_dev, &chip->channel_id, sizeof(chip->channel_id));
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	if (chip->mode == AD7816_PD) { /* operating mode 2 */
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 1);
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 0);
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 0);
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->convert_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	if (chip->id == ID_AD7816 || chip->id == ID_AD7817) {
+drivers/staging/iio/adc/ad7816.c:		while (gpiod_get_value(chip->busy_pin))
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	struct spi_device *spi_dev = chip->spi_dev;
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:	gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:	if (chip->mode)
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->rdwr_pin, 1);
+drivers/staging/iio/adc/ad7816.c:		chip->mode = AD7816_FULL;
+drivers/staging/iio/adc/ad7816.c:		gpiod_set_value(chip->rdwr_pin, 0);
+drivers/staging/iio/adc/ad7816.c:		chip->mode = AD7816_PD;
+drivers/staging/iio/adc/ad7816.c:	return sprintf(buf, "%d\n", chip->channel_id);
+drivers/staging/iio/adc/ad7816.c:		dev_err(&chip->spi_dev->dev, "Invalid channel id %lu for %s.\n",
+drivers/staging/iio/adc/ad7816.c:		dev_err(&chip->spi_dev->dev,
+drivers/staging/iio/adc/ad7816.c:		dev_err(&chip->spi_dev->dev,
+drivers/staging/iio/adc/ad7816.c:	chip->channel_id = data;
+drivers/staging/iio/adc/ad7816.c:	if (chip->channel_id == 0) {
+drivers/staging/iio/adc/ad7816.c:	if (chip->channel_id > AD7816_CS_MAX) {
+drivers/staging/iio/adc/ad7816.c:		dev_err(dev, "Invalid oti channel id %d.\n", chip->channel_id);
+drivers/staging/iio/adc/ad7816.c:	} else if (chip->channel_id == 0) {
+drivers/staging/iio/adc/ad7816.c:			(chip->oti_data[chip->channel_id] -
+drivers/staging/iio/adc/ad7816.c:	return sprintf(buf, "%u\n", chip->oti_data[chip->channel_id]);
+drivers/staging/iio/adc/ad7816.c:	if (chip->channel_id > AD7816_CS_MAX) {
+drivers/staging/iio/adc/ad7816.c:		dev_err(dev, "Invalid oti channel id %d.\n", chip->channel_id);
+drivers/staging/iio/adc/ad7816.c:	} else if (chip->channel_id == 0) {
+drivers/staging/iio/adc/ad7816.c:	chip->oti_data[chip->channel_id] = data;
+drivers/staging/iio/adc/ad7816.c:	chip->spi_dev = spi_dev;
+drivers/staging/iio/adc/ad7816.c:		chip->oti_data[i] = 203;
+drivers/staging/iio/adc/ad7816.c:	chip->id = spi_get_device_id(spi_dev)->driver_data;
+drivers/staging/iio/adc/ad7816.c:	chip->rdwr_pin = devm_gpiod_get(&spi_dev->dev, "rdwr", GPIOD_OUT_HIGH);
+drivers/staging/iio/adc/ad7816.c:	if (IS_ERR(chip->rdwr_pin)) {
+drivers/staging/iio/adc/ad7816.c:		ret = PTR_ERR(chip->rdwr_pin);
+drivers/staging/iio/adc/ad7816.c:	chip->convert_pin = devm_gpiod_get(&spi_dev->dev, "convert",
+drivers/staging/iio/adc/ad7816.c:	if (IS_ERR(chip->convert_pin)) {
+drivers/staging/iio/adc/ad7816.c:		ret = PTR_ERR(chip->convert_pin);
+drivers/staging/iio/adc/ad7816.c:	if (chip->id == ID_AD7816 || chip->id == ID_AD7817) {
+drivers/staging/iio/adc/ad7816.c:		chip->busy_pin = devm_gpiod_get(&spi_dev->dev, "busy",
+drivers/staging/iio/adc/ad7816.c:		if (IS_ERR(chip->busy_pin)) {
+drivers/staging/iio/adc/ad7816.c:			ret = PTR_ERR(chip->busy_pin);
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7316_EN));
+drivers/staging/iio/addac/adt7316.c:		config1 = chip->config1 | ADT7316_EN;
+drivers/staging/iio/addac/adt7316.c:		config1 = chip->config1 & ~ADT7316_EN;
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7516_SEL_EX_TEMP));
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	config1 = chip->config1 & (~ADT7516_SEL_EX_TEMP);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	if (chip->config2 & ADT7316_AD_SINGLE_CH_MODE)
+drivers/staging/iio/addac/adt7316.c:	config2 = chip->config2 & (~ADT7316_AD_SINGLE_CH_MODE);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE))
+drivers/staging/iio/addac/adt7316.c:	switch (chip->config2 & ADT7516_AD_SINGLE_CH_MASK) {
+drivers/staging/iio/addac/adt7316.c:		if (((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) &&
+drivers/staging/iio/addac/adt7316.c:		    (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0)
+drivers/staging/iio/addac/adt7316.c:		if ((chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0)
+drivers/staging/iio/addac/adt7316.c:		if (chip->config1 & ADT7516_SEL_AIN3)
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE))
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) {
+drivers/staging/iio/addac/adt7316.c:		config2 = chip->config2 & (~ADT7516_AD_SINGLE_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:		config2 = chip->config2 & (~ADT7316_AD_SINGLE_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE))
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config2 & ADT7316_DISABLE_AVERAGING));
+drivers/staging/iio/addac/adt7316.c:	config2 = chip->config2 & (~ADT7316_DISABLE_AVERAGING);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config2 & ADT7316_EN_SMBUS_TIMEOUT));
+drivers/staging/iio/addac/adt7316.c:	config2 = chip->config2 & (~ADT7316_EN_SMBUS_TIMEOUT);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2);
+drivers/staging/iio/addac/adt7316.c:	chip->config2 = config2;
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7316_PD));
+drivers/staging/iio/addac/adt7316.c:	config1 = chip->config1 & (~ADT7316_PD);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config3 & ADT7316_ADCLK_22_5));
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_ADCLK_22_5);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:	if (chip->config3 & ADT7316_DA_HIGH_RESOLUTION) {
+drivers/staging/iio/addac/adt7316.c:		if (chip->id != ID_ADT7318 && chip->id != ID_ADT7519)
+drivers/staging/iio/addac/adt7316.c:	if (chip->id == ID_ADT7318 || chip->id == ID_ADT7519)
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_DA_HIGH_RESOLUTION);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config3 & ADT7516_AIN_IN_VREF));
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		config3 = chip->config3 & (~ADT7516_AIN_IN_VREF);
+drivers/staging/iio/addac/adt7316.c:		config3 = chip->config3 | ADT7516_AIN_IN_VREF;
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA));
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_EN_IN_TEMP_PROP_DACA);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB));
+drivers/staging/iio/addac/adt7316.c:	config3 = chip->config3 & (~ADT7316_EN_EX_TEMP_PROP_DACB);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
+drivers/staging/iio/addac/adt7316.c:	chip->config3 = config3;
+drivers/staging/iio/addac/adt7316.c:		chip->dac_config & ADT7316_DA_2VREF_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_DA_2VREF_CH_MASK);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC))
+drivers/staging/iio/addac/adt7316.c:	switch (chip->dac_config & ADT7316_DA_EN_MODE_MASK) {
+drivers/staging/iio/addac/adt7316.c:	if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC))
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_DA_EN_MODE_MASK);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:	if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC)
+drivers/staging/iio/addac/adt7316.c:	if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC) {
+drivers/staging/iio/addac/adt7316.c:		if ((chip->dac_config & ADT7316_DA_EN_MODE_MASK) !=
+drivers/staging/iio/addac/adt7316.c:		ldac_config = chip->ldac_config & (~ADT7316_LDAC_EN_DA_MASK);
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.write(chip->bus.client, ADT7316_LDAC_CONFIG,
+drivers/staging/iio/addac/adt7316.c:		gpiod_set_value(chip->ldac_pin, 0);
+drivers/staging/iio/addac/adt7316.c:		gpiod_set_value(chip->ldac_pin, 1);
+drivers/staging/iio/addac/adt7316.c:		!!(chip->dac_config & ADT7316_VREF_BYPASS_DAC_AB));
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_AB);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:		!!(chip->dac_config & ADT7316_VREF_BYPASS_DAC_CD));
+drivers/staging/iio/addac/adt7316.c:	dac_config = chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_CD);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
+drivers/staging/iio/addac/adt7316.c:	chip->dac_config = dac_config;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:			(chip->ldac_config & ADT7516_DAC_IN_VREF_MASK) >>
+drivers/staging/iio/addac/adt7316.c:		       !!(chip->ldac_config & ADT7316_DAC_IN_VREF));
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) {
+drivers/staging/iio/addac/adt7316.c:		ldac_config = chip->ldac_config & (~ADT7516_DAC_IN_VREF_MASK);
+drivers/staging/iio/addac/adt7316.c:		ldac_config = chip->ldac_config & (~ADT7316_DAC_IN_VREF);
+drivers/staging/iio/addac/adt7316.c:			ldac_config = chip->ldac_config | ADT7316_DAC_IN_VREF;
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_LDAC_CONFIG,
+drivers/staging/iio/addac/adt7316.c:	chip->ldac_config = ldac_config;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->config2 & ADT7316_AD_SINGLE_CH_MODE) &&
+drivers/staging/iio/addac/adt7316.c:	    channel != (chip->config2 & ADT7516_AD_SINGLE_CH_MASK))
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, offset_addr, &val);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, offset_addr, val);
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)) ||
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB)))
+drivers/staging/iio/addac/adt7316.c:	offset = chip->dac_bits - 8;
+drivers/staging/iio/addac/adt7316.c:	if (chip->dac_bits > 8) {
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	if (chip->dac_bits == 12)
+drivers/staging/iio/addac/adt7316.c:	else if (chip->dac_bits == 10)
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)) ||
+drivers/staging/iio/addac/adt7316.c:	    (chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB)))
+drivers/staging/iio/addac/adt7316.c:	offset = chip->dac_bits - 8;
+drivers/staging/iio/addac/adt7316.c:	if (ret || data >= (1 << chip->dac_bits))
+drivers/staging/iio/addac/adt7316.c:	if (chip->dac_bits > 8) {
+drivers/staging/iio/addac/adt7316.c:		if (chip->dac_bits == 12)
+drivers/staging/iio/addac/adt7316.c:		ret = chip->bus.write(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client,
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_DEVICE_ID, &id);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_MANUFACTURE_ID, &id);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_DEVICE_REV, &rev);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_SPI_LOCK_STAT, &stat);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_INT_STAT1, &stat1);
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, ADT7316_INT_STAT2, &stat2);
+drivers/staging/iio/addac/adt7316.c:	irq_type = irqd_get_trigger_type(irq_get_irq_data(chip->bus.irq));
+drivers/staging/iio/addac/adt7316.c:	ret = devm_request_threaded_irq(&indio_dev->dev, chip->bus.irq,
+drivers/staging/iio/addac/adt7316.c:			chip->bus.irq);
+drivers/staging/iio/addac/adt7316.c:		chip->config1 |= ADT7316_INT_POLARITY;
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "0x%x\n", chip->int_mask);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK2, mask);
+drivers/staging/iio/addac/adt7316.c:		chip->int_mask &= ~ADT7316_VDD_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:		chip->int_mask |= data & ADT7316_VDD_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX)
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK1, mask);
+drivers/staging/iio/addac/adt7316.c:	chip->int_mask = mask;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX &&
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.read(chip->bus.client, this_attr->address, &val);
+drivers/staging/iio/addac/adt7316.c:	if (!((chip->id & ID_FAMILY_MASK) == ID_ADT75XX &&
+drivers/staging/iio/addac/adt7316.c:	      (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0)) {
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX &&
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX &&
+drivers/staging/iio/addac/adt7316.c:	    (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) == 0) {
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, this_attr->address, val);
+drivers/staging/iio/addac/adt7316.c:	return sprintf(buf, "%d\n", !!(chip->config1 & ADT7316_INT_EN));
+drivers/staging/iio/addac/adt7316.c:	config1 = chip->config1 & (~ADT7316_INT_EN);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1);
+drivers/staging/iio/addac/adt7316.c:	chip->config1 = config1;
+drivers/staging/iio/addac/adt7316.c:	chip->bus = *bus;
+drivers/staging/iio/addac/adt7316.c:		chip->id = ID_ADT7316 + (name[6] - '6');
+drivers/staging/iio/addac/adt7316.c:		chip->id = ID_ADT7516 + (name[6] - '6');
+drivers/staging/iio/addac/adt7316.c:	if (chip->id == ID_ADT7316 || chip->id == ID_ADT7516)
+drivers/staging/iio/addac/adt7316.c:		chip->dac_bits = 12;
+drivers/staging/iio/addac/adt7316.c:	else if (chip->id == ID_ADT7317 || chip->id == ID_ADT7517)
+drivers/staging/iio/addac/adt7316.c:		chip->dac_bits = 10;
+drivers/staging/iio/addac/adt7316.c:		chip->dac_bits = 8;
+drivers/staging/iio/addac/adt7316.c:	chip->ldac_pin = devm_gpiod_get_optional(dev, "adi,ldac",
+drivers/staging/iio/addac/adt7316.c:	if (IS_ERR(chip->ldac_pin)) {
+drivers/staging/iio/addac/adt7316.c:		ret = PTR_ERR(chip->ldac_pin);
+drivers/staging/iio/addac/adt7316.c:	if (!chip->ldac_pin) {
+drivers/staging/iio/addac/adt7316.c:		chip->config3 |= ADT7316_DA_EN_VIA_DAC_LDAC;
+drivers/staging/iio/addac/adt7316.c:		if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:			chip->config1 |= ADT7516_SEL_AIN3;
+drivers/staging/iio/addac/adt7316.c:	chip->int_mask = ADT7316_TEMP_INT_MASK | ADT7316_VDD_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:		chip->int_mask |= ADT7516_AIN_INT_MASK;
+drivers/staging/iio/addac/adt7316.c:	if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
+drivers/staging/iio/addac/adt7316.c:	if (chip->bus.irq > 0) {
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, chip->config1);
+drivers/staging/iio/addac/adt7316.c:	ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, chip->config3);
+drivers/staging/iio/cdc/ad7150.c:		ret = i2c_smbus_read_word_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:		ret = i2c_smbus_read_word_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_read_byte_data(chip->client, AD7150_CFG);
+drivers/staging/iio/cdc/ad7150.c:	if (event_code != chip->current_event)
+drivers/staging/iio/cdc/ad7150.c:		value = chip->threshold[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		return i2c_smbus_write_word_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:		sens = chip->mag_sensitivity[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		timeout = chip->mag_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		sens = chip->thresh_sensitivity[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		timeout = chip->thresh_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:	return i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7150.c:	if (event_code == chip->current_event)
+drivers/staging/iio/cdc/ad7150.c:	mutex_lock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_read_byte_data(chip->client, AD7150_CFG);
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_write_byte_data(chip->client, AD7150_CFG, cfg);
+drivers/staging/iio/cdc/ad7150.c:	chip->current_event = event_code;
+drivers/staging/iio/cdc/ad7150.c:	mutex_unlock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		*val = chip->mag_sensitivity[rising][chan->channel];
+drivers/staging/iio/cdc/ad7150.c:		*val = chip->thresh_sensitivity[rising][chan->channel];
+drivers/staging/iio/cdc/ad7150.c:		*val = chip->threshold[rising][chan->channel];
+drivers/staging/iio/cdc/ad7150.c:	mutex_lock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		chip->mag_sensitivity[rising][chan->channel] = val;
+drivers/staging/iio/cdc/ad7150.c:		chip->thresh_sensitivity[rising][chan->channel] = val;
+drivers/staging/iio/cdc/ad7150.c:		chip->threshold[rising][chan->channel] = val;
+drivers/staging/iio/cdc/ad7150.c:	mutex_unlock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		value = chip->mag_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:		value = chip->thresh_timeout[rising][chan];
+drivers/staging/iio/cdc/ad7150.c:	mutex_lock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:		chip->mag_timeout[rising][chan] = data;
+drivers/staging/iio/cdc/ad7150.c:		chip->thresh_timeout[rising][chan] = data;
+drivers/staging/iio/cdc/ad7150.c:	mutex_unlock(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:	ret = i2c_smbus_read_byte_data(chip->client, AD7150_STATUS);
+drivers/staging/iio/cdc/ad7150.c:	    !(chip->old_state & AD7150_STATUS_OUT1))
+drivers/staging/iio/cdc/ad7150.c:		 (chip->old_state & AD7150_STATUS_OUT1))
+drivers/staging/iio/cdc/ad7150.c:	    !(chip->old_state & AD7150_STATUS_OUT2))
+drivers/staging/iio/cdc/ad7150.c:		 (chip->old_state & AD7150_STATUS_OUT2))
+drivers/staging/iio/cdc/ad7150.c:	chip->old_state = int_status;
+drivers/staging/iio/cdc/ad7150.c:	mutex_init(&chip->state_lock);
+drivers/staging/iio/cdc/ad7150.c:	chip->client = client;
+drivers/staging/iio/cdc/ad7746.c:		vt_setup = chip->vt_setup & ~AD7746_VTSETUP_VTEN;
+drivers/staging/iio/cdc/ad7746.c:		idx = (chip->config & AD7746_CONF_CAPFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:		if (chip->capdac_set != chan->channel) {
+drivers/staging/iio/cdc/ad7746.c:			ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:				chip->capdac[chan->channel][0]);
+drivers/staging/iio/cdc/ad7746.c:			ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:				chip->capdac[chan->channel][1]);
+drivers/staging/iio/cdc/ad7746.c:			chip->capdac_set = chan->channel;
+drivers/staging/iio/cdc/ad7746.c:		cap_setup = chip->cap_setup & ~AD7746_CAPSETUP_CAPEN;
+drivers/staging/iio/cdc/ad7746.c:		idx = (chip->config & AD7746_CONF_VTFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:	if (chip->cap_setup != cap_setup) {
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		chip->cap_setup = cap_setup;
+drivers/staging/iio/cdc/ad7746.c:	if (chip->vt_setup != vt_setup) {
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		chip->vt_setup = vt_setup;
+drivers/staging/iio/cdc/ad7746.c:	mutex_lock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	regval |= chip->config;
+drivers/staging/iio/cdc/ad7746.c:	ret = i2c_smbus_write_byte_data(chip->client, AD7746_REG_CFG, regval);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_byte_data(chip->client, AD7746_REG_CFG);
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	chip->config &= ~AD7746_CONF_CAPFS_MASK;
+drivers/staging/iio/cdc/ad7746.c:	chip->config |= i << AD7746_CONF_CAPFS_SHIFT;
+drivers/staging/iio/cdc/ad7746.c:	chip->config &= ~AD7746_CONF_VTFS_MASK;
+drivers/staging/iio/cdc/ad7746.c:	chip->config |= i << AD7746_CONF_VTFS_SHIFT;
+drivers/staging/iio/cdc/ad7746.c:	mutex_lock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_word_swapped(chip->client, reg, val);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_word_swapped(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		chip->capdac[chan->channel][chan->differential] = val > 0 ?
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:						chip->capdac[chan->channel][0]);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:						chip->capdac[chan->channel][1]);
+drivers/staging/iio/cdc/ad7746.c:		chip->capdac_set = chan->channel;
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	mutex_lock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:		regval = chip->config | AD7746_CONF_MODE_SINGLE_CONV;
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_write_byte_data(chip->client, AD7746_REG_CFG,
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_i2c_block_data(chip->client,
+drivers/staging/iio/cdc/ad7746.c:						    &chip->data.d8[1]);
+drivers/staging/iio/cdc/ad7746.c:		*val = (be32_to_cpu(chip->data.d32) & 0xFFFFFF) - 0x800000;
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_word_swapped(chip->client, reg);
+drivers/staging/iio/cdc/ad7746.c:		ret = i2c_smbus_read_word_swapped(chip->client,
+drivers/staging/iio/cdc/ad7746.c:		*val = AD7746_CAPDAC_DACP(chip->capdac[chan->channel]
+drivers/staging/iio/cdc/ad7746.c:			idx = (chip->config & AD7746_CONF_CAPFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:			idx = (chip->config & AD7746_CONF_VTFS_MASK) >>
+drivers/staging/iio/cdc/ad7746.c:	mutex_unlock(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	mutex_init(&chip->lock);
+drivers/staging/iio/cdc/ad7746.c:	chip->client = client;
+drivers/staging/iio/cdc/ad7746.c:	chip->capdac_set = -1;
+drivers/staging/iio/cdc/ad7746.c:	ret = i2c_smbus_write_byte_data(chip->client,
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:				    use_sg, dir, chip->mspro_timeout);
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:		if (chip->asic_code)
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->asic_ms_hg_clk;
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->fpga_ms_hg_clk;
+drivers/staging/rts5208/ms.c:		if (chip->asic_code)
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->asic_ms_4bit_clk;
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->fpga_ms_4bit_clk;
+drivers/staging/rts5208/ms.c:		if (chip->asic_code)
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->asic_ms_1bit_clk;
+drivers/staging/rts5208/ms.c:			ms_card->ms_clock = chip->fpga_ms_1bit_clk;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/ms.c:		if (chip->ocp_stat & oc_mask) {
+drivers/staging/rts5208/ms.c:				chip->ocp_stat);
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:			chip->card_wp &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= (MS_CARD);
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (CHK_MSHG(ms_card) && chip->support_ms_8bit && switch_8bit_bus) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->capacity[chip->card2lun[MS_CARD]] =
+drivers/staging/rts5208/ms.c:		chip->capacity[chip->card2lun[MS_CARD]] =
+drivers/staging/rts5208/ms.c:	chip->capacity[chip->card2lun[MS_CARD]] = ms_card->capacity;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (chip->ms_power_class_en & 0x02)
+drivers/staging/rts5208/ms.c:	else if (chip->ms_power_class_en & 0x01)
+drivers/staging/rts5208/ms.c:		u8 power_class_en = chip->ms_power_class_en;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 8;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 4;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:		chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->card_wp &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:		chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:	chip->capacity[chip->card2lun[MS_CARD]] = ms_card->capacity;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 4;
+drivers/staging/rts5208/ms.c:		chip->card_bus_width[chip->card2lun[MS_CARD]] = 1;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD))
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:				if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:			if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:			chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:	if (chip->card_wp & MS_CARD)
+drivers/staging/rts5208/ms.c:				chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:					chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:					chip->card_wp |= MS_CARD;
+drivers/staging/rts5208/ms.c:				if (chip->card_wp & MS_CARD)
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->rw_need_retry = 0;
+drivers/staging/rts5208/ms.c:			chip->rw_need_retry = 1;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:					if (!(chip->card_wp & MS_CARD)) {
+drivers/staging/rts5208/ms.c:						    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/ms.c:						    chip->ms_timeout);
+drivers/staging/rts5208/ms.c:		if (scsi_sg_count(chip->srb) == 0)
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:						    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/ms.c:						    chip->ms_timeout);
+drivers/staging/rts5208/ms.c:		if (scsi_sg_count(chip->srb) == 0)
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:			chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/ms.c:				chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	if (chip->asic_code) {
+drivers/staging/rts5208/ms.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/ms.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/ms.c:	chip->card_ready &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:	chip->card_fail &= ~MS_CARD;
+drivers/staging/rts5208/ms.c:	chip->card_wp &= ~MS_CARD;
+drivers/staging/rts5208/rtsx.c:	if (chip->srb) {
+drivers/staging/rts5208/rtsx.c:		dev_err(&dev->pci->dev, "Error: chip->srb = %p\n",
+drivers/staging/rts5208/rtsx.c:			chip->srb);
+drivers/staging/rts5208/rtsx.c:	chip->srb = srb;
+drivers/staging/rts5208/rtsx.c:	if (chip->srb != srb) {
+drivers/staging/rts5208/rtsx.c:	dev_info(&dev->pci->dev, "%s: chip->msi_en = %d, pci->irq = %d\n",
+drivers/staging/rts5208/rtsx.c:		 __func__, chip->msi_en, dev->pci->irq);
+drivers/staging/rts5208/rtsx.c:			chip->msi_en ? 0 : IRQF_SHARED,
+drivers/staging/rts5208/rtsx.c:	pci_intx(dev->pci, !chip->msi_en);
+drivers/staging/rts5208/rtsx.c:	if (chip->msi_en)
+drivers/staging/rts5208/rtsx.c:	if (chip->msi_en) {
+drivers/staging/rts5208/rtsx.c:			chip->msi_en = 0;
+drivers/staging/rts5208/rtsx.c:	if (chip->msi_en)
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_ABORT << 16;
+drivers/staging/rts5208/rtsx.c:		if (chip->srb->sc_data_direction == DMA_BIDIRECTIONAL) {
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_ERROR << 16;
+drivers/staging/rts5208/rtsx.c:		else if (chip->srb->device->id) {
+drivers/staging/rts5208/rtsx.c:				chip->srb->device->id,
+drivers/staging/rts5208/rtsx.c:				(u8)chip->srb->device->lun);
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_BAD_TARGET << 16;
+drivers/staging/rts5208/rtsx.c:		else if (chip->srb->device->lun > chip->max_lun) {
+drivers/staging/rts5208/rtsx.c:				chip->srb->device->id,
+drivers/staging/rts5208/rtsx.c:				(u8)chip->srb->device->lun);
+drivers/staging/rts5208/rtsx.c:			chip->srb->result = DID_BAD_TARGET << 16;
+drivers/staging/rts5208/rtsx.c:			rtsx_invoke_transport(chip->srb, chip);
+drivers/staging/rts5208/rtsx.c:		if (!chip->srb)
+drivers/staging/rts5208/rtsx.c:		else if (chip->srb->result != DID_ABORT << 16) {
+drivers/staging/rts5208/rtsx.c:			chip->srb->scsi_done(chip->srb);
+drivers/staging/rts5208/rtsx.c:		chip->srb = NULL;
+drivers/staging/rts5208/rtsx.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx.c:		if (chip->int_reg == 0xFFFFFFFF)
+drivers/staging/rts5208/rtsx.c:	status = chip->int_reg;
+drivers/staging/rts5208/rtsx.c:		dev->chip->host_cmds_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:		dev->chip->host_sg_tbl_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:	if (dev->chip->msi_en)
+drivers/staging/rts5208/rtsx.c:	if (chip->srb) {
+drivers/staging/rts5208/rtsx.c:		chip->srb->result = DID_NO_CONNECT << 16;
+drivers/staging/rts5208/rtsx.c:		chip->srb->scsi_done(dev->chip->srb);
+drivers/staging/rts5208/rtsx.c:		chip->srb = NULL;
+drivers/staging/rts5208/rtsx.c:	chip->vendor_id = chip->rtsx->pci->vendor;
+drivers/staging/rts5208/rtsx.c:	chip->product_id = chip->rtsx->pci->device;
+drivers/staging/rts5208/rtsx.c:	chip->adma_mode = 1;
+drivers/staging/rts5208/rtsx.c:	chip->lun_mc = 0;
+drivers/staging/rts5208/rtsx.c:	chip->driver_first_load = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sdio_in_charge = 0;
+drivers/staging/rts5208/rtsx.c:	chip->mspro_formatter_enable = 1;
+drivers/staging/rts5208/rtsx.c:	chip->ignore_sd = 0;
+drivers/staging/rts5208/rtsx.c:	chip->use_hw_setting = 0;
+drivers/staging/rts5208/rtsx.c:	chip->lun_mode = DEFAULT_SINGLE;
+drivers/staging/rts5208/rtsx.c:	chip->auto_delink_en = auto_delink_en;
+drivers/staging/rts5208/rtsx.c:	chip->ss_en = ss_en;
+drivers/staging/rts5208/rtsx.c:	chip->ss_idle_period = ss_interval * 1000;
+drivers/staging/rts5208/rtsx.c:	chip->remote_wakeup_en = 0;
+drivers/staging/rts5208/rtsx.c:	chip->aspm_l0s_l1_en = aspm_l0s_l1_en;
+drivers/staging/rts5208/rtsx.c:	chip->dynamic_aspm = 1;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_sdr104_clk = CLK_200;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_ddr50_clk = CLK_100;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_sdr50_clk = CLK_100;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_sd_hs_clk = CLK_100;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_mmc_52m_clk = CLK_80;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_ms_hg_clk = CLK_80;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_ms_4bit_clk = CLK_80;
+drivers/staging/rts5208/rtsx.c:	chip->fpga_ms_1bit_clk = CLK_40;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_sdr104_clk = 203;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_sdr50_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_ddr50_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_sd_hs_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_mmc_52m_clk = 98;
+drivers/staging/rts5208/rtsx.c:	chip->asic_ms_hg_clk = 117;
+drivers/staging/rts5208/rtsx.c:	chip->asic_ms_4bit_clk = 78;
+drivers/staging/rts5208/rtsx.c:	chip->asic_ms_1bit_clk = 39;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_sdr104 = SSC_DEPTH_2M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_sdr50 = SSC_DEPTH_2M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_ddr50 = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_sd_hs = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_mmc_52m = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_ms_hg = SSC_DEPTH_1M;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_ms_4bit = SSC_DEPTH_512K;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_depth_low_speed = SSC_DEPTH_512K;
+drivers/staging/rts5208/rtsx.c:	chip->ssc_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sd_speed_prior = 0x01040203;
+drivers/staging/rts5208/rtsx.c:	chip->sd_current_prior = 0x00010203;
+drivers/staging/rts5208/rtsx.c:	chip->sd_ctl = SD_PUSH_POINT_AUTO |
+drivers/staging/rts5208/rtsx.c:	chip->sd_ddr_tx_phase = 0;
+drivers/staging/rts5208/rtsx.c:	chip->mmc_ddr_tx_phase = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sd_default_tx_phase = 15;
+drivers/staging/rts5208/rtsx.c:	chip->sd_default_rx_phase = 15;
+drivers/staging/rts5208/rtsx.c:	chip->pmos_pwr_on_interval = 200;
+drivers/staging/rts5208/rtsx.c:	chip->sd_voltage_switch_delay = 1000;
+drivers/staging/rts5208/rtsx.c:	chip->ms_power_class_en = 3;
+drivers/staging/rts5208/rtsx.c:	chip->sd_400mA_ocp_thd = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sd_800mA_ocp_thd = 5;
+drivers/staging/rts5208/rtsx.c:	chip->ms_ocp_thd = 2;
+drivers/staging/rts5208/rtsx.c:	chip->card_drive_sel = 0x55;
+drivers/staging/rts5208/rtsx.c:	chip->sd30_drive_sel_1v8 = 0x03;
+drivers/staging/rts5208/rtsx.c:	chip->sd30_drive_sel_3v3 = 0x01;
+drivers/staging/rts5208/rtsx.c:	chip->do_delink_before_power_down = 1;
+drivers/staging/rts5208/rtsx.c:	chip->auto_power_down = 1;
+drivers/staging/rts5208/rtsx.c:	chip->polling_config = 0;
+drivers/staging/rts5208/rtsx.c:	chip->force_clkreq_0 = 1;
+drivers/staging/rts5208/rtsx.c:	chip->ft2_fast_mode = 0;
+drivers/staging/rts5208/rtsx.c:	chip->sdio_retry_cnt = 1;
+drivers/staging/rts5208/rtsx.c:	chip->xd_timeout = 2000;
+drivers/staging/rts5208/rtsx.c:	chip->sd_timeout = 10000;
+drivers/staging/rts5208/rtsx.c:	chip->ms_timeout = 2000;
+drivers/staging/rts5208/rtsx.c:	chip->mspro_timeout = 15000;
+drivers/staging/rts5208/rtsx.c:	chip->power_down_in_ss = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sdr104_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->sdr50_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->ddr50_en = 1;
+drivers/staging/rts5208/rtsx.c:	chip->delink_stage1_step = 100;
+drivers/staging/rts5208/rtsx.c:	chip->delink_stage2_step = 40;
+drivers/staging/rts5208/rtsx.c:	chip->delink_stage3_step = 20;
+drivers/staging/rts5208/rtsx.c:	chip->auto_delink_in_L1 = 1;
+drivers/staging/rts5208/rtsx.c:	chip->blink_led = 1;
+drivers/staging/rts5208/rtsx.c:	chip->msi_en = msi_en;
+drivers/staging/rts5208/rtsx.c:	chip->hp_watch_bios_hotplug = 0;
+drivers/staging/rts5208/rtsx.c:	chip->max_payload = 0;
+drivers/staging/rts5208/rtsx.c:	chip->phy_voltage = 0;
+drivers/staging/rts5208/rtsx.c:	chip->support_ms_8bit = 1;
+drivers/staging/rts5208/rtsx.c:	chip->s3_pwr_off_delay = 1000;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_cmds_ptr = dev->rtsx_resv_buf;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_cmds_addr = dev->rtsx_resv_buf_addr;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_sg_tbl_ptr = dev->rtsx_resv_buf + HOST_CMDS_BUF_LEN;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_sg_tbl_addr = dev->rtsx_resv_buf_addr +
+drivers/staging/rts5208/rtsx.c:	dev->chip->rtsx = dev;
+drivers/staging/rts5208/rtsx.c:	if (dev->chip->msi_en) {
+drivers/staging/rts5208/rtsx.c:			dev->chip->msi_en = 0;
+drivers/staging/rts5208/rtsx.c:	host->max_lun = dev->chip->max_lun;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_cmds_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:	dev->chip->host_sg_tbl_ptr = NULL;
+drivers/staging/rts5208/rtsx.c:	if (dev->chip->msi_en)
+drivers/staging/rts5208/rtsx_card.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_card.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_card.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_int = 1;
+drivers/staging/rts5208/rtsx_card.c:	if ((memcmp(buf, chip->sdio_raw_data, 12) != 0) || (reg & 0x03)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->sdio_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sdio_idle = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->sdio_idle) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sdio_counter++;
+drivers/staging/rts5208/rtsx_card.c:			if (chip->sdio_counter >= SDIO_IDLE_COUNT) {
+drivers/staging/rts5208/rtsx_card.c:				chip->sdio_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:				chip->sdio_idle = 1;
+drivers/staging/rts5208/rtsx_card.c:	memcpy(chip->sdio_raw_data, buf, 12);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->sdio_idle) {
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->sdio_aspm) {
+drivers/staging/rts5208/rtsx_card.c:					    0x30 | (chip->aspm_level[1] << 2));
+drivers/staging/rts5208/rtsx_card.c:			chip->sdio_aspm = 1;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sdio_aspm) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sdio_aspm = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_reset_counter, chip->card2lun[SD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card2lun[SD_CARD] >= MAX_ALLOWED_LUN_CNT) {
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->rw_fail_cnt[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release & SD_CARD)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[SD_CARD]] = sd_rw;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sd_io || (chip->sd_reset_counter >= MAX_RESET_CNT)) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_reset_counter++;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[SD_CARD]] = NULL;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_int = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_reset_counter, chip->card2lun[XD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card2lun[XD_CARD] >= MAX_ALLOWED_LUN_CNT) {
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->rw_fail_cnt[chip->card2lun[XD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release & XD_CARD)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[XD_CARD]] = xd_rw;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->xd_reset_counter >= MAX_RESET_CNT) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_reset_counter++;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[chip->card2lun[XD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[XD_CARD]] = NULL;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_reset_counter, chip->card2lun[MS_CARD]);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card2lun[MS_CARD] >= MAX_ALLOWED_LUN_CNT) {
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->rw_fail_cnt[chip->card2lun[MS_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release & MS_CARD)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:		chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[MS_CARD]] = ms_rw;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->ms_reset_counter >= MAX_RESET_CNT) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_show_cnt = 0;
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_reset_counter++;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[chip->card2lun[MS_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_card[chip->card2lun[MS_CARD]] = NULL;
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->chip_insert_with_sdio) {
+drivers/staging/rts5208/rtsx_card.c:			chip->chip_insert_with_sdio = 0;
+drivers/staging/rts5208/rtsx_card.c:		chip->sd_io = 0;
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & SD_CARD) || chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & SD_CARD) || chip->sd_io) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & SD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_card.c:	if (!chip->need_reset)
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->need_reset & SD_CARD) && chip->chip_insert_with_sdio)
+drivers/staging/rts5208/rtsx_card.c:		clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->xd_show_cnt >= MAX_SHOW_CNT)
+drivers/staging/rts5208/rtsx_card.c:			chip->xd_show_cnt++;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->card_exist & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->sd_show_cnt >= MAX_SHOW_CNT) {
+drivers/staging/rts5208/rtsx_card.c:			chip->sd_show_cnt++;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->ms_show_cnt >= MAX_SHOW_CNT)
+drivers/staging/rts5208/rtsx_card.c:			chip->ms_show_cnt++;
+drivers/staging/rts5208/rtsx_card.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->int_reg & SD_EXIST) && (chip->need_reinit & SD_CARD)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->int_reg & XD_EXIST) && (chip->need_reinit & XD_CARD)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->int_reg & MS_EXIST) && (chip->need_reinit & MS_CARD)) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_exist |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:	chip->need_reinit = 0;
+drivers/staging/rts5208/rtsx_card.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_exist) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->card_exist & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			if (!(chip->int_reg & XD_EXIST))
+drivers/staging/rts5208/rtsx_card.c:		} else if (chip->card_exist & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			if (!(chip->int_reg & SD_EXIST))
+drivers/staging/rts5208/rtsx_card.c:		} else if (chip->card_exist & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			if (!(chip->int_reg & MS_EXIST))
+drivers/staging/rts5208/rtsx_card.c:		if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:		else if (chip->int_reg & SD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:		else if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_card.c:			chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & SD_EXIST)
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & XD_CARD) &&
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & SD_CARD) &&
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & MS_CARD) &&
+drivers/staging/rts5208/rtsx_card.c:	card_cd_debounce(chip, &chip->need_reset, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_release) {
+drivers/staging/rts5208/rtsx_card.c:			if (chip->int_reg & XD_EXIST) {
+drivers/staging/rts5208/rtsx_card.c:				clear_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:				clear_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & SD_CARD) && !chip->sd_io)
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & XD_CARD))
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(XD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		if (!(chip->card_exist & MS_CARD))
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->need_release = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			(unsigned int)(chip->need_release));
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release) {
+drivers/staging/rts5208/rtsx_card.c:			if (chip->ocp_stat & (CARD_OC_NOW | CARD_OC_EVER))
+drivers/staging/rts5208/rtsx_card.c:			chip->ocp_stat = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release) {
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release & SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_ejected &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			CLR_BIT(chip->lun_mc, chip->card2lun[SD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_fail_cnt[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release & XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(XD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_ejected &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_fail &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:			CLR_BIT(chip->lun_mc, chip->card2lun[XD_CARD]);
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_fail_cnt[chip->card2lun[XD_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		if (chip->need_release & MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:			clear_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_ejected &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:			chip->card_fail &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:			CLR_BIT(chip->lun_mc, chip->card2lun[MS_CARD]);
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_fail_cnt[chip->card2lun[MS_CARD]] = 0;
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->card_exist = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			chip->card_exist);
+drivers/staging/rts5208/rtsx_card.c:		if (!chip->card_exist)
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reset) {
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->need_reset = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			(unsigned int)(chip->need_reset));
+drivers/staging/rts5208/rtsx_card.c:	if (chip->need_reinit) {
+drivers/staging/rts5208/rtsx_card.c:		dev_dbg(rtsx_dev(chip), "chip->need_reinit = 0x%x\n",
+drivers/staging/rts5208/rtsx_card.c:			(unsigned int)(chip->need_reinit));
+drivers/staging/rts5208/rtsx_card.c:	if (chip->cur_clk == clk)
+drivers/staging/rts5208/rtsx_card.c:		clk, chip->cur_clk);
+drivers/staging/rts5208/rtsx_card.c:	if (chip->ssc_en) {
+drivers/staging/rts5208/rtsx_card.c:	chip->cur_clk = clk;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->cur_clk == clk)
+drivers/staging/rts5208/rtsx_card.c:	chip->cur_clk = clk;
+drivers/staging/rts5208/rtsx_card.c:	udelay(chip->pmos_pwr_on_interval);
+drivers/staging/rts5208/rtsx_card.c:	if (!chip->rw_card[lun])
+drivers/staging/rts5208/rtsx_card.c:		chip->rw_need_retry = 0;
+drivers/staging/rts5208/rtsx_card.c:		retval = chip->rw_card[lun](srb, chip, sec_addr, sec_cnt);
+drivers/staging/rts5208/rtsx_card.c:			if (detect_card_cd(chip, chip->cur_card) !=
+drivers/staging/rts5208/rtsx_card.c:			if (!chip->rw_need_retry) {
+drivers/staging/rts5208/rtsx_card.c:			chip->rw_need_retry = 0;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->cur_card != card) {
+drivers/staging/rts5208/rtsx_card.c:		chip->cur_card = card;
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_exist & chip->lun2card[lun])
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_ready & chip->lun2card[lun])
+drivers/staging/rts5208/rtsx_card.c:	if (chip->card_wp & chip->lun2card[lun])
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & chip->lun2card[lun]) == XD_CARD)
+drivers/staging/rts5208/rtsx_card.c:	else if ((chip->card_ready & chip->lun2card[lun]) == SD_CARD)
+drivers/staging/rts5208/rtsx_card.c:	else if ((chip->card_ready & chip->lun2card[lun]) == MS_CARD)
+drivers/staging/rts5208/rtsx_card.c:	if ((chip->card_ready & chip->lun2card[lun]) == SD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ejected |= SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[lun] = 0;
+drivers/staging/rts5208/rtsx_card.c:	} else if ((chip->card_ready & chip->lun2card[lun]) == XD_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ejected |= XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~XD_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[lun] = 0;
+drivers/staging/rts5208/rtsx_card.c:	} else if ((chip->card_ready & chip->lun2card[lun]) == MS_CARD) {
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ejected |= MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->card_ready &= ~MS_CARD;
+drivers/staging/rts5208/rtsx_card.c:		chip->capacity[lun] = 0;
+drivers/staging/rts5208/rtsx_card.h:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_card.h:	return chip->capacity[lun];
+drivers/staging/rts5208/rtsx_card.h:	return chip->capacity[lun];
+drivers/staging/rts5208/rtsx_card.h:	if (chip->asic_code)
+drivers/staging/rts5208/rtsx_chip.c:	for (i = 0; i <= chip->max_lun; i++) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & XD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & SD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & MS_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->hw_bypass_sd)
+drivers/staging/rts5208/rtsx_chip.c:	for (i = 0; i <= chip->max_lun; i++) {
+drivers/staging/rts5208/rtsx_chip.c:			i, chip->lun2card[i]);
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & XD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & SD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->lun2card[i] & MS_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->hw_bypass_sd)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ic_version >= IC_VER_C)
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->adma_mode)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ignore_sd && CHK_SDIO_EXIST(chip)) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_int = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_io = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->driver_first_load) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->sdio_in_charge)
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->sdio_in_charge = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->sdio_in_charge);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->driver_first_load = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->driver_first_load);
+drivers/staging/rts5208/rtsx_chip.c:			chip->need_reset |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:			if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->chip_insert_with_sdio = 1;
+drivers/staging/rts5208/rtsx_chip.c:			chip->sd_io = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->dynamic_aspm) {
+drivers/staging/rts5208/rtsx_chip.c:					chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	ret = rtsx_write_config_byte(chip, LCTLR, chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	chip->aspm_level[0] = chip->aspm_l0s_l1_en;
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_level[1] = chip->aspm_l0s_l1_en;
+drivers/staging/rts5208/rtsx_chip.c:					0xC0, 0xFF, chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	chip->aspm_enabled = 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->asic_code || !CHECK_PID(chip, 0x5208)) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->phy_debug_mode) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ic_version >= IC_VER_D) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->driver_first_load && (chip->ic_version < IC_VER_C))
+drivers/staging/rts5208/rtsx_chip.c:	rtsx_writel(chip, RTSX_HCBAR, chip->host_cmds_addr);
+drivers/staging/rts5208/rtsx_chip.c:				     chip->card_drive_sel);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_l0s_l1_en) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208)) {
+drivers/staging/rts5208/rtsx_chip.c:						chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	chip->need_reset = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->hw_bypass_sd)
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "In %s, chip->int_reg = 0x%x\n", __func__,
+drivers/staging/rts5208/rtsx_chip.c:		chip->int_reg);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & SD_EXIST) {
+drivers/staging/rts5208/rtsx_chip.c:		if (CHECK_PID(chip, 0x5208) && (chip->ic_version < IC_VER_C))
+drivers/staging/rts5208/rtsx_chip.c:		dev_dbg(rtsx_dev(chip), "chip->need_reset = 0x%x (%s)\n",
+drivers/staging/rts5208/rtsx_chip.c:			(unsigned int)(chip->need_reset), __func__);
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_io = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & XD_EXIST)
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & MS_EXIST)
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reset |= MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->int_reg & CARD_EXIST) {
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "In %s, chip->need_reset = 0x%x\n", __func__,
+drivers/staging/rts5208/rtsx_chip.c:		(unsigned int)(chip->need_reset));
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->remote_wakeup_en && !chip->auto_delink_en) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->aux_pwr_exist) {
+drivers/staging/rts5208/rtsx_chip.c:	if (CHECK_PID(chip, 0x5208) && (chip->ic_version >= IC_VER_D)) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code && CHECK_PID(chip, 0x5208)) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ft2_fast_mode) {
+drivers/staging/rts5208/rtsx_chip.c:		udelay(chip->pmos_pwr_on_interval);
+drivers/staging/rts5208/rtsx_chip.c:	chip->driver_first_load = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->asic_code = val == 0 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->ic_version = (reg >> 4) & 0x07;
+drivers/staging/rts5208/rtsx_chip.c:		chip->phy_debug_mode = reg & PHY_DEBUG_MODE ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->ic_version = val;
+drivers/staging/rts5208/rtsx_chip.c:		chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->aux_pwr_exist = val & AUX_PWR_DETECTED ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->hw_bypass_sd = val & 0x01 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->use_hw_setting) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_en = val & 0x80 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->asic_code = val == 0 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->ic_version = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->aux_pwr_exist = val & AUX_PWR_DETECTED ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->baro_pkg = val & 0x04 ? QFN : LQFP;
+drivers/staging/rts5208/rtsx_chip.c:	chip->hw_bypass_sd = val & 0x10 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->use_hw_setting) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_en = val & 0x80 ? 1 : 0;
+drivers/staging/rts5208/rtsx_chip.c:			chip->lun_mode = SD_MS_1LUN;
+drivers/staging/rts5208/rtsx_chip.c:			chip->lun_mode = DEFAULT_SINGLE;
+drivers/staging/rts5208/rtsx_chip.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_chip.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_chip.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_chip.c:		chip->vendor_id, chip->product_id);
+drivers/staging/rts5208/rtsx_chip.c:	chip->ic_version = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->xd_show_cnt = MAX_SHOW_CNT;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sd_show_cnt = MAX_SHOW_CNT;
+drivers/staging/rts5208/rtsx_chip.c:	chip->ms_show_cnt = MAX_SHOW_CNT;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sd_io = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->auto_delink_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->auto_delink_allowed = 1;
+drivers/staging/rts5208/rtsx_chip.c:	chip->aspm_enabled = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->chip_insert_with_sdio = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_aspm = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_idle = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->cur_card = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_func_exist = 0;
+drivers/staging/rts5208/rtsx_chip.c:	memset(chip->sdio_raw_data, 0, 12);
+drivers/staging/rts5208/rtsx_chip.c:		chip->rw_fail_cnt[i] = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (!valid_sd_speed_prior(chip->sd_speed_prior))
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_speed_prior = 0x01040203;
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_speed_prior);
+drivers/staging/rts5208/rtsx_chip.c:	if (!valid_sd_current_prior(chip->sd_current_prior))
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_current_prior = 0x00010203;
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_current_prior);
+drivers/staging/rts5208/rtsx_chip.c:	if ((chip->sd_ddr_tx_phase > 31) || (chip->sd_ddr_tx_phase < 0))
+drivers/staging/rts5208/rtsx_chip.c:		chip->sd_ddr_tx_phase = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if ((chip->mmc_ddr_tx_phase > 31) || (chip->mmc_ddr_tx_phase < 0))
+drivers/staging/rts5208/rtsx_chip.c:		chip->mmc_ddr_tx_phase = 0;
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->use_hw_setting = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->use_hw_setting);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ss_en == 2)
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_en = 0;
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->asic_code = %d\n", chip->asic_code);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->ic_version = 0x%x\n", chip->ic_version);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->phy_debug_mode = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->phy_debug_mode);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->aux_pwr_exist = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->aux_pwr_exist);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->sdio_func_exist = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->sdio_func_exist);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->hw_bypass_sd = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->hw_bypass_sd);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->aspm_l0s_l1_en = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->lun_mode = %d\n", chip->lun_mode);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->auto_delink_en = %d\n",
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_en);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->ss_en = %d\n", chip->ss_en);
+drivers/staging/rts5208/rtsx_chip.c:	dev_dbg(rtsx_dev(chip), "chip->baro_pkg = %d\n", chip->baro_pkg);
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[SD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[MS_CARD] = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[XD_CARD] = 0xFF;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[0] = SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[1] = MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->max_lun = 1;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[SD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[MS_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[XD_CARD] = 0xFF;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[0] = SD_CARD | MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->max_lun = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[XD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[SD_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->card2lun[MS_CARD] = 0;
+drivers/staging/rts5208/rtsx_chip.c:		chip->lun2card[0] = XD_CARD | SD_CARD | MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:		chip->max_lun = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->card_exist = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->card_ready = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist && chip->blink_led) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->led_toggle_counter < LED_TOGGLE_INTERVAL) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->led_toggle_counter++;
+drivers/staging/rts5208/rtsx_chip.c:			chip->led_toggle_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_level[0] != reg0) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_level[0] = reg0;
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->aspm_level[1] != reg1) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_level[1] = reg1;
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_l0s_l1_en = 0x03;
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_level[0], chip->aspm_level[1]);
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->aspm_l0s_l1_en) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_enabled = 1;
+drivers/staging/rts5208/rtsx_chip.c:			chip->aspm_enabled = 0;
+drivers/staging/rts5208/rtsx_chip.c:			chip->sdio_aspm = 0;
+drivers/staging/rts5208/rtsx_chip.c:				    0x30 | chip->aspm_level[0] |
+drivers/staging/rts5208/rtsx_chip.c:				    (chip->aspm_level[1] << 2));
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->ocp_int)
+drivers/staging/rts5208/rtsx_chip.c:	rtsx_read_register(chip, OCPSTAT, &chip->ocp_stat);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist & SD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	else if (chip->card_exist & MS_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	else if (chip->card_exist & XD_CARD)
+drivers/staging/rts5208/rtsx_chip.c:	chip->ocp_int = 0;
+drivers/staging/rts5208/rtsx_chip.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist & SD_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:			chip->need_reinit |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->ss_en || CHECK_PID(chip, 0x5288))
+drivers/staging/rts5208/rtsx_chip.c:	if (!rtsx_is_ss_allowed(chip) || chip->sd_io)
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ss_counter < (chip->ss_idle_period / POLLING_INTERVAL))
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_counter++;
+drivers/staging/rts5208/rtsx_chip.c:	    !chip->aspm_l0s_l1_en || !chip->dynamic_aspm)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sdio_aspm)
+drivers/staging/rts5208/rtsx_chip.c:	data = 0x30 | (chip->aspm_level[1] << 2);
+drivers/staging/rts5208/rtsx_chip.c:	chip->sdio_aspm = 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->idle_counter < IDLE_MAX_COUNT) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->idle_counter++;
+drivers/staging/rts5208/rtsx_chip.c:	chip->led_toggle_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_power_down && !chip->card_ready && !chip->sd_io)
+drivers/staging/rts5208/rtsx_chip.c:	sd_oc = chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER);
+drivers/staging/rts5208/rtsx_chip.c:	ms_oc = chip->ocp_stat & (MS_OC_NOW | MS_OC_EVER);
+drivers/staging/rts5208/rtsx_chip.c:			chip->ocp_stat);
+drivers/staging/rts5208/rtsx_chip.c:	if (sd_oc && (chip->card_exist & SD_CARD)) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (ms_oc && (chip->card_exist & MS_CARD)) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (!(chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER)))
+drivers/staging/rts5208/rtsx_chip.c:		chip->ocp_stat);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist & SD_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	} else if (chip->card_exist & MS_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= MS_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	} else if (chip->card_exist & XD_CARD) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->card_exist)
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_cnt = stage3_cnt + 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (!chip->auto_delink_en || !chip->auto_delink_allowed ||
+drivers/staging/rts5208/rtsx_chip.c:	    chip->card_ready || chip->card_ejected || chip->sd_io) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:	enter_L1 = chip->auto_delink_in_L1 &&
+drivers/staging/rts5208/rtsx_chip.c:		(chip->aspm_l0s_l1_en || chip->ss_en);
+drivers/staging/rts5208/rtsx_chip.c:	delink_stage1_cnt = chip->delink_stage1_step;
+drivers/staging/rts5208/rtsx_chip.c:	delink_stage2_cnt = delink_stage1_cnt + chip->delink_stage2_step;
+drivers/staging/rts5208/rtsx_chip.c:	delink_stage3_cnt = delink_stage2_cnt + chip->delink_stage3_step;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_cnt > delink_stage3_cnt)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_cnt == delink_stage1_cnt)
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_cnt == delink_stage2_cnt) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.c:	chip->auto_delink_cnt++;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->polling_config) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->sd_io && !chip->sd_int)
+drivers/staging/rts5208/rtsx_chip.c:		chip->product_id, dstate);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->power_down_in_ss) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->auto_delink_en) {
+drivers/staging/rts5208/rtsx_chip.c:		if (!chip->phy_debug_mode) {
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->power_down_in_ss) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	} else if (chip->power_down_in_ss) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->ss_en) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->ss_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
+drivers/staging/rts5208/rtsx_chip.c:	if (((chip->int_reg & int_enable) == 0) ||
+drivers/staging/rts5208/rtsx_chip.c:	    (chip->int_reg == 0xFFFFFFFF))
+drivers/staging/rts5208/rtsx_chip.c:	status = chip->int_reg &= (int_enable | 0x7FFFFF);
+drivers/staging/rts5208/rtsx_chip.c:		chip->auto_delink_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(SD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_chip.c:				chip->sd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:				chip->sd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:				clear_bit(SD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(SD_NR, &chip->need_reinit);
+drivers/staging/rts5208/rtsx_chip.c:					set_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:					set_bit(XD_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_chip.c:					chip->xd_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:					chip->xd_show_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:					clear_bit(XD_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:					set_bit(XD_NR, &chip->need_reinit);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(MS_NR, &chip->need_release);
+drivers/staging/rts5208/rtsx_chip.c:				chip->ms_reset_counter = 0;
+drivers/staging/rts5208/rtsx_chip.c:				chip->ms_show_cnt = 0;
+drivers/staging/rts5208/rtsx_chip.c:				clear_bit(MS_NR, &chip->need_reset);
+drivers/staging/rts5208/rtsx_chip.c:				set_bit(MS_NR, &chip->need_reinit);
+drivers/staging/rts5208/rtsx_chip.c:	chip->ocp_int = ocp_int & status;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sd_io && (chip->int_reg & DATA_DONE_INT))
+drivers/staging/rts5208/rtsx_chip.c:		chip->int_reg &= ~(u32)DATA_DONE_INT;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->sd_io) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->sdio_in_charge = 1;
+drivers/staging/rts5208/rtsx_chip.c:	if (CHECK_PID(chip, 0x5208) && (chip->ic_version >= IC_VER_D)) {
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->s3_pwr_off_delay > 0)
+drivers/staging/rts5208/rtsx_chip.c:			wait_timeout(chip->s3_pwr_off_delay);
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->do_delink_before_power_down && chip->auto_delink_en)
+drivers/staging/rts5208/rtsx_chip.c:	chip->cur_clk = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->cur_card = 0;
+drivers/staging/rts5208/rtsx_chip.c:	chip->card_exist = 0;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_l0s_l1_en && chip->dynamic_aspm && !chip->aspm_enabled) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_enabled = 1;
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.c:					    0x30 | chip->aspm_level[0]);
+drivers/staging/rts5208/rtsx_chip.c:					       chip->aspm_l0s_l1_en);
+drivers/staging/rts5208/rtsx_chip.c:			u16 val = chip->aspm_l0s_l1_en | 0x0100;
+drivers/staging/rts5208/rtsx_chip.c:	if (chip->aspm_l0s_l1_en && chip->dynamic_aspm && chip->aspm_enabled) {
+drivers/staging/rts5208/rtsx_chip.c:		chip->aspm_enabled = 0;
+drivers/staging/rts5208/rtsx_chip.c:		if (chip->asic_code && CHECK_PID(chip, 0x5208))
+drivers/staging/rts5208/rtsx_chip.h:	return &chip->rtsx->pci->dev;
+drivers/staging/rts5208/rtsx_scsi.c:	struct scsi_cmnd *srb = chip->srb;
+drivers/staging/rts5208/rtsx_scsi.c:	struct sense_data_t *sense = &chip->sense_buffer[lun];
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/rtsx_scsi.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:	if ((chip->mspro_formatter_enable) &&
+drivers/staging/rts5208/rtsx_scsi.c:	    (chip->lun2card[lun] & MS_CARD))
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->mspro_formatter_enable)
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	sense = &chip->sense_buffer[lun];
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if ((chip->lun2card[lun] & MS_CARD)) {
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->mspro_formatter_enable)
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->mspro_formatter_enable) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/rtsx_scsi.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->rw_fail_cnt[lun] == 3) {
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->need_release & chip->lun2card[lun]) {
+drivers/staging/rts5208/rtsx_scsi.c:			chip->rw_fail_cnt[lun] = 0;
+drivers/staging/rts5208/rtsx_scsi.c:			chip->rw_fail_cnt[lun]++;
+drivers/staging/rts5208/rtsx_scsi.c:		chip->rw_fail_cnt[lun] = 0;
+drivers/staging/rts5208/rtsx_scsi.c:		if (!chip->mspro_formatter_enable) {
+drivers/staging/rts5208/rtsx_scsi.c:	if ((buf_len > 12) && chip->mspro_formatter_enable &&
+drivers/staging/rts5208/rtsx_scsi.c:	    (chip->lun2card[lun] & MS_CARD) &&
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/rtsx_scsi.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:		struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:			chip->blink_led = 1;
+drivers/staging/rts5208/rtsx_scsi.c:			chip->blink_led = 0;
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->ss_en &&
+drivers/staging/rts5208/rtsx_scsi.c:		struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:		u8 tmp = chip->blink_led;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	status[0] = (u8)(chip->product_id);
+drivers/staging/rts5208/rtsx_scsi.c:	status[1] = chip->ic_version;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->auto_delink_en)
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->card_wp)
+drivers/staging/rts5208/rtsx_scsi.c:	    (chip->lun2card[lun] == MS_CARD)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ocp_stat & oc_now_mask)
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ocp_stat & oc_ever_mask)
+drivers/staging/rts5208/rtsx_scsi.c:		chip->phy_debug_mode = 1;
+drivers/staging/rts5208/rtsx_scsi.c:		chip->phy_debug_mode = 0;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_scsi.c:						 0x4C00 | chip->phy_voltage);
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->asic_code) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[0] = (u8)(chip->vendor_id >> 8);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[1] = (u8)(chip->vendor_id);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[2] = (u8)(chip->product_id >> 8);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[3] = (u8)(chip->product_id);
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->card_exist) {
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->card_exist & XD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:			else if (chip->card_exist & SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:			else if (chip->card_exist & MS_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[7] = (u8)(chip->product_id);
+drivers/staging/rts5208/rtsx_scsi.c:	rtsx_status[8] = chip->ic_version;
+drivers/staging/rts5208/rtsx_scsi.c:		if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:		struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:		struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->sd_io && chip->sd_int)
+drivers/staging/rts5208/rtsx_scsi.c:			if (chip->lun2card[lun] == SD_CARD)
+drivers/staging/rts5208/rtsx_scsi.c:		bus_width = chip->card_bus_width[lun];
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->rw_cap[lun] >= GPIO_TOGGLE_THRESHOLD) {
+drivers/staging/rts5208/rtsx_scsi.c:		chip->rw_cap[lun] = 0;
+drivers/staging/rts5208/rtsx_scsi.c:		chip->rw_cap[lun] += sec_cnt;
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (!(chip->card_ready & MS_CARD)) {
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->card_wp & MS_CARD) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_scsi.c:	if (chip->ss_en && (rtsx_get_stat(chip) == RTSX_STAT_SS)) {
+drivers/staging/rts5208/rtsx_scsi.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/rtsx_scsi.c:	struct ms_info *ms_card = &chip->ms_card;
+drivers/staging/rts5208/rtsx_sys.h:	struct rtsx_dev *dev = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:		       (unsigned char *)&chip->sense_buffer[SCSI_LUN(srb)],
+drivers/staging/rts5208/rtsx_transport.c:	__le32 *cb = (__le32 *)(chip->host_cmds_ptr);
+drivers/staging/rts5208/rtsx_transport.c:	spin_lock_irq(&chip->rtsx->reg_lock);
+drivers/staging/rts5208/rtsx_transport.c:	if (chip->ci < (HOST_CMDS_BUF_LEN / 4))
+drivers/staging/rts5208/rtsx_transport.c:		cb[(chip->ci)++] = cpu_to_le32(val);
+drivers/staging/rts5208/rtsx_transport.c:	spin_unlock_irq(&chip->rtsx->reg_lock);
+drivers/staging/rts5208/rtsx_transport.c:	rtsx_writel(chip, RTSX_HCBAR, chip->host_cmds_addr);
+drivers/staging/rts5208/rtsx_transport.c:	val |= (u32)(chip->ci * 4) & 0x00FFFFFF;
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:	rtsx_writel(chip, RTSX_HCBAR, chip->host_cmds_addr);
+drivers/staging/rts5208/rtsx_transport.c:	val |= (u32)(chip->ci * 4) & 0x00FFFFFF;
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:			chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:	__le64 *sgb = (__le64 *)(chip->host_sg_tbl_ptr);
+drivers/staging/rts5208/rtsx_transport.c:		if (chip->sgi < (HOST_SG_TBL_BUF_LEN / 8))
+drivers/staging/rts5208/rtsx_transport.c:			sgb[(chip->sgi)++] = cpu_to_le64(val);
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:	chip->sgi = 0;
+drivers/staging/rts5208/rtsx_transport.c:	dev_dbg(rtsx_dev(chip), "SG table count = %d\n", chip->sgi);
+drivers/staging/rts5208/rtsx_transport.c:	rtsx_writel(chip, RTSX_HDBAR, chip->host_sg_tbl_addr);
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:			chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:			dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:				chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:		chip->sgi = 0;
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "SG table count = %d\n", chip->sgi);
+drivers/staging/rts5208/rtsx_transport.c:		rtsx_writel(chip, RTSX_HDBAR, chip->host_sg_tbl_addr);
+drivers/staging/rts5208/rtsx_transport.c:			dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:				chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:			dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:				chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:	struct rtsx_dev *rtsx = chip->rtsx;
+drivers/staging/rts5208/rtsx_transport.c:		dev_dbg(rtsx_dev(chip), "chip->int_reg = 0x%x\n",
+drivers/staging/rts5208/rtsx_transport.c:			chip->int_reg);
+drivers/staging/rts5208/rtsx_transport.c:			chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_transport.c:			chip->need_reinit = SD_CARD | MS_CARD | XD_CARD;
+drivers/staging/rts5208/rtsx_transport.h:	return (u8 *)(chip->host_sg_tbl_ptr);
+drivers/staging/rts5208/rtsx_transport.h:	return (u8 *)(chip->host_cmds_ptr);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if ((chip->sd_ctl & SD_PUSH_POINT_CTL_MASK) == SD_PUSH_POINT_DELAY)
+drivers/staging/rts5208/sd.c:	if ((chip->sd_ctl & SD_SAMPLE_POINT_CTL_MASK) == SD_SAMPLE_POINT_AUTO) {
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	} else if ((chip->sd_ctl & SD_SAMPLE_POINT_CTL_MASK) ==
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_sdr104_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_sdr104_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_ddr50_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_ddr50_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_sdr50_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_sdr50_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_sd_hs_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_sd_hs_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->asic_mmc_52m_clk;
+drivers/staging/rts5208/sd.c:			sd_card->sd_clock = chip->fpga_mmc_52m_clk;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code)
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:							 chip->phy_voltage);
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:							 chip->phy_voltage);
+drivers/staging/rts5208/sd.c:	udelay(chip->sd_voltage_switch_delay);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:						     chip->sd_800mA_ocp_thd);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		switch ((u8)(chip->sd_speed_prior >> (i * 8))) {
+drivers/staging/rts5208/sd.c:			    chip->sdr104_en) {
+drivers/staging/rts5208/sd.c:			    chip->ddr50_en) {
+drivers/staging/rts5208/sd.c:			    chip->sdr50_en) {
+drivers/staging/rts5208/sd.c:		switch ((u8)(chip->sd_current_prior >> (i * 8))) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:			final_phase = (u8)chip->sd_default_rx_phase;
+drivers/staging/rts5208/sd.c:			final_phase = (u8)chip->sd_default_tx_phase;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & SD_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:		retval = sd_change_phase(chip, (u8)chip->sd_ddr_tx_phase,
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & SD_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & MMC_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:		retval = sd_change_phase(chip, (u8)chip->mmc_ddr_tx_phase,
+drivers/staging/rts5208/sd.c:	if (!(chip->sd_ctl & MMC_DDR_TX_PHASE_SET_BY_USER)) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (chip->asic_code)
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:	chip->sd_io = 0;
+drivers/staging/rts5208/sd.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/sd.c:		if (chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER)) {
+drivers/staging/rts5208/sd.c:				chip->ocp_stat);
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:		chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		for (; rty_cnt < chip->sdio_retry_cnt; rty_cnt++) {
+drivers/staging/rts5208/sd.c:					chip->sd_io = 1;
+drivers/staging/rts5208/sd.c:					     chip->sd30_drive_sel_1v8);
+drivers/staging/rts5208/sd.c:	chip->card_bus_width[chip->card2lun[SD_CARD]] = 4;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:		chip->card_bus_width[chip->card2lun[SD_CARD]] = 8;
+drivers/staging/rts5208/sd.c:			chip->card_bus_width[chip->card2lun[SD_CARD]] = 4;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->card_bus_width[chip->card2lun[SD_CARD]] = 1;
+drivers/staging/rts5208/sd.c:		chip->card_wp |= SD_CARD;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:	if (chip->ignore_sd && CHK_SDIO_EXIST(chip) &&
+drivers/staging/rts5208/sd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:		chip->sd_io = 1;
+drivers/staging/rts5208/sd.c:	if (chip->sd_ctl & RESET_MMC_FIRST) {
+drivers/staging/rts5208/sd.c:			if (chip->sd_io)
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = sd_card->capacity;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = sd_card->capacity = 0;
+drivers/staging/rts5208/sd.c:	chip->capacity[chip->card2lun[SD_CARD]] = sd_card->capacity;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD)) {
+drivers/staging/rts5208/sd.c:			chip->card_ready |= SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:			chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:			chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:				srb->sc_data_direction, chip->sd_timeout);
+drivers/staging/rts5208/sd.c:			chip->rw_need_retry = 0;
+drivers/staging/rts5208/sd.c:		chip->rw_need_retry = 1;
+drivers/staging/rts5208/sd.c:		chip->rw_need_retry = 0;
+drivers/staging/rts5208/sd.c:			chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->card_fail |= SD_CARD;
+drivers/staging/rts5208/sd.c:			chip->capacity[chip->card2lun[SD_CARD]] = 0;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(CHK_BIT(chip->lun_mc, lun))) {
+drivers/staging/rts5208/sd.c:		SET_BIT(chip->lun_mc, lun);
+drivers/staging/rts5208/sd.c:	if (chip->card_wp & SD_CARD)
+drivers/staging/rts5208/sd.c:	buf[15] = chip->max_lun;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD))
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD))
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!(chip->card_ready & SD_CARD))
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/sd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/sd.c:	struct sd_info *sd_card = &chip->sd_card;
+drivers/staging/rts5208/sd.c:	chip->card_ready &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:	chip->card_fail &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:	chip->card_wp &= ~SD_CARD;
+drivers/staging/rts5208/sd.c:	chip->sd_io = 0;
+drivers/staging/rts5208/sd.c:	chip->sd_int = 0;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	if (chip->asic_code)
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	struct spi_info *spi = &chip->spi;
+drivers/staging/rts5208/spi.c:	if (chip->asic_code)
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	if (chip->asic_code)
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/xd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:		if (chip->ocp_stat & (SD_OC_NOW | SD_OC_EVER)) {
+drivers/staging/rts5208/xd.c:				chip->ocp_stat);
+drivers/staging/rts5208/xd.c:	if (chip->ft2_fast_mode) {
+drivers/staging/rts5208/xd.c:		if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode)
+drivers/staging/rts5208/xd.c:	chip->capacity[chip->card2lun[XD_CARD]] = xd_card->capacity;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:		chip->card_wp |= XD_CARD;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	trans_dma_enable(chip->srb->sc_data_direction, chip,
+drivers/staging/rts5208/xd.c:					    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/xd.c:					    chip->xd_timeout);
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	trans_dma_enable(chip->srb->sc_data_direction, chip,
+drivers/staging/rts5208/xd.c:					    scsi_sg_count(chip->srb),
+drivers/staging/rts5208/xd.c:					    index, offset, DMA_TO_DEVICE, chip->xd_timeout);
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:		chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:			chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:			chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:				chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:			chip->card_fail |= XD_CARD;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	if (!chip->ft2_fast_mode) {
+drivers/staging/rts5208/xd.c:	if (chip->asic_code) {
+drivers/staging/rts5208/xd.c:	struct xd_info *xd_card = &chip->xd_card;
+drivers/staging/rts5208/xd.c:	chip->card_ready &= ~XD_CARD;
+drivers/staging/rts5208/xd.c:	chip->card_fail &= ~XD_CARD;
+drivers/staging/rts5208/xd.c:	chip->card_wp &= ~XD_CARD;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		if (chip->alsa_stream[i]) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:			err = bcm2835_audio_set_ctls(chip->alsa_stream[i]);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		ucontrol->value.integer.value[0] = chip->volume;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		ucontrol->value.integer.value[0] = chip->mute;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		ucontrol->value.integer.value[0] = chip->dest;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		valp = &chip->volume;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		valp = &chip->mute;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		valp = &chip->dest;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:			dev_err(chip->card->dev, "Failed to set ALSA controls..\n");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:			(chip->spdif_status >> (i * 8)) & 0xff;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	change = val != chip->spdif_status;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	chip->spdif_status = val;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&kctls[i], chip));
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	strcpy(chip->card->mixername, "Broadcom Mixer");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	strcpy(chip->card->mixername, "Broadcom Mixer");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c:	strcpy(chip->card->mixername, "Broadcom Mixer");
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	if (spdif && chip->opened) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	} else if (!spdif && (chip->opened & (1 << idx))) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		dev_err(chip->dev,
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->spdif_status = 0;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	chip->alsa_stream[idx] = alsa_stream;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	chip->opened |= (1 << idx);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_lock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	alsa_stream->chip->alsa_stream[alsa_stream->idx] = NULL;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	chip->opened &= ~(1 << substream->number);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	mutex_unlock(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	if (chip->spdif_status & IEC958_AES0_NONAUDIO)
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:	err = snd_pcm_new(chip->card, name, idx, numchannels, 0, &pcm);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->dest = route;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->volume = 0;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->mute = CTRL_VOL_UNMUTE;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->card->dev, 128 * 1024, 128 * 1024);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->pcm_spdif = pcm;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:		chip->pcm = pcm;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	struct bcm2835_vchi_ctx *vchi_ctx = alsa_stream->chip->vchi_ctx;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	instance->dev = alsa_stream->chip->dev;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	m.control.dest = chip->dest;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:	if (!chip->mute)
+drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c:		m.control.volume = alsa2chip(chip->volume);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	chip->card = card;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	chip->dev = dev;
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	mutex_init(&chip->audio_mutex);
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	chip->vchi_ctx = devres_find(dev,
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.c:	if (!chip->vchi_ctx) {
+drivers/staging/vc04_services/bcm2835-audio/bcm2835.h:/* definition of the chip-specific record */
+drivers/staging/wfx/hif_rx.c: * Implementation of chip-to-host event (aka indications) of WFxxx Split Mac
+drivers/staging/wfx/hif_rx.h: * Implementation of chip-to-host event (aka indications) of WFxxx Split Mac
+drivers/staging/wlan-ng/prism2usb.c:	/* Do a chip-level reset on the MAC */
+drivers/staging/wlan-ng/prism2usb.c:	/* Do a chip-level reset on the MAC */
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	ret = regmap_read(chip->map, chip->base + addr, &val);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	return regmap_write(chip->map, chip->base + addr, data);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (chip->subtype == QPNP_TM_SUBTYPE_GEN1)
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	WARN_ON(!mutex_is_locked(&chip->lock));
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (chip->subtype == QPNP_TM_SUBTYPE_GEN1) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		stage_old = chip->stage;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		stage_old = alarm_state_map[chip->stage];
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = (stage_new - 1) * TEMP_STAGE_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:			     chip->thresh * TEMP_THRESH_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = stage_new * TEMP_STAGE_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:			     chip->thresh * TEMP_THRESH_STEP -
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->stage = stage;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (!chip->initialized) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (!chip->adc) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		mutex_lock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		mutex_unlock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		ret = iio_read_channel_processed(chip->adc, &mili_celsius);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = mili_celsius;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	*temp = chip->temp < 0 ? 0 : chip->temp;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	WARN_ON(!mutex_is_locked(&chip->lock));
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->thresh = THRESH_MIN;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->thresh = THRESH_MAX -
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->thresh = THRESH_MAX;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		if (chip->adc)
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:			dev_warn(chip->dev,
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	reg |= chip->thresh;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	trip_points = of_thermal_get_trip_points(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_lock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_unlock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	thermal_zone_device_update(chip->tz_dev, THERMAL_EVENT_UNSPECIFIED);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	ntrips = of_thermal_get_ntrips(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	trips = of_thermal_get_trip_points(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		if (of_thermal_is_trip_valid(chip->tz_dev, i) &&
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_lock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->thresh = reg & SHUTDOWN_CTRL1_THRESHOLD_MASK;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->temp = DEFAULT_TEMP;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->stage = ret;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	stage = chip->subtype == QPNP_TM_SUBTYPE_GEN1
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		? chip->stage : alarm_state_map[chip->stage];
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->temp = chip->thresh * TEMP_THRESH_STEP +
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->initialized = true;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_unlock(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->dev = &pdev->dev;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	mutex_init(&chip->lock);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->map = dev_get_regmap(pdev->dev.parent, NULL);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (!chip->map)
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->adc = devm_iio_channel_get(&pdev->dev, "thermal");
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (IS_ERR(chip->adc)) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		ret = PTR_ERR(chip->adc);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		chip->adc = NULL;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->base = res;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->subtype = subtype;
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	chip->tz_dev = devm_thermal_zone_of_sensor_register(
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	if (IS_ERR(chip->tz_dev)) {
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:		return PTR_ERR(chip->tz_dev);
+drivers/thermal/qcom/qcom-spmi-temp-alarm.c:	thermal_zone_device_update(chip->tz_dev, THERMAL_EVENT_UNSPECIFIED);
+drivers/thermal/rcar_thermal.c:		if (priv->chip->has_filonoff)
+drivers/thermal/rcar_thermal.c:	if (priv->chip->ctemp_bands == 1)
+drivers/thermal/rcar_thermal.c:		if (priv->chip->use_of_thermal)
+drivers/thermal/rcar_thermal.c:	for (i = 0; i < chip->nirqs; i++) {
+drivers/thermal/rcar_thermal.c:		if (chip->irq_per_ch)
+drivers/thermal/rcar_thermal.c:		if (chip->use_of_thermal)
+drivers/thermal/rcar_thermal.c:		if (chip->use_of_thermal) {
+drivers/thermal/rcar_thermal.c:		if (!chip->irq_per_ch)
+drivers/thermal/rcar_thermal.c:	if (priv->chip->needs_suspend_resume) {
+drivers/thermal/rcar_thermal.c:	if (priv->chip->needs_suspend_resume) {
+drivers/thermal/rockchip_thermal.c: * struct chip_tsadc_table - hold information about chip-specific differences
+drivers/thermal/rockchip_thermal.c: * @table: the chip-specific conversion table
+drivers/thermal/rockchip_thermal.c:	thermal->chip->irq_ack(thermal->regs);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:			 thermal->chip->tshut_temp);
+drivers/thermal/rockchip_thermal.c:		thermal->tshut_temp = thermal->chip->tshut_temp;
+drivers/thermal/rockchip_thermal.c:			 thermal->chip->tshut_mode == TSHUT_MODE_GPIO ?
+drivers/thermal/rockchip_thermal.c:		thermal->tshut_mode = thermal->chip->tshut_mode;
+drivers/thermal/rockchip_thermal.c:			 thermal->chip->tshut_polarity == TSHUT_LOW_ACTIVE ?
+drivers/thermal/rockchip_thermal.c:		thermal->tshut_polarity = thermal->chip->tshut_polarity;
+drivers/thermal/rockchip_thermal.c:	thermal->chip->initialize(thermal->grf, thermal->regs,
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++) {
+drivers/thermal/rockchip_thermal.c:						thermal->chip->chn_id[i]);
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, true);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++) {
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, false);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, false);
+drivers/thermal/rockchip_thermal.c:	thermal->chip->initialize(thermal->grf, thermal->regs,
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++) {
+drivers/thermal/rockchip_thermal.c:		thermal->chip->set_tshut_mode(id, thermal->regs,
+drivers/thermal/rockchip_thermal.c:		error = thermal->chip->set_tshut_temp(&thermal->chip->table,
+drivers/thermal/rockchip_thermal.c:	thermal->chip->control(thermal->regs, true);
+drivers/thermal/rockchip_thermal.c:	for (i = 0; i < thermal->chip->chn_num; i++)
+drivers/thermal/rockchip_thermal.c:		.name = "rockchip-thermal",
+drivers/thermal/rockchip_thermal.c:MODULE_ALIAS("platform:rockchip-thermal");
+drivers/tty/serial/8250/8250_lpss.c:	chip->pdata = &qrk_serial_dma_pdata;
+drivers/tty/serial/8250/8250_lpss.c:	chip->dev = &pdev->dev;
+drivers/tty/serial/8250/8250_lpss.c:	chip->id = pdev->devfn;
+drivers/tty/serial/8250/8250_lpss.c:	chip->irq = pci_irq_vector(pdev, 0);
+drivers/tty/serial/8250/8250_lpss.c:	chip->regs = pci_ioremap_bar(pdev, 1);
+drivers/tty/serial/8250/8250_lpss.c:	if (!chip->regs)
+drivers/tty/serial/8250/8250_lpss.c:	pci_iounmap(to_pci_dev(chip->dev), chip->regs);
+drivers/tty/serial/8250/8250_mid.c:	chip->dev = &pdev->dev;
+drivers/tty/serial/8250/8250_mid.c:	chip->irq = pci_irq_vector(pdev, 0);
+drivers/tty/serial/8250/8250_mid.c:	chip->regs = p->membase;
+drivers/tty/serial/8250/8250_mid.c:	chip->length = pci_resource_len(pdev, bar);
+drivers/tty/serial/8250/8250_mid.c:	chip->offset = DNV_DMA_CHAN_OFFSET;
+drivers/tty/serial/sccnxp.c:	ndelay(s->chip->trwd);
+drivers/tty/serial/sccnxp.c:	ndelay(s->chip->trwd);
+drivers/tty/serial/sccnxp.c:		if (baud_std[i].mr0 && !(chip->flags & SCCNXP_HAVE_MR0))
+drivers/tty/serial/sccnxp.c:		div_std = DIV_ROUND_CLOSEST(chip->freq_std, baud_std[i].baud);
+drivers/tty/serial/sccnxp.c:	if (chip->flags & SCCNXP_HAVE_MR0) {
+drivers/tty/serial/sccnxp.c:			if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/tty/serial/sccnxp.c:	if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/tty/serial/sccnxp.c:	if (!(s->chip->flags & SCCNXP_HAVE_IO))
+drivers/tty/serial/sccnxp.c:	if (!(s->chip->flags & SCCNXP_HAVE_IO))
+drivers/tty/serial/sccnxp.c:				  (s->chip->flags & SCCNXP_HAVE_MR0) ?
+drivers/tty/serial/sccnxp.c:	if (s->chip->flags & SCCNXP_HAVE_IO) {
+drivers/tty/serial/sccnxp.c:	if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/tty/serial/sccnxp.c:	return (port->type == PORT_SC26XX) ? s->chip->name : NULL;
+drivers/tty/serial/sccnxp.c:		uartclk = s->chip->freq_std;
+drivers/tty/serial/sccnxp.c:	if ((uartclk < s->chip->freq_min) || (uartclk > s->chip->freq_max)) {
+drivers/tty/serial/sccnxp.c:	s->uart.nr		= s->chip->nr;
+drivers/tty/serial/sccnxp.c:		s->port[i].fifosize	= s->chip->fifosize;
+drivers/tty/serial/sccnxp.c:		if (s->chip->flags & SCCNXP_HAVE_IO)
+drivers/uio/uio_fsl_elbc_gpcm.c:   using the general purpose chip-select mode (GPCM).
+drivers/usb/cdns3/gadget.c:	device_property_read_u16(priv_dev->dev, "cdns,on-chip-buff-size",
+drivers/usb/serial/io_usbvend.h:// Implementation 1 (ie, 251+Netchip-based)
+drivers/usb/storage/realtek_cr.c:	retval = rts51x_read_status(us, lun, buf, 16, &(chip->status_len));
+drivers/usb/storage/realtek_cr.c:	usb_stor_dbg(us, "chip->status_len = %d\n", chip->status_len);
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].vid = ((u16) buf[0] << 8) | buf[1];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].pid = ((u16) buf[2] << 8) | buf[3];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].cur_lun = buf[4];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].card_type = buf[5];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].total_lun = buf[6];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].fw_ver = ((u16) buf[7] << 8) | buf[8];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].phy_exist = buf[9];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].multi_flag = buf[10];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].multi_card = buf[11];
+drivers/usb/storage/realtek_cr.c:	chip->status[lun].log_exist = buf[12];
+drivers/usb/storage/realtek_cr.c:	if (chip->status_len == 16) {
+drivers/usb/storage/realtek_cr.c:		chip->status[lun].detailed_type.detailed_type1 = buf[13];
+drivers/usb/storage/realtek_cr.c:		chip->status[lun].function[0] = buf[14];
+drivers/usb/storage/realtek_cr.c:		chip->status[lun].function[1] = buf[15];
+drivers/usb/storage/realtek_cr.c:	struct us_data *us = chip->us;
+drivers/usb/storage/realtek_cr.c:	chip->timer_expires = jiffies + msecs_to_jiffies(1000*ss_delay);
+drivers/usb/storage/realtek_cr.c:	mod_timer(&chip->rts51x_suspend_timer, chip->timer_expires);
+drivers/usb/storage/realtek_cr.c:	struct us_data *us = chip->us;
+drivers/usb/storage/realtek_cr.c:		chip->proto_handler_backup(srb, us);
+drivers/usb/storage/realtek_cr.c:			    (chip->pwr_state == US_SUSPEND)) {
+drivers/usb/storage/realtek_cr.c:			chip->proto_handler_backup(srb, us);
+drivers/usb/storage/realtek_cr.c:	chip->support_auto_delink = 0;
+drivers/usb/storage/realtek_cr.c:	chip->pwr_state = US_RESUME;
+drivers/usb/storage/realtek_cr.c:	chip->lun_ready = 0;
+drivers/usb/storage/realtek_cr.c:	retval = rts51x_read_status(us, 0, buf, 16, &(chip->status_len));
+drivers/usb/storage/realtek_cr.c:	status = chip->status;
+drivers/usb/storage/realtek_cr.c:	if (chip->status_len == 16) {
+drivers/usb/storage/realtek_cr.c:	chip->proto_handler_backup = us->proto_handler;
+drivers/usb/storage/realtek_cr.c:	chip->timer_expires = 0;
+drivers/usb/storage/realtek_cr.c:	timer_setup(&chip->rts51x_suspend_timer, rts51x_suspend_timer_fn, 0);
+drivers/usb/storage/realtek_cr.c:		del_timer(&chip->rts51x_suspend_timer);
+drivers/usb/storage/realtek_cr.c:		chip->timer_expires = 0;
+drivers/usb/storage/realtek_cr.c:	kfree(chip->status);
+drivers/usb/storage/realtek_cr.c:	us->max_lun = chip->max_lun = rts51x_get_max_lun(us);
+drivers/usb/storage/realtek_cr.c:	chip->us = us;
+drivers/usb/storage/realtek_cr.c:	usb_stor_dbg(us, "chip->max_lun = %d\n", chip->max_lun);
+drivers/usb/storage/realtek_cr.c:	size = (chip->max_lun + 1) * sizeof(struct rts51x_status);
+drivers/usb/storage/realtek_cr.c:	chip->status = kzalloc(size, GFP_KERNEL);
+drivers/usb/storage/realtek_cr.c:	if (!chip->status)
+drivers/usb/storage/realtek_cr.c:	for (i = 0; i <= (int)(chip->max_lun); i++) {
+drivers/usb/storage/realtek_cr.c:	usb_stor_dbg(us, "chip->flag = 0x%x\n", chip->flag);
+drivers/usb/storage/realtek_cr.c:		kfree(chip->status);
+drivers/usb/typec/tcpm/fusb302.c:	return chip->logbuffer_tail ==
+drivers/usb/typec/tcpm/fusb302.c:		(chip->logbuffer_head + 1) % LOG_BUFFER_ENTRIES;
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->logbuffer[chip->logbuffer_head]) {
+drivers/usb/typec/tcpm/fusb302.c:		chip->logbuffer[chip->logbuffer_head] =
+drivers/usb/typec/tcpm/fusb302.c:		if (!chip->logbuffer[chip->logbuffer_head])
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:		chip->logbuffer_head = max(chip->logbuffer_head - 1, 0);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->logbuffer_head < 0 ||
+drivers/usb/typec/tcpm/fusb302.c:	    chip->logbuffer_head >= LOG_BUFFER_ENTRIES) {
+drivers/usb/typec/tcpm/fusb302.c:		dev_warn(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:			 "Bad log buffer index %d\n", chip->logbuffer_head);
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->logbuffer[chip->logbuffer_head]) {
+drivers/usb/typec/tcpm/fusb302.c:		dev_warn(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:			 "Log buffer index %d is NULL\n", chip->logbuffer_head);
+drivers/usb/typec/tcpm/fusb302.c:	scnprintf(chip->logbuffer[chip->logbuffer_head],
+drivers/usb/typec/tcpm/fusb302.c:	chip->logbuffer_head = (chip->logbuffer_head + 1) % LOG_BUFFER_ENTRIES;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	tail = chip->logbuffer_tail;
+drivers/usb/typec/tcpm/fusb302.c:	while (tail != chip->logbuffer_head) {
+drivers/usb/typec/tcpm/fusb302.c:		seq_printf(s, "%s\n", chip->logbuffer[tail]);
+drivers/usb/typec/tcpm/fusb302.c:		chip->logbuffer_tail = tail;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_init(&chip->logbuffer_lock);
+drivers/usb/typec/tcpm/fusb302.c:	snprintf(name, NAME_MAX, "fusb302-%s", dev_name(chip->dev));
+drivers/usb/typec/tcpm/fusb302.c:	chip->dentry = debugfs_create_file(name, S_IFREG | 0444, usb_debug_root,
+drivers/usb/typec/tcpm/fusb302.c:	debugfs_remove(chip->dentry);
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_write_byte_data(chip->i2c_client, address, data);
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_write_i2c_block_data(chip->i2c_client, address,
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_read_byte_data(chip->i2c_client, address);
+drivers/usb/typec/tcpm/fusb302.c:	ret = i2c_smbus_read_i2c_block_data(chip->i2c_client, address,
+drivers/usb/typec/tcpm/fusb302.c:	chip->vbus_present = !!(data & FUSB_REG_STATUS0_VBUSOK);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	ret = chip->vbus_present ? 1 : 0;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->extcon)
+drivers/usb/typec/tcpm/fusb302.c:		if (extcon_get_state(chip->extcon, EXTCON_CHG_USB_SDP) == 1)
+drivers/usb/typec/tcpm/fusb302.c:		if (extcon_get_state(chip->extcon, EXTCON_CHG_USB_CDP) == 1 ||
+drivers/usb/typec/tcpm/fusb302.c:		    extcon_get_state(chip->extcon, EXTCON_CHG_USB_ACA) == 1)
+drivers/usb/typec/tcpm/fusb302.c:		if (extcon_get_state(chip->extcon, EXTCON_CHG_USB_DCP) == 1)
+drivers/usb/typec/tcpm/fusb302.c:	chip->src_current_status = status;
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_bc_lvl = false;
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_comp_chng = false;
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_togdone = false;
+drivers/usb/typec/tcpm/fusb302.c:		WARN(chip->vconn_on, "Vconn is on during toggle start");
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_togdone = true;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc1 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc2 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:	chip->toggling_mode = mode;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:		switches0_data |= (chip->cc_polarity == TYPEC_POLARITY_CC1) ?
+drivers/usb/typec/tcpm/fusb302.c:	chip->cc1 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:	chip->cc2 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_comp_chng = true;
+drivers/usb/typec/tcpm/fusb302.c:		chip->intr_bc_lvl = true;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	*cc1 = chip->cc1;
+drivers/usb/typec/tcpm/fusb302.c:	*cc2 = chip->cc2;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->vconn_on == on) {
+drivers/usb/typec/tcpm/fusb302.c:		switches0_data = (chip->cc_polarity == TYPEC_POLARITY_CC1) ?
+drivers/usb/typec/tcpm/fusb302.c:	chip->vconn_on = on;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->vbus_on == on) {
+drivers/usb/typec/tcpm/fusb302.c:			ret = regulator_enable(chip->vbus);
+drivers/usb/typec/tcpm/fusb302.c:			ret = regulator_disable(chip->vbus);
+drivers/usb/typec/tcpm/fusb302.c:		chip->vbus_on = on;
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->charge_on == charge)
+drivers/usb/typec/tcpm/fusb302.c:		chip->charge_on = charge;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->intr_bc_lvl) {
+drivers/usb/typec/tcpm/fusb302.c:		mod_delayed_work(chip->wq, &chip->bc_lvl_handler,
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->cc_polarity == TYPEC_POLARITY_CC1) {
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->cc1 != cc_status) {
+drivers/usb/typec/tcpm/fusb302.c:				    typec_cc_status_name[chip->cc1],
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc1 = cc_status;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->cc2 != cc_status) {
+drivers/usb/typec/tcpm/fusb302.c:				    typec_cc_status_name[chip->cc2],
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc2 = cc_status;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->vconn_on)
+drivers/usb/typec/tcpm/fusb302.c:		if (chip->vconn_on)
+drivers/usb/typec/tcpm/fusb302.c:	chip->cc_polarity = cc_polarity;
+drivers/usb/typec/tcpm/fusb302.c:		ret = fusb302_set_toggling(chip, chip->toggling_mode);
+drivers/usb/typec/tcpm/fusb302.c:	if ((chip->cc1 != cc1) || (chip->cc2 != cc2)) {
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc1 = cc1;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc2 = cc2;
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_bc_lvl = true;
+drivers/usb/typec/tcpm/fusb302.c:	u8 ra_mda = ra_mda_value[chip->src_current_status];
+drivers/usb/typec/tcpm/fusb302.c:	u8 rd_mda = rd_mda_value[chip->src_current_status];
+drivers/usb/typec/tcpm/fusb302.c:	u8 rd_mda = rd_mda_value[chip->src_current_status];
+drivers/usb/typec/tcpm/fusb302.c:	enum toggling_mode toggling_mode = chip->toggling_mode;
+drivers/usb/typec/tcpm/fusb302.c:	if ((chip->cc1 != cc1) || (chip->cc2 != cc2)) {
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc1 = cc1;
+drivers/usb/typec/tcpm/fusb302.c:		chip->cc2 = cc2;
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	chip->intr_comp_chng = true;
+drivers/usb/typec/tcpm/fusb302.c:		fusb302_set_toggling(chip, chip->toggling_mode);
+drivers/usb/typec/tcpm/fusb302.c:		fusb302_set_toggling(chip, chip->toggling_mode);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_SUCCESS);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_receive(chip->tcpm_port, msg);
+drivers/usb/typec/tcpm/fusb302.c:	disable_irq_nosync(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->irq_suspended)
+drivers/usb/typec/tcpm/fusb302.c:		chip->irq_while_suspended = true;
+drivers/usb/typec/tcpm/fusb302.c:		schedule_work(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_lock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	intr_togdone = chip->intr_togdone;
+drivers/usb/typec/tcpm/fusb302.c:	intr_bc_lvl = chip->intr_bc_lvl;
+drivers/usb/typec/tcpm/fusb302.c:	intr_comp_chng = chip->intr_comp_chng;
+drivers/usb/typec/tcpm/fusb302.c:		if (vbus_present != chip->vbus_present) {
+drivers/usb/typec/tcpm/fusb302.c:			chip->vbus_present = vbus_present;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_vbus_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:		mod_delayed_work(chip->wq, &chip->bc_lvl_handler,
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc1 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:			chip->cc2 = TYPEC_CC_OPEN;
+drivers/usb/typec/tcpm/fusb302.c:			tcpm_cc_change(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_FAILED);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_FAILED);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_SUCCESS);
+drivers/usb/typec/tcpm/fusb302.c:		tcpm_pd_hard_reset(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	mutex_unlock(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:	enable_irq(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	node = chip->dev->of_node;
+drivers/usb/typec/tcpm/fusb302.c:	chip->gpio_int_n = of_get_named_gpio(node, "fcs,int_n", 0);
+drivers/usb/typec/tcpm/fusb302.c:	if (!gpio_is_valid(chip->gpio_int_n)) {
+drivers/usb/typec/tcpm/fusb302.c:		ret = chip->gpio_int_n;
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev, "cannot get named GPIO Int_N, ret=%d", ret);
+drivers/usb/typec/tcpm/fusb302.c:	ret = devm_gpio_request(chip->dev, chip->gpio_int_n, "fcs,int_n");
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev, "cannot request GPIO Int_N, ret=%d", ret);
+drivers/usb/typec/tcpm/fusb302.c:	ret = gpio_direction_input(chip->gpio_int_n);
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:	ret = gpio_to_irq(chip->gpio_int_n);
+drivers/usb/typec/tcpm/fusb302.c:		dev_err(chip->dev,
+drivers/usb/typec/tcpm/fusb302.c:	chip->gpio_int_n_irq = ret;
+drivers/usb/typec/tcpm/fusb302.c:	chip->i2c_client = client;
+drivers/usb/typec/tcpm/fusb302.c:	chip->dev = &client->dev;
+drivers/usb/typec/tcpm/fusb302.c:	mutex_init(&chip->lock);
+drivers/usb/typec/tcpm/fusb302.c:		chip->extcon = extcon_get_extcon_dev(name);
+drivers/usb/typec/tcpm/fusb302.c:		if (!chip->extcon)
+drivers/usb/typec/tcpm/fusb302.c:	chip->vbus = devm_regulator_get(chip->dev, "vbus");
+drivers/usb/typec/tcpm/fusb302.c:	if (IS_ERR(chip->vbus))
+drivers/usb/typec/tcpm/fusb302.c:		return PTR_ERR(chip->vbus);
+drivers/usb/typec/tcpm/fusb302.c:	chip->wq = create_singlethread_workqueue(dev_name(chip->dev));
+drivers/usb/typec/tcpm/fusb302.c:	if (!chip->wq)
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_init(&chip->irq_lock);
+drivers/usb/typec/tcpm/fusb302.c:	INIT_WORK(&chip->irq_work, fusb302_irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	INIT_DELAYED_WORK(&chip->bc_lvl_handler, fusb302_bc_lvl_handler_work);
+drivers/usb/typec/tcpm/fusb302.c:	init_tcpc_dev(&chip->tcpc_dev);
+drivers/usb/typec/tcpm/fusb302.c:		chip->gpio_int_n_irq = client->irq;
+drivers/usb/typec/tcpm/fusb302.c:	chip->tcpc_dev.fwnode = fusb302_fwnode_get(dev);
+drivers/usb/typec/tcpm/fusb302.c:	if (IS_ERR(chip->tcpc_dev.fwnode)) {
+drivers/usb/typec/tcpm/fusb302.c:		ret = PTR_ERR(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:	chip->tcpm_port = tcpm_register_port(&client->dev, &chip->tcpc_dev);
+drivers/usb/typec/tcpm/fusb302.c:	if (IS_ERR(chip->tcpm_port)) {
+drivers/usb/typec/tcpm/fusb302.c:		fwnode_handle_put(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:		ret = PTR_ERR(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	ret = request_irq(chip->gpio_int_n_irq, fusb302_irq_intn,
+drivers/usb/typec/tcpm/fusb302.c:	enable_irq_wake(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	tcpm_unregister_port(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	fwnode_handle_put(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:	destroy_workqueue(chip->wq);
+drivers/usb/typec/tcpm/fusb302.c:	disable_irq_wake(chip->gpio_int_n_irq);
+drivers/usb/typec/tcpm/fusb302.c:	free_irq(chip->gpio_int_n_irq, chip);
+drivers/usb/typec/tcpm/fusb302.c:	cancel_work_sync(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	cancel_delayed_work_sync(&chip->bc_lvl_handler);
+drivers/usb/typec/tcpm/fusb302.c:	tcpm_unregister_port(chip->tcpm_port);
+drivers/usb/typec/tcpm/fusb302.c:	fwnode_handle_put(chip->tcpc_dev.fwnode);
+drivers/usb/typec/tcpm/fusb302.c:	destroy_workqueue(chip->wq);
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	chip->irq_suspended = true;
+drivers/usb/typec/tcpm/fusb302.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	flush_work(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:	spin_lock_irqsave(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/fusb302.c:	if (chip->irq_while_suspended) {
+drivers/usb/typec/tcpm/fusb302.c:		schedule_work(&chip->irq_work);
+drivers/usb/typec/tcpm/fusb302.c:		chip->irq_while_suspended = false;
+drivers/usb/typec/tcpm/fusb302.c:	chip->irq_suspended = false;
+drivers/usb/typec/tcpm/fusb302.c:	spin_unlock_irqrestore(&chip->irq_lock, flags);
+drivers/usb/typec/tcpm/tcpci.c:	return tcpci_irq(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci.c:	chip->data.regmap = devm_regmap_init_i2c(client, &tcpci_regmap_config);
+drivers/usb/typec/tcpm/tcpci.c:	if (IS_ERR(chip->data.regmap))
+drivers/usb/typec/tcpm/tcpci.c:		return PTR_ERR(chip->data.regmap);
+drivers/usb/typec/tcpm/tcpci.c:	err = regmap_raw_write(chip->data.regmap, TCPC_ALERT_MASK, &val,
+drivers/usb/typec/tcpm/tcpci.c:	chip->tcpci = tcpci_register_port(&client->dev, &chip->data);
+drivers/usb/typec/tcpm/tcpci.c:	if (IS_ERR(chip->tcpci))
+drivers/usb/typec/tcpm/tcpci.c:		return PTR_ERR(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci.c:		tcpci_unregister_port(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci.c:	tcpci_unregister_port(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_read(chip->data.regmap, reg, val, sizeof(u16));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_write(chip->data.regmap, reg, &val, sizeof(u16));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_read(chip->data.regmap, reg, val, sizeof(u8));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return regmap_raw_write(chip->data.regmap, reg, &val, sizeof(u8));
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	if (!chip->tcpci)
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	return tcpci_irq(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	ret = devm_request_threaded_irq(chip->dev, client->irq, NULL,
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:					dev_name(chip->dev), chip);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.regmap = devm_regmap_init_i2c(client,
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	if (IS_ERR(chip->data.regmap))
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:		return PTR_ERR(chip->data.regmap);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->dev = &client->dev;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.init = rt1711h_init;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.set_vconn = rt1711h_set_vconn;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->data.start_drp_toggling = rt1711h_start_drp_toggling;
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	chip->tcpci = tcpci_register_port(chip->dev, &chip->data);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	if (IS_ERR_OR_NULL(chip->tcpci))
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:		return PTR_ERR(chip->tcpci);
+drivers/usb/typec/tcpm/tcpci_rt1711h.c:	tcpci_unregister_port(chip->tcpci);
+drivers/video/backlight/88pm860x_bl.c:	dev_dbg(chip->dev, "set brightness %d\n", value);
+drivers/video/backlight/88pm860x_bl.c:	dev_dbg(chip->dev, "set brightness %d failure with return value: %d\n",
+drivers/video/backlight/88pm860x_bl.c:	dev_dbg(chip->dev, "get brightness %d\n", data->current_brightness);
+drivers/video/backlight/88pm860x_bl.c:	data->i2c = (chip->id == CHIP_PM8606) ? chip->client : chip->companion;
+drivers/video/backlight/lm3630a_bl.c:	rval = regmap_read(pchip->regmap, reg, &reg_val);
+drivers/video/backlight/lm3630a_bl.c:	return regmap_write(pchip->regmap, reg, data);
+drivers/video/backlight/lm3630a_bl.c:	return regmap_update_bits(pchip->regmap, reg, mask, data);
+drivers/video/backlight/lm3630a_bl.c:	struct lm3630a_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev,
+drivers/video/backlight/lm3630a_bl.c:	dev_info(pchip->dev, "REG_INT_STATUS Register is 0x%x\n", rval);
+drivers/video/backlight/lm3630a_bl.c:	queue_delayed_work(pchip->irqthread, &pchip->work, delay);
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	INIT_DELAYED_WORK(&pchip->work, lm3630a_delayed_func);
+drivers/video/backlight/lm3630a_bl.c:	pchip->irqthread = create_singlethread_workqueue("lm3630a-irqthd");
+drivers/video/backlight/lm3630a_bl.c:	if (!pchip->irqthread) {
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "create irq thread fail\n");
+drivers/video/backlight/lm3630a_bl.c:	    (pchip->irq, NULL, lm3630a_isr_func,
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "request threaded irq fail\n");
+drivers/video/backlight/lm3630a_bl.c:		destroy_workqueue(pchip->irqthread);
+drivers/video/backlight/lm3630a_bl.c:	unsigned int period = pchip->pdata->pwm_period;
+drivers/video/backlight/lm3630a_bl.c:	pwm_config(pchip->pwmd, duty, period);
+drivers/video/backlight/lm3630a_bl.c:		pwm_enable(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:		pwm_disable(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access\n");
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access REG_CTRL\n");
+drivers/video/backlight/lm3630a_bl.c:	enum lm3630a_pwm_ctrl pwm_ctrl = pchip->pdata->pwm_ctrl;
+drivers/video/backlight/lm3630a_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	struct lm3630a_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3630a_bl.c:		pchip->bleda =
+drivers/video/backlight/lm3630a_bl.c:		    devm_backlight_device_register(pchip->dev, label,
+drivers/video/backlight/lm3630a_bl.c:						   pchip->dev, pchip,
+drivers/video/backlight/lm3630a_bl.c:		if (IS_ERR(pchip->bleda))
+drivers/video/backlight/lm3630a_bl.c:			return PTR_ERR(pchip->bleda);
+drivers/video/backlight/lm3630a_bl.c:		pchip->bledb =
+drivers/video/backlight/lm3630a_bl.c:		    devm_backlight_device_register(pchip->dev, label,
+drivers/video/backlight/lm3630a_bl.c:						   pchip->dev, pchip,
+drivers/video/backlight/lm3630a_bl.c:		if (IS_ERR(pchip->bledb))
+drivers/video/backlight/lm3630a_bl.c:			return PTR_ERR(pchip->bledb);
+drivers/video/backlight/lm3630a_bl.c:	device_for_each_child_node(pchip->dev, node) {
+drivers/video/backlight/lm3630a_bl.c:	pchip->dev = &client->dev;
+drivers/video/backlight/lm3630a_bl.c:	pchip->regmap = devm_regmap_init_i2c(client, &lm3630a_regmap);
+drivers/video/backlight/lm3630a_bl.c:	if (IS_ERR(pchip->regmap)) {
+drivers/video/backlight/lm3630a_bl.c:		rval = PTR_ERR(pchip->regmap);
+drivers/video/backlight/lm3630a_bl.c:		pdata = devm_kzalloc(pchip->dev,
+drivers/video/backlight/lm3630a_bl.c:	pchip->pdata = pdata;
+drivers/video/backlight/lm3630a_bl.c:	pchip->enable_gpio = devm_gpiod_get_optional(&client->dev, "enable",
+drivers/video/backlight/lm3630a_bl.c:	if (IS_ERR(pchip->enable_gpio)) {
+drivers/video/backlight/lm3630a_bl.c:		rval = PTR_ERR(pchip->enable_gpio);
+drivers/video/backlight/lm3630a_bl.c:		pchip->pwmd = devm_pwm_get(pchip->dev, "lm3630a-pwm");
+drivers/video/backlight/lm3630a_bl.c:		if (IS_ERR(pchip->pwmd)) {
+drivers/video/backlight/lm3630a_bl.c:			return PTR_ERR(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:		pwm_apply_args(pchip->pwmd);
+drivers/video/backlight/lm3630a_bl.c:	pchip->irq = client->irq;
+drivers/video/backlight/lm3630a_bl.c:	if (pchip->irq) {
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:		dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3630a_bl.c:	if (pchip->irq) {
+drivers/video/backlight/lm3630a_bl.c:		free_irq(pchip->irq, pchip);
+drivers/video/backlight/lm3630a_bl.c:		flush_workqueue(pchip->irqthread);
+drivers/video/backlight/lm3630a_bl.c:		destroy_workqueue(pchip->irqthread);
+drivers/video/backlight/lm3639_bl.c:	struct lm3639_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3639_bl.c:	    regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x08,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_IO_CTRL, 0x7C, reg_val);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_4, pdata->init_brt_led);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_3, pdata->init_brt_led);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x79, reg_val);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:	struct lm3639_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		dev_info(pchip->dev, "last flag is 0x%x\n", reg_val);
+drivers/video/backlight/lm3639_bl.c:			dev_err(pchip->dev,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_4, bl->props.brightness);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_write(pchip->regmap, REG_BL_CONF_3, bl->props.brightness);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x00);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x01);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access registers\n");
+drivers/video/backlight/lm3639_bl.c:	struct lm3639_platform_data *pdata = pchip->pdata;
+drivers/video/backlight/lm3639_bl.c:			dev_err(pchip->dev,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_BL_CONF_1, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_read(pchip->regmap, REG_BL_CONF_4, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_read(pchip->regmap, REG_BL_CONF_3, &reg_val);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:		    regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10,
+drivers/video/backlight/lm3639_bl.c:		    regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10,
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "%s:i2c access fail to register\n", __func__);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "%s:input conversion fail\n", __func__);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		dev_info(pchip->dev, "last flag is 0x%x\n", reg_val);
+drivers/video/backlight/lm3639_bl.c:		ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x02);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val);
+drivers/video/backlight/lm3639_bl.c:		dev_info(pchip->dev, "last flag is 0x%x\n", reg_val);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00);
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap,
+drivers/video/backlight/lm3639_bl.c:	ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x06);
+drivers/video/backlight/lm3639_bl.c:	dev_err(pchip->dev, "i2c failed to access register\n");
+drivers/video/backlight/lm3639_bl.c:	pchip->pdata = pdata;
+drivers/video/backlight/lm3639_bl.c:	pchip->dev = &client->dev;
+drivers/video/backlight/lm3639_bl.c:	pchip->regmap = devm_regmap_init_i2c(client, &lm3639_regmap);
+drivers/video/backlight/lm3639_bl.c:	if (IS_ERR(pchip->regmap)) {
+drivers/video/backlight/lm3639_bl.c:		ret = PTR_ERR(pchip->regmap);
+drivers/video/backlight/lm3639_bl.c:	pchip->bled =
+drivers/video/backlight/lm3639_bl.c:	    devm_backlight_device_register(pchip->dev, "lm3639_bled",
+drivers/video/backlight/lm3639_bl.c:					   pchip->dev, pchip, &lm3639_bled_ops,
+drivers/video/backlight/lm3639_bl.c:	if (IS_ERR(pchip->bled)) {
+drivers/video/backlight/lm3639_bl.c:		ret = PTR_ERR(pchip->bled);
+drivers/video/backlight/lm3639_bl.c:	ret = device_create_file(&(pchip->bled->dev), &dev_attr_bled_mode);
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_flash.name = "lm3639_flash";
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_flash.max_brightness = 16;
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_flash.brightness_set = lm3639_flash_brightness_set;
+drivers/video/backlight/lm3639_bl.c:				    &client->dev, &pchip->cdev_flash);
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_torch.name = "lm3639_torch";
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_torch.max_brightness = 8;
+drivers/video/backlight/lm3639_bl.c:	pchip->cdev_torch.brightness_set = lm3639_torch_brightness_set;
+drivers/video/backlight/lm3639_bl.c:				    &client->dev, &pchip->cdev_torch);
+drivers/video/backlight/lm3639_bl.c:	led_classdev_unregister(&pchip->cdev_flash);
+drivers/video/backlight/lm3639_bl.c:	device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode);
+drivers/video/backlight/lm3639_bl.c:	regmap_write(pchip->regmap, REG_ENABLE, 0x00);
+drivers/video/backlight/lm3639_bl.c:	led_classdev_unregister(&pchip->cdev_torch);
+drivers/video/backlight/lm3639_bl.c:	led_classdev_unregister(&pchip->cdev_flash);
+drivers/video/backlight/lm3639_bl.c:	if (pchip->bled)
+drivers/video/backlight/lm3639_bl.c:		device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode);
+drivers/video/backlight/max8925_bl.c:	ret = max8925_reg_write(chip->i2c, data->reg_cntl, value);
+drivers/video/backlight/max8925_bl.c:		ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 1, 1);
+drivers/video/backlight/max8925_bl.c:		ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 1, 0);
+drivers/video/backlight/max8925_bl.c:	dev_dbg(chip->dev, "set brightness %d\n", value);
+drivers/video/backlight/max8925_bl.c:	dev_dbg(chip->dev, "set brightness %d failure with return value:%d\n",
+drivers/video/backlight/max8925_bl.c:	ret = max8925_reg_read(chip->i2c, data->reg_cntl);
+drivers/video/backlight/max8925_bl.c:	dev_dbg(chip->dev, "get brightness %d\n", data->current_brightness);
+drivers/video/backlight/max8925_bl.c:	ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 0xfe, value);
+drivers/video/fbdev/cirrusfb.c: * chip-specific information
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c8, regnum);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c9, red);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c9, green);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c9, blue);
+drivers/video/fbdev/riva/fbdev.c:	VGA_WR08(chip->PDIO, 0x3c7, regnum);
+drivers/video/fbdev/riva/fbdev.c:	*red = VGA_RD08(chip->PDIO, 0x3c9);
+drivers/video/fbdev/riva/fbdev.c:	*green = VGA_RD08(chip->PDIO, 0x3c9);
+drivers/video/fbdev/riva/fbdev.c:	*blue = VGA_RD08(chip->PDIO, 0x3c9);
+drivers/video/fbdev/riva/nv_driver.c:	switch (chip->Architecture) {
+drivers/video/fbdev/riva/nv_driver.c:		if (NV_RD32(chip->PFB, 0x00000000) & 0x00000020) {
+drivers/video/fbdev/riva/nv_driver.c:			if (((NV_RD32(chip->PMC, 0x00000000) & 0xF0) == 0x20)
+drivers/video/fbdev/riva/nv_driver.c:			    && ((NV_RD32(chip->PMC, 0x00000000)&0x0F)>=0x02)) {
+drivers/video/fbdev/riva/nv_driver.c:				switch (NV_RD32(chip->PFB,0x00000000) & 0x03) {
+drivers/video/fbdev/riva/nv_driver.c:			switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003) {
+drivers/video/fbdev/riva/nv_driver.c:		if (NV_RD32(chip->PFB, 0x00000000) & 0x00000100) {
+drivers/video/fbdev/riva/nv_driver.c:			memlen = ((NV_RD32(chip->PFB, 0x00000000)>>12)&0x0F) *
+drivers/video/fbdev/riva/nv_driver.c:			switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003) {
+drivers/video/fbdev/riva/nv_driver.c:			switch ((NV_RD32(chip->PFB, 0x0000020C) >> 20) &
+drivers/video/fbdev/riva/nv_driver.c:	switch (chip->Architecture) {
+drivers/video/fbdev/riva/nv_driver.c:		if (NV_RD32(chip->PFB, 0x00000000) & 0x00000020) {
+drivers/video/fbdev/riva/nv_driver.c:			if (((NV_RD32(chip->PMC, 0x00000000) & 0xF0) == 0x20)
+drivers/video/fbdev/riva/nv_driver.c:			    && ((NV_RD32(chip->PMC,0x00000000)&0x0F) >= 0x02)) {
+drivers/video/fbdev/riva/nv_driver.c:		switch ((NV_RD32(chip->PFB, 0x00000000) >> 3) & 0x00000003) {
+drivers/video/fbdev/riva/riva_hw.c:    return ((NV_RD32(&chip->Rop->FifoFree, 0) < chip->FifoEmptyCount) ||
+drivers/video/fbdev/riva/riva_hw.c:	    NV_RD32(&chip->PGRAPH[0x000006B0/4], 0) & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    return ((NV_RD32(&chip->Rop->FifoFree, 0) < chip->FifoEmptyCount) ||
+drivers/video/fbdev/riva/riva_hw.c:	    NV_RD32(&chip->PGRAPH[0x00000700/4], 0) & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    return ((NV_RD32(&chip->Rop->FifoFree, 0) < chip->FifoEmptyCount) ||
+drivers/video/fbdev/riva/riva_hw.c:	    NV_RD32(&chip->PGRAPH[0x00000700/4], 0) & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x11);
+drivers/video/fbdev/riva/riva_hw.c:    cr11 = VGA_RD08(chip->PCIO, 0x3D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, cr11);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PVIO, 0x3C4, 0x06);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PVIO, 0x3C5, Lock ? 0x99 : 0x57);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x1F);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, Lock ? 0x99 : 0x57);
+drivers/video/fbdev/riva/riva_hw.c:    cursor                      =  chip->CurrentState->cursor1;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CurrentState->cursor1 = (chip->CurrentState->cursor1 & 0xFE) |
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x31);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, chip->CurrentState->cursor1);
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000504/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    MClk = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_width   = (NV_RD32(&chip->PEXTDEV[0x00000000/4], 0) & 0x10) ?
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000504/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    MClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000500/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    NVClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    cfg1 = NV_RD32(&chip->PFB[0x00000204/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_width   = (NV_RD32(&chip->PEXTDEV[0x00000000/4], 0) & 0x10) ?
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000504/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    MClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000500/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    NVClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    cfg1 = NV_RD32(&chip->PFB[0x00000204/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_type    = (NV_RD32(&chip->PFB[0x00000200/4], 0) & 0x01) ?
+drivers/video/fbdev/riva/riva_hw.c:    sim_data.memory_width   = (NV_RD32(&chip->PEXTDEV[0x00000000/4], 0) & 0x10) ?
+drivers/video/fbdev/riva/riva_hw.c:    pll = NV_RD32(&chip->PRAMDAC0[0x00000500/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    NVClk  = (N * chip->CrystalFreqKHz / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    if (chip->CrystalFreqKHz == 13500)
+drivers/video/fbdev/riva/riva_hw.c:        highM = 13 - (chip->Architecture == NV_ARCH_03);
+drivers/video/fbdev/riva/riva_hw.c:        highM = 14 - (chip->Architecture == NV_ARCH_03);
+drivers/video/fbdev/riva/riva_hw.c:    highP = 4 - (chip->Architecture == NV_ARCH_03);
+drivers/video/fbdev/riva/riva_hw.c:        if ((Freq >= 128000) && (Freq <= chip->MaxVClockFreqKHz))
+drivers/video/fbdev/riva/riva_hw.c:                N    = (VClk << P) * M / chip->CrystalFreqKHz;
+drivers/video/fbdev/riva/riva_hw.c:                Freq = (chip->CrystalFreqKHz * N / M) >> P;
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            if((chip->Chipset == NV_CHIP_IGEFORCE2) ||
+drivers/video/fbdev/riva/riva_hw.c:               (chip->Chipset == NV_CHIP_0x01F0))
+drivers/video/fbdev/riva/riva_hw.c:            state->cursor0  = 0x80 | (chip->CursorStart >> 17);
+drivers/video/fbdev/riva/riva_hw.c:            state->cursor1  = (chip->CursorStart >> 11) << 2;
+drivers/video/fbdev/riva/riva_hw.c:            state->cursor2  = chip->CursorStart >> 24;
+drivers/video/fbdev/riva/riva_hw.c:            state->config   = NV_RD32(&chip->PFB[0x00000200/4], 0);
+drivers/video/fbdev/riva/riva_hw.c:    if((bpp != 8) && (chip->Architecture != NV_ARCH_03))
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev[i][0]] = tbl##Table##dev[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_8BPP[i][0]] = tbl##Table##dev##_8BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_15BPP[i][0]] = tbl##Table##dev##_15BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_16BPP[i][0]] = tbl##Table##dev##_16BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        chip->dev[tbl##Table##dev##_32BPP[i][0]] = tbl##Table##dev##_32BPP[i][1]
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev[i][0]], 0, tbl##Table##dev[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_8BPP[i][0]], 0, tbl##Table##dev##_8BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_15BPP[i][0]], 0, tbl##Table##dev##_15BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_16BPP[i][0]], 0, tbl##Table##dev##_16BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(&chip->dev[tbl##Table##dev##_32BPP[i][0]], 0, tbl##Table##dev##_32BPP[i][1])
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri05 = (RivaTexturedTriangle05 __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            chip->Tri05 = (RivaTexturedTriangle05 __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000200, state->config);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(&chip->PRAMIN[0x00000502 + i], 0, (i << 12) | 0x03);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000630, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000634, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000638, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000063C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000650, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000654, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000658, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000065C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000200, state->config);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000640, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000644, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000648, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000064C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000670, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000674, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000678, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x0000067C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->twoHeads) {
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x44);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, state->crtcOwner);
+drivers/video/fbdev/riva/riva_hw.c:               chip->LockUnlock(chip, 0);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = (RivaTexturedTriangle03  __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->Tri03 = NULL;
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->Architecture == NV_ARCH_10) {
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000640, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000644, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000648, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x0000064C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000670, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000674, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000678, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x0000067C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000680, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000820, state->offset0);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000824, state->offset1);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000828, state->offset2);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x0000082C, state->offset3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000850, state->pitch0);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000854, state->pitch1);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000858, state->pitch2);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x0000085C, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000860, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x00000864, state->pitch3);
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x000009A4, NV_RD32(chip->PFB, 0x00000200));
+drivers/video/fbdev/riva/riva_hw.c:        NV_WR32(chip->PGRAPH, 0x000009A8, NV_RD32(chip->PFB, 0x00000204));
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->twoHeads) {
+drivers/video/fbdev/riva/riva_hw.c:               NV_WR32(chip->PCRTC0, 0x00000860, state->head);
+drivers/video/fbdev/riva/riva_hw.c:               NV_WR32(chip->PCRTC0, 0x00002860, state->head2);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PRAMDAC, 0x00000404, NV_RD32(chip->PRAMDAC, 0x00000404) | (1 << 25));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008704, 1);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008140, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008920, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008924, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00008908, 0x01ffffff);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x0000890C, 0x01ffffff);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PMC, 0x00001588, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000240, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000250, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000260, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000270, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000280, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x00000290, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x000002A0, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PFB, 0x000002B0, 0);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B00, NV_RD32(chip->PFB, 0x00000240));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B04, NV_RD32(chip->PFB, 0x00000244));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B08, NV_RD32(chip->PFB, 0x00000248));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B0C, NV_RD32(chip->PFB, 0x0000024C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B10, NV_RD32(chip->PFB, 0x00000250));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B14, NV_RD32(chip->PFB, 0x00000254));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B18, NV_RD32(chip->PFB, 0x00000258));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B1C, NV_RD32(chip->PFB, 0x0000025C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B20, NV_RD32(chip->PFB, 0x00000260));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B24, NV_RD32(chip->PFB, 0x00000264));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B28, NV_RD32(chip->PFB, 0x00000268));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B2C, NV_RD32(chip->PFB, 0x0000026C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B30, NV_RD32(chip->PFB, 0x00000270));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B34, NV_RD32(chip->PFB, 0x00000274));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B38, NV_RD32(chip->PFB, 0x00000278));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B3C, NV_RD32(chip->PFB, 0x0000027C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B40, NV_RD32(chip->PFB, 0x00000280));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B44, NV_RD32(chip->PFB, 0x00000284));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B48, NV_RD32(chip->PFB, 0x00000288));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B4C, NV_RD32(chip->PFB, 0x0000028C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B50, NV_RD32(chip->PFB, 0x00000290));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B54, NV_RD32(chip->PFB, 0x00000294));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B58, NV_RD32(chip->PFB, 0x00000298));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B5C, NV_RD32(chip->PFB, 0x0000029C));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B60, NV_RD32(chip->PFB, 0x000002A0));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B64, NV_RD32(chip->PFB, 0x000002A4));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B68, NV_RD32(chip->PFB, 0x000002A8));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B6C, NV_RD32(chip->PFB, 0x000002AC));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B70, NV_RD32(chip->PFB, 0x000002B0));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B74, NV_RD32(chip->PFB, 0x000002B4));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B78, NV_RD32(chip->PFB, 0x000002B8));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000B7C, NV_RD32(chip->PFB, 0x000002BC));
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F40, 0x10000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F44, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000040);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000008);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000200);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000040);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000800);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F40, 0x30000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F44, 0x00000004);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00006400);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00006800);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00006C00);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00007000);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00007400);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00007800);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00004400);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PGRAPH, 0x00000F50, 0x00000040);
+drivers/video/fbdev/riva/riva_hw.c:                NV_WR32(chip->PGRAPH, 0x00000F54, 0x00000000);
+drivers/video/fbdev/riva/riva_hw.c:            NV_WR32(chip->PCRTC, 0x00000810, state->cursorConfig);
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->flatPanel) {
+drivers/video/fbdev/riva/riva_hw.c:               if((chip->Chipset & 0x0ff0) == 0x0110) {
+drivers/video/fbdev/riva/riva_hw.c:                   NV_WR32(chip->PRAMDAC, 0x0528, state->dither);
+drivers/video/fbdev/riva/riva_hw.c:               if((chip->Chipset & 0x0ff0) >= 0x0170) {
+drivers/video/fbdev/riva/riva_hw.c:                   NV_WR32(chip->PRAMDAC, 0x083C, state->dither);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x53);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, 0);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x54);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, 0);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x21);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D5, 0xfa);
+drivers/video/fbdev/riva/riva_hw.c:            VGA_WR08(chip->PCIO, 0x03D4, 0x41);
+drivers/video/fbdev/riva/riva_hw.c:            VGA_WR08(chip->PCIO, 0x03D5, state->extra);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x19);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->repaint0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1A);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->repaint1);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x25);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->screen);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x28);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->pixel);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2D);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->horiz);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1B);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->arbitration0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x20);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->arbitration1);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x30);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->cursor0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x31);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->cursor1);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2F);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->cursor2);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x39);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D5, state->interlace);
+drivers/video/fbdev/riva/riva_hw.c:    if(!chip->flatPanel) {
+drivers/video/fbdev/riva/riva_hw.c:       NV_WR32(chip->PRAMDAC0, 0x00000508, state->vpll);
+drivers/video/fbdev/riva/riva_hw.c:       NV_WR32(chip->PRAMDAC0, 0x0000050C, state->pllsel);
+drivers/video/fbdev/riva/riva_hw.c:       if(chip->twoHeads)
+drivers/video/fbdev/riva/riva_hw.c:          NV_WR32(chip->PRAMDAC0, 0x00000520, state->vpll2);
+drivers/video/fbdev/riva/riva_hw.c:       NV_WR32(chip->PRAMDAC, 0x00000848 , state->scale);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PRAMDAC, 0x00000600 , state->general);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PCRTC, 0x00000140, 0);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PCRTC, 0x00000100, chip->VBlankBit);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PMC, 0x00000140, chip->EnableIRQ & 0x01);
+drivers/video/fbdev/riva/riva_hw.c:    chip->CurrentState = state;
+drivers/video/fbdev/riva/riva_hw.c:    chip->FifoFreeCount  = 0;
+drivers/video/fbdev/riva/riva_hw.c:    chip->FifoEmptyCount = NV_RD32(&chip->Rop->FifoFree, 0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x19);
+drivers/video/fbdev/riva/riva_hw.c:    state->repaint0     = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1A);
+drivers/video/fbdev/riva/riva_hw.c:    state->repaint1     = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x25);
+drivers/video/fbdev/riva/riva_hw.c:    state->screen       = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x28);
+drivers/video/fbdev/riva/riva_hw.c:    state->pixel        = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2D);
+drivers/video/fbdev/riva/riva_hw.c:    state->horiz        = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x1B);
+drivers/video/fbdev/riva/riva_hw.c:    state->arbitration0 = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x20);
+drivers/video/fbdev/riva/riva_hw.c:    state->arbitration1 = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x30);
+drivers/video/fbdev/riva/riva_hw.c:    state->cursor0      = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x31);
+drivers/video/fbdev/riva/riva_hw.c:    state->cursor1      = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x2F);
+drivers/video/fbdev/riva/riva_hw.c:    state->cursor2      = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x03D4, 0x39);
+drivers/video/fbdev/riva/riva_hw.c:    state->interlace    = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:    state->vpll         = NV_RD32(chip->PRAMDAC0, 0x00000508);
+drivers/video/fbdev/riva/riva_hw.c:    state->vpll2        = NV_RD32(chip->PRAMDAC0, 0x00000520);
+drivers/video/fbdev/riva/riva_hw.c:    state->pllsel       = NV_RD32(chip->PRAMDAC0, 0x0000050C);
+drivers/video/fbdev/riva/riva_hw.c:    state->general      = NV_RD32(chip->PRAMDAC, 0x00000600);
+drivers/video/fbdev/riva/riva_hw.c:    state->scale        = NV_RD32(chip->PRAMDAC, 0x00000848);
+drivers/video/fbdev/riva/riva_hw.c:    state->config       = NV_RD32(chip->PFB, 0x00000200);
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:            state->offset0  = NV_RD32(chip->PGRAPH, 0x00000630);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset1  = NV_RD32(chip->PGRAPH, 0x00000634);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset2  = NV_RD32(chip->PGRAPH, 0x00000638);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset3  = NV_RD32(chip->PGRAPH, 0x0000063C);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch0   = NV_RD32(chip->PGRAPH, 0x00000650);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch1   = NV_RD32(chip->PGRAPH, 0x00000654);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch2   = NV_RD32(chip->PGRAPH, 0x00000658);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch3   = NV_RD32(chip->PGRAPH, 0x0000065C);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset0  = NV_RD32(chip->PGRAPH, 0x00000640);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset1  = NV_RD32(chip->PGRAPH, 0x00000644);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset2  = NV_RD32(chip->PGRAPH, 0x00000648);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset3  = NV_RD32(chip->PGRAPH, 0x0000064C);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch0   = NV_RD32(chip->PGRAPH, 0x00000670);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch1   = NV_RD32(chip->PGRAPH, 0x00000674);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch2   = NV_RD32(chip->PGRAPH, 0x00000678);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch3   = NV_RD32(chip->PGRAPH, 0x0000067C);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset0  = NV_RD32(chip->PGRAPH, 0x00000640);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset1  = NV_RD32(chip->PGRAPH, 0x00000644);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset2  = NV_RD32(chip->PGRAPH, 0x00000648);
+drivers/video/fbdev/riva/riva_hw.c:            state->offset3  = NV_RD32(chip->PGRAPH, 0x0000064C);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch0   = NV_RD32(chip->PGRAPH, 0x00000670);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch1   = NV_RD32(chip->PGRAPH, 0x00000674);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch2   = NV_RD32(chip->PGRAPH, 0x00000678);
+drivers/video/fbdev/riva/riva_hw.c:            state->pitch3   = NV_RD32(chip->PGRAPH, 0x0000067C);
+drivers/video/fbdev/riva/riva_hw.c:            if(chip->twoHeads) {
+drivers/video/fbdev/riva/riva_hw.c:               state->head     = NV_RD32(chip->PCRTC0, 0x00000860);
+drivers/video/fbdev/riva/riva_hw.c:               state->head2    = NV_RD32(chip->PCRTC0, 0x00002860);
+drivers/video/fbdev/riva/riva_hw.c:               VGA_WR08(chip->PCIO, 0x03D4, 0x44);
+drivers/video/fbdev/riva/riva_hw.c:               state->crtcOwner = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:            VGA_WR08(chip->PCIO, 0x03D4, 0x41);
+drivers/video/fbdev/riva/riva_hw.c:            state->extra = VGA_RD08(chip->PCIO, 0x03D5);
+drivers/video/fbdev/riva/riva_hw.c:            state->cursorConfig = NV_RD32(chip->PCRTC, 0x00000810);
+drivers/video/fbdev/riva/riva_hw.c:            if((chip->Chipset & 0x0ff0) == 0x0110) {
+drivers/video/fbdev/riva/riva_hw.c:                state->dither = NV_RD32(chip->PRAMDAC, 0x0528);
+drivers/video/fbdev/riva/riva_hw.c:            if((chip->Chipset & 0x0ff0) >= 0x0170) {
+drivers/video/fbdev/riva/riva_hw.c:                state->dither = NV_RD32(chip->PRAMDAC, 0x083C);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(chip->PCRTC, 0x800, start);
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock(chip, 0);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x0D); VGA_WR08(chip->PCIO, 0x3D5, offset);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x0C); VGA_WR08(chip->PCIO, 0x3D5, offset);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x19); tmp = VGA_RD08(chip->PCIO, 0x3D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, (offset & 0x01F) | (tmp & ~0x1F));
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D4, 0x2D); tmp = VGA_RD08(chip->PCIO, 0x3D5);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3D5, (offset & 0x60) | (tmp & ~0x60));
+drivers/video/fbdev/riva/riva_hw.c:    offset = VGA_RD08(chip->PCIO, chip->IO + 0x0A);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3C0, 0x13);
+drivers/video/fbdev/riva/riva_hw.c:    VGA_WR08(chip->PCIO, 0x3C0, pan);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000003);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000004);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000013);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000003);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000004);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000003);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000004);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000005);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000006);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000013);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000005);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000006);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:	(RivaSurface3D __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000007);
+drivers/video/fbdev/riva/riva_hw.c:    NV_WR32(&chip->FIFO[0x00003800], 0, 0x80000014);
+drivers/video/fbdev/riva/riva_hw.c:    if (NV_RD32(&chip->PFB[0x00000000/4], 0) & 0x00000020)
+drivers/video/fbdev/riva/riva_hw.c:        if (((NV_RD32(chip->PMC, 0x00000000) & 0xF0) == 0x20)
+drivers/video/fbdev/riva/riva_hw.c:         && ((NV_RD32(chip->PMC, 0x00000000) & 0x0F) >= 0x02))
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 800000;
+drivers/video/fbdev/riva/riva_hw.c:            switch (NV_RD32(chip->PFB, 0x00000000) & 0x03)
+drivers/video/fbdev/riva/riva_hw.c:                    chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->RamAmountKBytes = 1024 * 2;
+drivers/video/fbdev/riva/riva_hw.c:                    chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamAmountKBytes          = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:        switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 2;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CrystalFreqKHz   = (NV_RD32(chip->PEXTDEV, 0x00000000) & 0x00000040) ? 14318 : 13500;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CURSOR           = &(chip->PRAMIN[0x00008000/4 - 0x0800/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->VBlankBit        = 0x00000100;
+drivers/video/fbdev/riva/riva_hw.c:    chip->MaxVClockFreqKHz = 256000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Busy            = nv3Busy;
+drivers/video/fbdev/riva/riva_hw.c:    chip->ShowHideCursor  = ShowHideCursor;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LoadStateExt    = LoadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->UnloadStateExt  = UnloadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetStartAddress = SetStartAddress3;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces2D   = nv3SetSurfaces2D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces3D   = nv3SetSurfaces3D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock      = nv3LockUnlock;
+drivers/video/fbdev/riva/riva_hw.c:    if (NV_RD32(chip->PFB, 0x00000000) & 0x00000100)
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamAmountKBytes = ((NV_RD32(chip->PFB, 0x00000000) >> 12) & 0x0F) * 1024 * 2
+drivers/video/fbdev/riva/riva_hw.c:        switch (NV_RD32(chip->PFB, 0x00000000) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 32;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 16;
+drivers/video/fbdev/riva/riva_hw.c:    switch ((NV_RD32(chip->PFB, 0x00000000) >> 3) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 800000;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CrystalFreqKHz   = (NV_RD32(chip->PEXTDEV, 0x00000000) & 0x00000040) ? 14318 : 13500;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CURSOR           = &(chip->PRAMIN[0x00010000/4 - 0x0800/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->VBlankBit        = 0x00000001;
+drivers/video/fbdev/riva/riva_hw.c:    chip->MaxVClockFreqKHz = 350000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Busy            = nv4Busy;
+drivers/video/fbdev/riva/riva_hw.c:    chip->ShowHideCursor  = ShowHideCursor;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LoadStateExt    = LoadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->UnloadStateExt  = UnloadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetStartAddress = SetStartAddress;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces2D   = nv4SetSurfaces2D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces3D   = nv4SetSurfaces3D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock      = nv4LockUnlock;
+drivers/video/fbdev/riva/riva_hw.c:    if(!(NV_RD32(chip->PMC, 0x00000004) & 0x01000001))
+drivers/video/fbdev/riva/riva_hw.c:    	NV_WR32(chip->PMC, 0x00000004, 0x01000001);
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamAmountKBytes = (((amt >> 6) & 31) + 1) * 1024;
+drivers/video/fbdev/riva/riva_hw.c:        chip->RamAmountKBytes = (((amt >> 4) & 127) + 1) * 1024;
+drivers/video/fbdev/riva/riva_hw.c:        switch ((NV_RD32(chip->PFB, 0x0000020C) >> 20) & 0x000000FF)
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 2;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 4;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 8;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 16;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 32;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 64;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 128;
+drivers/video/fbdev/riva/riva_hw.c:                chip->RamAmountKBytes = 1024 * 16;
+drivers/video/fbdev/riva/riva_hw.c:    switch ((NV_RD32(chip->PFB, 0x00000000) >> 3) & 0x00000003)
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 800000;
+drivers/video/fbdev/riva/riva_hw.c:            chip->RamBandwidthKBytesPerSec = 1000000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CrystalFreqKHz = (NV_RD32(chip->PEXTDEV, 0x0000) & (1 << 6)) ?
+drivers/video/fbdev/riva/riva_hw.c:       if(NV_RD32(chip->PEXTDEV, 0x0000) & (1 << 22))
+drivers/video/fbdev/riva/riva_hw.c:           chip->CrystalFreqKHz = 27000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CursorStart      = (chip->RamAmountKBytes - 128) * 1024;
+drivers/video/fbdev/riva/riva_hw.c:    chip->CURSOR           = NULL;  /* can't set this here */
+drivers/video/fbdev/riva/riva_hw.c:    chip->VBlankBit        = 0x00000001;
+drivers/video/fbdev/riva/riva_hw.c:    chip->MaxVClockFreqKHz = 350000;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Busy            = nv10Busy;
+drivers/video/fbdev/riva/riva_hw.c:    chip->ShowHideCursor  = ShowHideCursor;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LoadStateExt    = LoadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->UnloadStateExt  = UnloadStateExt;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetStartAddress = SetStartAddress;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces2D   = nv10SetSurfaces2D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->SetSurfaces3D   = nv10SetSurfaces3D;
+drivers/video/fbdev/riva/riva_hw.c:    chip->LockUnlock      = nv4LockUnlock;
+drivers/video/fbdev/riva/riva_hw.c:        chip->twoHeads = TRUE;
+drivers/video/fbdev/riva/riva_hw.c:        chip->twoHeads = FALSE;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Version = RIVA_SW_VERSION;
+drivers/video/fbdev/riva/riva_hw.c:    switch (chip->Architecture)
+drivers/video/fbdev/riva/riva_hw.c:    chip->Chipset = chipset;
+drivers/video/fbdev/riva/riva_hw.c:    chip->Rop    = (RivaRop __iomem         *)&(chip->FIFO[0x00000000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Clip   = (RivaClip __iomem        *)&(chip->FIFO[0x00002000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Patt   = (RivaPattern __iomem     *)&(chip->FIFO[0x00004000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Pixmap = (RivaPixmap __iomem      *)&(chip->FIFO[0x00006000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Blt    = (RivaScreenBlt __iomem   *)&(chip->FIFO[0x00008000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Bitmap = (RivaBitmap __iomem      *)&(chip->FIFO[0x0000A000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Line   = (RivaLine __iomem        *)&(chip->FIFO[0x0000C000/4]);
+drivers/video/fbdev/riva/riva_hw.c:    chip->Tri03  = (RivaTexturedTriangle03 __iomem *)&(chip->FIFO[0x0000E000/4]);
+drivers/video/fbdev/via/dvi.c:	restore = tmds_chip->tmds_chip_slave_addr;
+drivers/video/fbdev/via/dvi.c:	tmds_chip->tmds_chip_slave_addr = 0xA0;
+drivers/video/fbdev/via/dvi.c:	tmds_chip->tmds_chip_slave_addr = restore;
+drivers/watchdog/da9062_wdt.c:	regmap_update_bits(chip->regmap,
+drivers/watchdog/da9062_wdt.c:	return regmap_update_bits(chip->regmap,
+drivers/watchdog/imx2_wdt.c:	/* Generate internal chip-level reset if WDOG times out */
+include/linux/amba/pl022.h: * assert/deassert I/O port to control HW generation of devices chip-select.
+include/linux/bcma/bcma_driver_chipcommon.h:/* 43224 chip-specific ChipControl register bits */
+include/linux/cb710.h:	return &chip->pdev->dev;
+include/linux/edac.h:	int csrow_idx;			/* the chip-select row */
+include/linux/gpio/driver.h: * @request: optional hook for chip-specific activation, such as
+include/linux/gpio/driver.h: * @free: optional hook for chip-specific deactivation, such as
+include/linux/gpio/driver.h: * @bgpio_lock: used to lock chip->bgpio_data. Also, this is needed to keep
+include/linux/gpio/driver.h:	 * Callback to translate a device tree GPIO specifier into a chip-
+include/linux/gpio/driver.h: * @chip: the chip to register, with chip->base initialized
+include/linux/gpio/driver.h: * can be freely used, the chip->parent device must be registered before
+include/linux/gpio/driver.h: * If chip->base is negative, this requests dynamic assignment of
+include/linux/gpio/driver.h: * chip->base is invalid or already associated with a different chip.
+include/linux/iio/frequency/ad9523.h: * @sync_ignore_en: Ignore chip-level SYNC signal.
+include/linux/irq.h: * Return value for chip->irq_set_affinity()
+include/linux/irq.h: * @irq_enable:		enable the interrupt (defaults to chip->unmask if NULL)
+include/linux/irqchip/chained_irq.h:	if (chip->irq_eoi)
+include/linux/irqchip/chained_irq.h:	if (chip->irq_mask_ack) {
+include/linux/irqchip/chained_irq.h:		chip->irq_mask_ack(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:		chip->irq_mask(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:		if (chip->irq_ack)
+include/linux/irqchip/chained_irq.h:			chip->irq_ack(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:	if (chip->irq_eoi)
+include/linux/irqchip/chained_irq.h:		chip->irq_eoi(&desc->irq_data);
+include/linux/irqchip/chained_irq.h:		chip->irq_unmask(&desc->irq_data);
+include/linux/mfd/88pm80x.h:		set_bit(irq, &chip->wu_flag);
+include/linux/mfd/88pm80x.h:		clear_bit(irq, &chip->wu_flag);
+include/linux/mfd/twl.h:/* chip-specific feature flags, for twl_regulator_driver_data.features */
+include/linux/mtd/rawnand.h:#define NAND_HAS_SUBPAGE_READ(chip) ((chip->options & NAND_SUBPAGE_READ))
+include/linux/mtd/rawnand.h: * The actual operation structure that will be passed to chip->exec_op().
+include/linux/mtd/rawnand.h: *		 This method replaces chip->legacy.cmdfunc(),
+include/linux/mtd/rawnand.h: *		 chip->legacy.{read,write}_{buf,byte,word}(),
+include/linux/mtd/rawnand.h: *		 chip->legacy.dev_ready() and chip->legacy.waifunc().
+include/linux/mtd/rawnand.h:	return &chip->base.mtd;
+include/linux/mtd/rawnand.h:	return chip->priv;
+include/linux/mtd/rawnand.h:	chip->priv = priv;
+include/linux/mtd/rawnand.h:	chip->manufacturer.priv = priv;
+include/linux/mtd/rawnand.h:	return chip->manufacturer.priv;
+include/linux/mtd/rawnand.h:	WARN(nanddev_bits_per_cell(&chip->base) == 0,
+include/linux/mtd/rawnand.h:	     "chip->bits_per_cell is used uninitialized\n");
+include/linux/mtd/rawnand.h:	return nanddev_bits_per_cell(&chip->base) == 1;
+include/linux/mtd/rawnand.h:	chip->pagecache.page = -1;
+include/linux/mtd/rawnand.h:	return chip->data_buf;
+include/linux/mux/driver.h:	return &mux_chip->mux[mux_chip->controllers];
+include/linux/mux/driver.h:	return mux - mux->chip->mux;
+include/linux/platform_data/emif_plat.h: *		chip-select(CS1) of this EMIF instance
+include/linux/platform_data/emif_plat.h: *		chip-select or whether it's a single one for both
+include/linux/platform_data/mtd-davinci.h:	 * 0-indexed chip-select number of the asynchronous
+include/linux/platform_data/spi-davinci.h: * davinci_spi_config - Per-chip-select configuration for SPI slave devices
+include/linux/platform_data/spi-davinci.h: * @timer_disable: disable chip-select timers (setup and hold)
+include/linux/platform_data/spi-davinci.h: * @c2tdelay:	chip-select setup time. Measured in number of SPI module clocks.
+include/linux/platform_data/spi-davinci.h: * @t2cdelay:	chip-select hold time. Measured in number of SPI module clocks.
+include/linux/platform_data/spi-davinci.h: * @c2edelay:	chip-select active to SPI ENAn signal active time. Measured in
+include/linux/platform_data/ti-aemif.h: * @cs_offset: Lowest allowed chip-select number.
+include/linux/pwm.h: * @chip_data: chip-private data associated with the PWM device
+include/linux/ti_wilink_st.h: *	to take chip-host interface specific action.
+include/linux/usb/usbnet.h: * much everything except custom framing and chip-specific stuff.
+include/soc/fsl/qe/qe_ic.h:	chip->irq_eoi(&desc->irq_data);
+include/soc/fsl/qe/qe_ic.h:	chip->irq_eoi(&desc->irq_data);
+include/soc/fsl/qe/qe_ic.h:	chip->irq_eoi(&desc->irq_data);
+include/sound/ad1816a.h:#define AD1816A_REG(r)			(chip->port + r)
+include/sound/vx_core.h:	return chip->ops->test_and_ack(chip);
+include/sound/vx_core.h:	chip->ops->validate_irq(chip, enable);
+include/sound/vx_core.h:	return chip->ops->in8(chip, reg);
+include/sound/vx_core.h:	return chip->ops->in32(chip, reg);
+include/sound/vx_core.h:	chip->ops->out8(chip, reg, val);
+include/sound/vx_core.h:	chip->ops->out32(chip, reg, val);
+include/sound/vx_core.h:	chip->ops->reset_dsp(chip);
+include/sound/vx_core.h:	chip->ops->dma_write(chip, runtime, pipe, count);
+include/sound/vx_core.h:	chip->ops->dma_read(chip, runtime, pipe, count);
+kernel/irq/autoprobe.c:			if (desc->irq_data.chip->irq_set_type)
+kernel/irq/autoprobe.c:				desc->irq_data.chip->irq_set_type(&desc->irq_data,
+kernel/irq/chip.c:	if (d->chip->irq_startup) {
+kernel/irq/chip.c:		ret = d->chip->irq_startup(d);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_shutdown) {
+kernel/irq/chip.c:			desc->irq_data.chip->irq_shutdown(&desc->irq_data);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_enable) {
+kernel/irq/chip.c:			desc->irq_data.chip->irq_enable(&desc->irq_data);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_disable) {
+kernel/irq/chip.c:			desc->irq_data.chip->irq_disable(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_enable)
+kernel/irq/chip.c:		desc->irq_data.chip->irq_enable(&desc->irq_data);
+kernel/irq/chip.c:		desc->irq_data.chip->irq_unmask(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_disable)
+kernel/irq/chip.c:		desc->irq_data.chip->irq_disable(&desc->irq_data);
+kernel/irq/chip.c:		desc->irq_data.chip->irq_mask(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_mask_ack) {
+kernel/irq/chip.c:		desc->irq_data.chip->irq_mask_ack(&desc->irq_data);
+kernel/irq/chip.c:		if (desc->irq_data.chip->irq_ack)
+kernel/irq/chip.c:			desc->irq_data.chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_mask) {
+kernel/irq/chip.c:		desc->irq_data.chip->irq_mask(&desc->irq_data);
+kernel/irq/chip.c:	if (desc->irq_data.chip->irq_unmask) {
+kernel/irq/chip.c:		desc->irq_data.chip->irq_unmask(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->flags & IRQCHIP_EOI_THREADED)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	} else if (!(chip->flags & IRQCHIP_EOI_THREADED)) {
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED))
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_ack)
+kernel/irq/chip.c:		chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_ack)
+kernel/irq/chip.c:		chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (chip->irq_eoi)
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:		if (chip && chip->irq_cpu_online &&
+kernel/irq/chip.c:		    (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) ||
+kernel/irq/chip.c:			chip->irq_cpu_online(&desc->irq_data);
+kernel/irq/chip.c:		if (chip && chip->irq_cpu_offline &&
+kernel/irq/chip.c:		    (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) ||
+kernel/irq/chip.c:			chip->irq_cpu_offline(&desc->irq_data);
+kernel/irq/chip.c:	desc->irq_data.chip->irq_ack(&desc->irq_data);
+kernel/irq/chip.c:	if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED))
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED))
+kernel/irq/chip.c:		chip->irq_eoi(&desc->irq_data);
+kernel/irq/chip.c:	if (!data || !data->chip->irq_set_irqchip_state)
+kernel/irq/chip.c:	return data->chip->irq_set_irqchip_state(data, which, val);
+kernel/irq/chip.c:	if (!data || !data->chip->irq_get_irqchip_state)
+kernel/irq/chip.c:	return data->chip->irq_get_irqchip_state(data, which, state);
+kernel/irq/chip.c:	if (data->chip->irq_enable)
+kernel/irq/chip.c:		data->chip->irq_enable(data);
+kernel/irq/chip.c:		data->chip->irq_unmask(data);
+kernel/irq/chip.c:	if (data->chip->irq_disable)
+kernel/irq/chip.c:		data->chip->irq_disable(data);
+kernel/irq/chip.c:		data->chip->irq_mask(data);
+kernel/irq/chip.c:	data->chip->irq_ack(data);
+kernel/irq/chip.c:	data->chip->irq_mask(data);
+kernel/irq/chip.c:	data->chip->irq_mask_ack(data);
+kernel/irq/chip.c:	data->chip->irq_unmask(data);
+kernel/irq/chip.c:	data->chip->irq_eoi(data);
+kernel/irq/chip.c:	if (data->chip->irq_set_affinity)
+kernel/irq/chip.c:		return data->chip->irq_set_affinity(data, dest, force);
+kernel/irq/chip.c:	if (data->chip->irq_set_type)
+kernel/irq/chip.c:		return data->chip->irq_set_type(data, type);
+kernel/irq/chip.c:		if (data->chip && data->chip->irq_retrigger)
+kernel/irq/chip.c:			return data->chip->irq_retrigger(data);
+kernel/irq/chip.c:	if (data->chip->irq_set_vcpu_affinity)
+kernel/irq/chip.c:		return data->chip->irq_set_vcpu_affinity(data, vcpu_info);
+kernel/irq/chip.c:	if (data->chip->flags & IRQCHIP_SKIP_SET_WAKE)
+kernel/irq/chip.c:	if (data->chip->irq_set_wake)
+kernel/irq/chip.c:		return data->chip->irq_set_wake(data, on);
+kernel/irq/chip.c:	if (data->chip->irq_request_resources)
+kernel/irq/chip.c:		return data->chip->irq_request_resources(data);
+kernel/irq/chip.c:	if (data->chip->irq_release_resources)
+kernel/irq/chip.c:		data->chip->irq_release_resources(data);
+kernel/irq/chip.c:		if (data->chip && data->chip->irq_compose_msi_msg)
+kernel/irq/chip.c:	pos->chip->irq_compose_msi_msg(pos, msg);
+kernel/irq/chip.c:	if (IS_ENABLED(CONFIG_PM) && data->chip->parent_device) {
+kernel/irq/chip.c:		retval = pm_runtime_get_sync(data->chip->parent_device);
+kernel/irq/chip.c:			pm_runtime_put_noidle(data->chip->parent_device);
+kernel/irq/chip.c:	if (IS_ENABLED(CONFIG_PM) && data->chip->parent_device)
+kernel/irq/chip.c:		retval = pm_runtime_put(data->chip->parent_device);
+kernel/irq/cpuhotplug.c:	if (!chip || !chip->irq_set_affinity) {
+kernel/irq/cpuhotplug.c:	if (maskchip && chip->irq_mask)
+kernel/irq/cpuhotplug.c:		chip->irq_mask(d);
+kernel/irq/cpuhotplug.c:	if (maskchip && chip->irq_unmask)
+kernel/irq/cpuhotplug.c:		chip->irq_unmask(d);
+kernel/irq/debugfs.c:	seq_printf(m, "%*schip:    %s\n", ind, "", chip->name);
+kernel/irq/debugfs.c:	seq_printf(m, "%*sflags:   0x%lx\n", ind + 1, "", chip->flags);
+kernel/irq/debugfs.c:	irq_debug_show_bits(m, ind, chip->flags, irqchip_flags,
+kernel/irq/generic-chip.c:	if (chip->irq_calc_mask)
+kernel/irq/generic-chip.c:		chip->irq_calc_mask(data);
+kernel/irq/generic-chip.c:			if (chip->irq_calc_mask)
+kernel/irq/generic-chip.c:				chip->irq_calc_mask(d);
+kernel/irq/generic-chip.c: * Only to be called from chip->irq_set_type() callbacks.
+kernel/irq/internals.h:	if (unlikely(desc->irq_data.chip->irq_bus_lock))
+kernel/irq/internals.h:		desc->irq_data.chip->irq_bus_lock(&desc->irq_data);
+kernel/irq/internals.h:	if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock))
+kernel/irq/internals.h:		desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data);
+kernel/irq/ipi.c:	if (!chip->ipi_send_single && !chip->ipi_send_mask)
+kernel/irq/ipi.c:	if (!chip->ipi_send_single) {
+kernel/irq/ipi.c:		chip->ipi_send_mask(data, cpumask_of(cpu));
+kernel/irq/ipi.c:	chip->ipi_send_single(data, cpu);
+kernel/irq/ipi.c:	if (chip->ipi_send_mask) {
+kernel/irq/ipi.c:		chip->ipi_send_mask(data, dest);
+kernel/irq/ipi.c:			chip->ipi_send_single(data, cpu);
+kernel/irq/ipi.c:			chip->ipi_send_single(data, cpu);
+kernel/irq/irqdesc.c:	if (desc->irq_data.chip && desc->irq_data.chip->name) {
+kernel/irq/irqdesc.c:				desc->irq_data.chip->name);
+kernel/irq/irqdomain.c:			domain->name = irq_data->chip->name;
+kernel/irq/irqdomain.c:			domain->name = data->chip->name;
+kernel/irq/manage.c:	    !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity)
+kernel/irq/manage.c:		     chip->name, data->irq);
+kernel/irq/manage.c:	if (!chip || !chip->irq_set_affinity)
+kernel/irq/manage.c:	ret = chip->irq_set_affinity(data, mask, force);
+kernel/irq/manage.c:	if (!chip || !chip->irq_set_affinity)
+kernel/irq/manage.c:		if (chip && chip->irq_set_vcpu_affinity)
+kernel/irq/manage.c:		ret = chip->irq_set_vcpu_affinity(data, vcpu_info);
+kernel/irq/manage.c: *	desc->irq_data.chip->bus_lock and desc->chip->bus_sync_unlock are NULL !
+kernel/irq/manage.c:	if (desc->irq_data.chip->irq_set_wake)
+kernel/irq/manage.c:		ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on);
+kernel/irq/manage.c:	if (!chip || !chip->irq_set_type) {
+kernel/irq/manage.c:			 chip ? (chip->name ? : "unknown") : "unknown");
+kernel/irq/manage.c:	if (chip->flags & IRQCHIP_SET_TYPE_MASKED) {
+kernel/irq/manage.c:	ret = chip->irq_set_type(&desc->irq_data, flags);
+kernel/irq/manage.c:		       flags, irq_desc_get_irq(desc), chip->irq_set_type);
+kernel/irq/manage.c:	if (d->chip->irq_bus_lock || d->chip->irq_bus_sync_unlock)
+kernel/irq/manage.c:	return d->chip->flags & IRQCHIP_SUPPORTS_NMI;
+kernel/irq/manage.c:	if (desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE)
+kernel/irq/manage.c:			       new->name, irq, desc->irq_data.chip->name);
+kernel/irq/manage.c:				new->name, irq, desc->irq_data.chip->name);
+kernel/irq/manage.c:		   !(desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE)) {
+kernel/irq/manage.c:		if (chip->irq_get_irqchip_state)
+kernel/irq/manage.c:		err = chip->irq_get_irqchip_state(data, which, state);
+kernel/irq/manage.c:		if (chip->irq_set_irqchip_state)
+kernel/irq/manage.c:		err = chip->irq_set_irqchip_state(data, which, val);
+kernel/irq/migration.c:	if (!chip->irq_set_affinity)
+kernel/irq/migration.c:		idata->chip->irq_mask(idata);
+kernel/irq/migration.c:		idata->chip->irq_unmask(idata);
+kernel/irq/msi.c:	data->chip->irq_write_msi_msg(data, msg);
+kernel/irq/msi.c:		  (info->chip->flags & IRQCHIP_SUPPORTS_LEVEL_MSI)) &&
+kernel/irq/msi.c:	ret = parent->chip->irq_set_affinity(parent, mask, force);
+kernel/irq/msi.c:	BUG_ON(!chip || !chip->irq_mask || !chip->irq_unmask);
+kernel/irq/msi.c:	if (!chip->irq_set_affinity)
+kernel/irq/msi.c:		chip->irq_set_affinity = msi_domain_set_affinity;
+kernel/irq/msi.c:		domain->name = info->chip->name;
+kernel/irq/proc.c:		if (desc->irq_data.chip->irq_print_chip)
+kernel/irq/proc.c:			desc->irq_data.chip->irq_print_chip(&desc->irq_data, p);
+kernel/irq/proc.c:		else if (desc->irq_data.chip->name)
+kernel/irq/proc.c:			seq_printf(p, " %8s", desc->irq_data.chip->name);
+kernel/irq/resend.c:		if (!desc->irq_data.chip->irq_retrigger ||
+kernel/irq/resend.c:		    !desc->irq_data.chip->irq_retrigger(&desc->irq_data)) {
+net/dsa/tag_lan9303.c:	return chip->is_bridged && !is_multicast_ether_addr(dest_addr);
+scripts/Kbuild.include:# Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586)
+scripts/Kbuild.include:# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
+scripts/Kbuild.include:# Usage: flag := $(call cc-option-yn,-march=winchip-c6)
+security/integrity/ima/ima_queue.c:	for (i = 0; i < ima_tpm_chip->nr_allocated_banks; i++)
+security/integrity/ima/ima_queue.c:	digests = kcalloc(ima_tpm_chip->nr_allocated_banks, sizeof(*digests),
+security/integrity/ima/ima_queue.c:	for (i = 0; i < ima_tpm_chip->nr_allocated_banks; i++)
+security/integrity/ima/ima_queue.c:		digests[i].alg_id = ima_tpm_chip->allocated_banks[i].alg_id;
+security/keys/trusted-keys/trusted_tpm1.c:	digests = kcalloc(chip->nr_allocated_banks, sizeof(*digests),
+security/keys/trusted-keys/trusted_tpm1.c:	for (i = 0; i < chip->nr_allocated_banks; i++)
+security/keys/trusted-keys/trusted_tpm1.c:		digests[i].alg_id = chip->allocated_banks[i].alg_id;
+security/keys/trusted-keys/trusted_tpm1.c:	put_device(&chip->dev);
+security/keys/trusted-keys/trusted_tpm1.c:		put_device(&chip->dev);
+sound/atmel/ac97c.c:	chip->opened++;
+sound/atmel/ac97c.c:	if (chip->cur_rate) {
+sound/atmel/ac97c.c:		runtime->hw.rate_min = chip->cur_rate;
+sound/atmel/ac97c.c:		runtime->hw.rate_max = chip->cur_rate;
+sound/atmel/ac97c.c:	if (chip->cur_format)
+sound/atmel/ac97c.c:		runtime->hw.formats = pcm_format_to_bits(chip->cur_format);
+sound/atmel/ac97c.c:	chip->playback_substream = substream;
+sound/atmel/ac97c.c:	chip->opened++;
+sound/atmel/ac97c.c:	if (chip->cur_rate) {
+sound/atmel/ac97c.c:		runtime->hw.rate_min = chip->cur_rate;
+sound/atmel/ac97c.c:		runtime->hw.rate_max = chip->cur_rate;
+sound/atmel/ac97c.c:	if (chip->cur_format)
+sound/atmel/ac97c.c:		runtime->hw.formats = pcm_format_to_bits(chip->cur_format);
+sound/atmel/ac97c.c:	chip->capture_substream = substream;
+sound/atmel/ac97c.c:	chip->opened--;
+sound/atmel/ac97c.c:	if (!chip->opened) {
+sound/atmel/ac97c.c:		chip->cur_rate = 0;
+sound/atmel/ac97c.c:		chip->cur_format = 0;
+sound/atmel/ac97c.c:	chip->playback_substream = NULL;
+sound/atmel/ac97c.c:	chip->opened--;
+sound/atmel/ac97c.c:	if (!chip->opened) {
+sound/atmel/ac97c.c:		chip->cur_rate = 0;
+sound/atmel/ac97c.c:		chip->cur_format = 0;
+sound/atmel/ac97c.c:	chip->capture_substream = NULL;
+sound/atmel/ac97c.c:	chip->cur_rate = params_rate(hw_params);
+sound/atmel/ac97c.c:	chip->cur_format = params_format(hw_params);
+sound/atmel/ac97c.c:	chip->cur_rate = params_rate(hw_params);
+sound/atmel/ac97c.c:	chip->cur_format = params_format(hw_params);
+sound/atmel/ac97c.c:	chip->playback_period = 0;
+sound/atmel/ac97c.c:	if (chip->opened <= 1)
+sound/atmel/ac97c.c:	retval = snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE,
+sound/atmel/ac97c.c:		dev_dbg(&chip->pdev->dev, "could not set rate %d Hz\n",
+sound/atmel/ac97c.c:	writel(runtime->dma_addr, chip->regs + ATMEL_PDC_TPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_TCR);
+sound/atmel/ac97c.c:	writel(runtime->dma_addr + block_size, chip->regs + ATMEL_PDC_TNPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_TNCR);
+sound/atmel/ac97c.c:	chip->capture_period = 0;
+sound/atmel/ac97c.c:	if (chip->opened <= 1)
+sound/atmel/ac97c.c:	retval = snd_ac97_set_rate(chip->ac97, AC97_PCM_LR_ADC_RATE,
+sound/atmel/ac97c.c:		dev_dbg(&chip->pdev->dev, "could not set rate %d Hz\n",
+sound/atmel/ac97c.c:	writel(runtime->dma_addr, chip->regs + ATMEL_PDC_RPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_RCR);
+sound/atmel/ac97c.c:	writel(runtime->dma_addr + block_size, chip->regs + ATMEL_PDC_RNPR);
+sound/atmel/ac97c.c:	writel(block_size / 2, chip->regs + ATMEL_PDC_RNCR);
+sound/atmel/ac97c.c:		if (chip->opened <= 1)
+sound/atmel/ac97c.c:	writel(ptcr, chip->regs + ATMEL_PDC_PTCR);
+sound/atmel/ac97c.c:	ptcr = readl(chip->regs + ATMEL_PDC_PTSR);
+sound/atmel/ac97c.c:		if (chip->opened <= 1)
+sound/atmel/ac97c.c:	writel(ptcr, chip->regs + ATMEL_PDC_PTCR);
+sound/atmel/ac97c.c:	bytes = readl(chip->regs + ATMEL_PDC_TPR);
+sound/atmel/ac97c.c:	bytes = readl(chip->regs + ATMEL_PDC_RPR);
+sound/atmel/ac97c.c:		dev_dbg(&chip->pdev->dev, "channel A event%s%s%s%s%s%s\n",
+sound/atmel/ac97c.c:			runtime = chip->playback_substream->runtime;
+sound/atmel/ac97c.c:			chip->playback_period++;
+sound/atmel/ac97c.c:			if (chip->playback_period == runtime->periods)
+sound/atmel/ac97c.c:				chip->playback_period = 0;
+sound/atmel/ac97c.c:			next_period = chip->playback_period + 1;
+sound/atmel/ac97c.c:			writel(runtime->dma_addr + offset, chip->regs + ATMEL_PDC_TNPR);
+sound/atmel/ac97c.c:			writel(block_size / 2, chip->regs + ATMEL_PDC_TNCR);
+sound/atmel/ac97c.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/atmel/ac97c.c:			runtime = chip->capture_substream->runtime;
+sound/atmel/ac97c.c:			chip->capture_period++;
+sound/atmel/ac97c.c:			if (chip->capture_period == runtime->periods)
+sound/atmel/ac97c.c:				chip->capture_period = 0;
+sound/atmel/ac97c.c:			next_period = chip->capture_period + 1;
+sound/atmel/ac97c.c:			writel(runtime->dma_addr + offset, chip->regs + ATMEL_PDC_RNPR);
+sound/atmel/ac97c.c:			writel(block_size / 2, chip->regs + ATMEL_PDC_RNCR);
+sound/atmel/ac97c.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/atmel/ac97c.c:		dev_info(&chip->pdev->dev, "codec channel event%s%s%s%s%s\n",
+sound/atmel/ac97c.c:		dev_err(&chip->pdev->dev, "spurious interrupt sr 0x%08x "
+sound/atmel/ac97c.c:	retval = snd_ac97_pcm_assign(chip->ac97_bus,
+sound/atmel/ac97c.c:	retval = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/atmel/ac97c.c:			&chip->pdev->dev, hw.periods_min * hw.period_bytes_min,
+sound/atmel/ac97c.c:	strcpy(pcm->name, chip->card->shortname);
+sound/atmel/ac97c.c:	chip->pcm = pcm;
+sound/atmel/ac97c.c:	return snd_ac97_mixer(chip->ac97_bus, &template, &chip->ac97);
+sound/atmel/ac97c.c:	dev_dbg(&chip->pdev->dev, "codec write timeout\n");
+sound/atmel/ac97c.c:	dev_dbg(&chip->pdev->dev, "codec read timeout\n");
+sound/atmel/ac97c.c:	if (!IS_ERR(chip->reset_pin)) {
+sound/atmel/ac97c.c:		gpiod_set_value(chip->reset_pin, 0);
+sound/atmel/ac97c.c:		gpiod_set_value(chip->reset_pin, 1);
+sound/atmel/ac97c.c:	chip->irq = irq;
+sound/atmel/ac97c.c:	spin_lock_init(&chip->lock);
+sound/atmel/ac97c.c:	chip->card = card;
+sound/atmel/ac97c.c:	chip->pclk = pclk;
+sound/atmel/ac97c.c:	chip->pdev = pdev;
+sound/atmel/ac97c.c:	chip->regs = ioremap(regs->start, resource_size(regs));
+sound/atmel/ac97c.c:	if (!chip->regs) {
+sound/atmel/ac97c.c:	chip->reset_pin = devm_gpiod_get_index(dev, "ac97", 2, GPIOD_OUT_HIGH);
+sound/atmel/ac97c.c:	if (IS_ERR(chip->reset_pin))
+sound/atmel/ac97c.c:	retval = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus);
+sound/atmel/ac97c.c:			chip->regs, irq);
+sound/atmel/ac97c.c:	iounmap(chip->regs);
+sound/atmel/ac97c.c:	clk_disable_unprepare(chip->pclk);
+sound/atmel/ac97c.c:	int ret = clk_prepare_enable(chip->pclk);
+sound/atmel/ac97c.c:	clk_disable_unprepare(chip->pclk);
+sound/atmel/ac97c.c:	clk_put(chip->pclk);
+sound/atmel/ac97c.c:	iounmap(chip->regs);
+sound/atmel/ac97c.c:	free_irq(chip->irq, chip);
+sound/drivers/dummy.c:	snd_card_rw_proc_new(chip->card, "dummy_pcm", chip,
+sound/drivers/mtpav.c: *  where X = chip->num_ports
+sound/drivers/mtpav.c:	else if (subdev < chip->num_ports)
+sound/drivers/mtpav.c:	else if (subdev < chip->num_ports * 2)
+sound/drivers/mtpav.c:		return subdev - chip->num_ports + 0x09; /* remote port */
+sound/drivers/mtpav.c:	else if (subdev == chip->num_ports * 2 + MTPAV_PIDX_COMPUTER)
+sound/drivers/mtpav.c:	else if (subdev == chip->num_ports + MTPAV_PIDX_ADAT)
+sound/drivers/mtpav.c:		return chip->num_ports + MTPAV_PIDX_BROADCAST;
+sound/drivers/mtpav.c:		if (p >= chip->num_ports)
+sound/drivers/mtpav.c:		p = hwport - 0x09 + chip->num_ports;
+sound/drivers/mtpav.c:		if (p >= chip->num_ports * 2)
+sound/drivers/mtpav.c:			p = chip->num_ports;
+sound/drivers/mtpav.c:		return chip->num_ports + MTPAV_PIDX_COMPUTER;
+sound/drivers/mtpav.c:		return chip->num_ports + MTPAV_PIDX_ADAT;
+sound/drivers/mtpav.c:		rval = inb(chip->port + SREG);
+sound/drivers/mtpav.c:		rval = inb(chip->port + CREG);
+sound/drivers/mtpav.c:		outb(val, chip->port + reg);
+sound/drivers/mtpav.c:	spin_lock_irqsave(&chip->spinlock, flags);
+sound/drivers/mtpav.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/drivers/mtpav.c:	for (p = 0; p <= chip->num_ports * 2 + MTPAV_PIDX_BROADCAST; p++) {
+sound/drivers/mtpav.c:		struct mtpav_port *portp = &chip->ports[p];
+sound/drivers/mtpav.c:	spin_unlock_irqrestore(&chip->spinlock, flags);
+sound/drivers/mtpav.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/drivers/mtpav.c:	del_timer(&chip->timer);
+sound/drivers/mtpav.c:	if (substream->number >= 0 && substream->number < chip->num_ports)
+sound/drivers/mtpav.c:		sprintf(substream->name, "MTP direct %d", (substream->number % chip->num_ports) + 1);
+sound/drivers/mtpav.c:	else if (substream->number >= 8 && substream->number < chip->num_ports * 2)
+sound/drivers/mtpav.c:		sprintf(substream->name, "MTP remote %d", (substream->number % chip->num_ports) + 1);
+sound/drivers/mtpav.c:	else if (substream->number == chip->num_ports * 2)
+sound/drivers/mtpav.c:	else if (substream->number == chip->num_ports * 2 + 1)
+sound/drivers/pcsp/pcsp.c:	snd_card_free(chip->card);
+sound/drivers/pcsp/pcsp.c:	pcspkr_input_remove(chip->input_dev);
+sound/drivers/pcsp/pcsp.h:#define CUR_DIV() CALC_DIV(chip->treble)
+sound/drivers/pcsp/pcsp.h:#define PCSP_INDEX_INC() (1 << (PCSP_MAX_TREBLE - chip->treble))
+sound/drivers/pcsp/pcsp.h:#define PCSP_RATE() PCSP_CALC_RATE(chip->treble)
+sound/drivers/pcsp/pcsp_lib.c:	if (chip->thalf) {
+sound/drivers/pcsp/pcsp_lib.c:		outb(chip->val61, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:		chip->thalf = 0;
+sound/drivers/pcsp/pcsp_lib.c:		return chip->ns_rem;
+sound/drivers/pcsp/pcsp_lib.c:	substream = chip->playback_substream;
+sound/drivers/pcsp/pcsp_lib.c:	val = runtime->dma_area[chip->playback_ptr + chip->fmt_size - 1];
+sound/drivers/pcsp/pcsp_lib.c:	if (chip->is_signed)
+sound/drivers/pcsp/pcsp_lib.c:	if (timer_cnt && chip->enable) {
+sound/drivers/pcsp/pcsp_lib.c:			outb_p(chip->val61, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:			outb(chip->val61 ^ 1, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:			outb(chip->val61 ^ 2, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:			chip->thalf = 1;
+sound/drivers/pcsp/pcsp_lib.c:	chip->ns_rem = PCSP_PERIOD_NS();
+sound/drivers/pcsp/pcsp_lib.c:	ns = (chip->thalf ? PCSP_CALC_NS(timer_cnt) : chip->ns_rem);
+sound/drivers/pcsp/pcsp_lib.c:	chip->ns_rem -= ns;
+sound/drivers/pcsp/pcsp_lib.c:	substream = chip->playback_substream;
+sound/drivers/pcsp/pcsp_lib.c:	spin_lock_irqsave(&chip->substream_lock, flags);
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_ptr += PCSP_INDEX_INC() * chip->fmt_size;
+sound/drivers/pcsp/pcsp_lib.c:	periods_elapsed = chip->playback_ptr - chip->period_ptr;
+sound/drivers/pcsp/pcsp_lib.c:			chip->playback_ptr, period_bytes, buffer_bytes);
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_ptr %= buffer_bytes;
+sound/drivers/pcsp/pcsp_lib.c:		chip->period_ptr += periods_elapsed * period_bytes;
+sound/drivers/pcsp/pcsp_lib.c:		chip->period_ptr %= buffer_bytes;
+sound/drivers/pcsp/pcsp_lib.c:	spin_unlock_irqrestore(&chip->substream_lock, flags);
+sound/drivers/pcsp/pcsp_lib.c:	if (!atomic_read(&chip->timer_active) || !chip->playback_substream)
+sound/drivers/pcsp/pcsp_lib.c:	pointer_update = !chip->thalf;
+sound/drivers/pcsp/pcsp_lib.c:	if (atomic_read(&chip->timer_active)) {
+sound/drivers/pcsp/pcsp_lib.c:	chip->val61 = inb(0x61) | 0x03;
+sound/drivers/pcsp/pcsp_lib.c:	atomic_set(&chip->timer_active, 1);
+sound/drivers/pcsp/pcsp_lib.c:	chip->thalf = 0;
+sound/drivers/pcsp/pcsp_lib.c:	if (!atomic_read(&chip->timer_active))
+sound/drivers/pcsp/pcsp_lib.c:	atomic_set(&chip->timer_active, 0);
+sound/drivers/pcsp/pcsp_lib.c:	outb(chip->val61 & 0xFC, 0x61);
+sound/drivers/pcsp/pcsp_lib.c:	hrtimer_cancel(&chip->timer);
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_substream = NULL;
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_ptr = 0;
+sound/drivers/pcsp/pcsp_lib.c:	chip->period_ptr = 0;
+sound/drivers/pcsp/pcsp_lib.c:	chip->fmt_size =
+sound/drivers/pcsp/pcsp_lib.c:	chip->is_signed = snd_pcm_format_signed(substream->runtime->format);
+sound/drivers/pcsp/pcsp_lib.c:			chip->fmt_size);
+sound/drivers/pcsp/pcsp_lib.c:	spin_lock(&chip->substream_lock);
+sound/drivers/pcsp/pcsp_lib.c:	pos = chip->playback_ptr;
+sound/drivers/pcsp/pcsp_lib.c:	spin_unlock(&chip->substream_lock);
+sound/drivers/pcsp/pcsp_lib.c:	if (atomic_read(&chip->timer_active)) {
+sound/drivers/pcsp/pcsp_lib.c:	chip->playback_substream = substream;
+sound/drivers/pcsp/pcsp_lib.c:	err = snd_pcm_new(chip->card, "pcspeaker", 0, 1, 0, &chip->pcm);
+sound/drivers/pcsp/pcsp_lib.c:	snd_pcm_set_ops(chip->pcm, SNDRV_PCM_STREAM_PLAYBACK,
+sound/drivers/pcsp/pcsp_lib.c:	chip->pcm->private_data = chip;
+sound/drivers/pcsp/pcsp_lib.c:	chip->pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX;
+sound/drivers/pcsp/pcsp_lib.c:	strcpy(chip->pcm->name, "pcsp");
+sound/drivers/pcsp/pcsp_lib.c:	snd_pcm_lib_preallocate_pages_for_all(chip->pcm,
+sound/drivers/pcsp/pcsp_mixer.c:	ucontrol->value.integer.value[0] = chip->enable;
+sound/drivers/pcsp/pcsp_mixer.c:	if (enab != chip->enable) {
+sound/drivers/pcsp/pcsp_mixer.c:		chip->enable = enab;
+sound/drivers/pcsp/pcsp_mixer.c:	uinfo->value.enumerated.items = chip->max_treble + 1;
+sound/drivers/pcsp/pcsp_mixer.c:	if (uinfo->value.enumerated.item > chip->max_treble)
+sound/drivers/pcsp/pcsp_mixer.c:		uinfo->value.enumerated.item = chip->max_treble;
+sound/drivers/pcsp/pcsp_mixer.c:	ucontrol->value.enumerated.item[0] = chip->treble;
+sound/drivers/pcsp/pcsp_mixer.c:	if (treble != chip->treble) {
+sound/drivers/pcsp/pcsp_mixer.c:		chip->treble = treble;
+sound/drivers/pcsp/pcsp_mixer.c:	ucontrol->value.integer.value[0] = chip->pcspkr;
+sound/drivers/pcsp/pcsp_mixer.c:	if (spkr != chip->pcspkr) {
+sound/drivers/pcsp/pcsp_mixer.c:		chip->pcspkr = spkr;
+sound/drivers/pcsp/pcsp_mixer.c:	struct snd_card *card = chip->card;
+sound/drivers/pcsp/pcsp_mixer.c:	struct snd_card *card = chip->card;
+sound/drivers/vx/vx_core.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_core.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_core.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_core.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_core.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_core.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_core.c:	vx_init_rmh(&chip->irq_rmh, CMD_TEST_IT);
+sound/drivers/vx/vx_core.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_core.c:	err = vx_send_msg_nolock(chip, &chip->irq_rmh);
+sound/drivers/vx/vx_core.c:		*ret = chip->irq_rmh.Stat[0];
+sound/drivers/vx/vx_core.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_core.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_core.c:	if (! (chip->chip_status & VX_STAT_CHIP_INIT) ||
+sound/drivers/vx/vx_core.c:	    (chip->chip_status & VX_STAT_IS_STALE))
+sound/drivers/vx/vx_core.c:	if (snd_BUG_ON(!chip->ops->reset_board))
+sound/drivers/vx/vx_core.c:	chip->audio_source = VX_AUDIO_SRC_LINE;
+sound/drivers/vx/vx_core.c:		chip->audio_source_target = chip->audio_source;
+sound/drivers/vx/vx_core.c:		chip->clock_source = INTERNAL_QUARTZ;
+sound/drivers/vx/vx_core.c:		chip->clock_mode = VX_CLOCK_MODE_AUTO;
+sound/drivers/vx/vx_core.c:		chip->freq = 48000;
+sound/drivers/vx/vx_core.c:		chip->uer_detected = VX_UER_MODE_NOT_PRESENT;
+sound/drivers/vx/vx_core.c:		chip->uer_bits = SNDRV_PCM_DEFAULT_CON_SPDIF;
+sound/drivers/vx/vx_core.c:	chip->ops->reset_board(chip, cold_reset);
+sound/drivers/vx/vx_core.c:	vx_set_internal_clock(chip, chip->freq);
+sound/drivers/vx/vx_core.c:	vx_set_iec958_status(chip, chip->uer_bits);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "%s\n", chip->card->longname);
+sound/drivers/vx/vx_core.c:		    chip->chip_status & VX_STAT_XILINX_LOADED ? "Loaded" : "No");
+sound/drivers/vx/vx_core.c:		    chip->chip_status & VX_STAT_DEVICE_INIT ? "Yes" : "No");
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_REAL_TIME)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_OFFLINE)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_MPEG1)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_MPEG2)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_LINEAR_8)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_LINEAR_16)
+sound/drivers/vx/vx_core.c:	if (chip->audio_info & VX_AUDIO_INFO_LINEAR_24)
+sound/drivers/vx/vx_core.c:		    audio_src_vxp[chip->audio_source] :
+sound/drivers/vx/vx_core.c:		    audio_src_vx2[chip->audio_source]);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Clock Mode: %s\n", clock_mode[chip->clock_mode]);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Clock Source: %s\n", clock_src[chip->clock_source]);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Frequency: %d\n", chip->freq);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Detected Frequency: %d\n", chip->freq_detected);
+sound/drivers/vx/vx_core.c:	snd_iprintf(buffer, "Detected UER type: %s\n", uer_type[chip->uer_detected]);
+sound/drivers/vx/vx_core.c:		    chip->ibl.min_size, chip->ibl.max_size, chip->ibl.size,
+sound/drivers/vx/vx_core.c:		    chip->ibl.granularity);
+sound/drivers/vx/vx_core.c:	snd_card_ro_proc_new(chip->card, "vx-status", chip, vx_proc_read);
+sound/drivers/vx/vx_core.c:	int cold_reset = !(chip->chip_status & VX_STAT_DEVICE_INIT);
+sound/drivers/vx/vx_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/drivers/vx/vx_core.c:	chip->chip_status |= VX_STAT_IN_SUSPEND;
+sound/drivers/vx/vx_core.c:	chip->chip_status &= ~VX_STAT_CHIP_INIT;
+sound/drivers/vx/vx_core.c:		if (! chip->firmware[i])
+sound/drivers/vx/vx_core.c:		err = chip->ops->load_dsp(chip, i, chip->firmware[i]);
+sound/drivers/vx/vx_core.c:	chip->chip_status |= VX_STAT_CHIP_INIT;
+sound/drivers/vx/vx_core.c:	chip->chip_status &= ~VX_STAT_IN_SUSPEND;
+sound/drivers/vx/vx_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/drivers/vx/vx_core.c:	mutex_init(&chip->lock);
+sound/drivers/vx/vx_core.c:	chip->irq = -1;
+sound/drivers/vx/vx_core.c:	chip->hw = hw;
+sound/drivers/vx/vx_core.c:	chip->type = hw->type;
+sound/drivers/vx/vx_core.c:	chip->ops = ops;
+sound/drivers/vx/vx_core.c:	mutex_init(&chip->mixer_mutex);
+sound/drivers/vx/vx_core.c:	chip->card = card;
+sound/drivers/vx/vx_hwdep.c:		if (! fw_files[chip->type][i])
+sound/drivers/vx/vx_hwdep.c:		sprintf(path, "vx/%s", fw_files[chip->type][i]);
+sound/drivers/vx/vx_hwdep.c:		if (request_firmware(&fw, path, chip->dev)) {
+sound/drivers/vx/vx_hwdep.c:		err = chip->ops->load_dsp(chip, i, fw);
+sound/drivers/vx/vx_hwdep.c:			chip->chip_status |= VX_STAT_XILINX_LOADED;
+sound/drivers/vx/vx_hwdep.c:		chip->firmware[i] = fw;
+sound/drivers/vx/vx_hwdep.c:	if (chip->ops->add_controls)
+sound/drivers/vx/vx_hwdep.c:		if ((err = chip->ops->add_controls(chip)) < 0)
+sound/drivers/vx/vx_hwdep.c:	chip->chip_status |= VX_STAT_DEVICE_INIT;
+sound/drivers/vx/vx_hwdep.c:	chip->chip_status |= VX_STAT_CHIP_INIT;
+sound/drivers/vx/vx_hwdep.c:	return snd_card_register(chip->card);
+sound/drivers/vx/vx_hwdep.c:		release_firmware(chip->firmware[i]);
+sound/drivers/vx/vx_mixer.c:	if (snd_BUG_ON(!chip->ops->write_codec))
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	chip->ops->write_codec(chip, codec, data);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	left  = chip->hw->output_level_max - left;
+sound/drivers/vx/vx_mixer.c:	right = chip->hw->output_level_max - right;
+sound/drivers/vx/vx_mixer.c:	if (chip->ops->akm_write) {
+sound/drivers/vx/vx_mixer.c:		chip->ops->akm_write(chip, XX_CODEC_LEVEL_LEFT_REGISTER, left);
+sound/drivers/vx/vx_mixer.c:		chip->ops->akm_write(chip, XX_CODEC_LEVEL_RIGHT_REGISTER, right);
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_mixer.c:		if (chip->ops->akm_write)
+sound/drivers/vx/vx_mixer.c:			chip->ops->akm_write(chip, XX_CODEC_DAC_CONTROL_REGISTER, mute); /* XXX */
+sound/drivers/vx/vx_mixer.c:	int port = chip->type >= VX_TYPE_VXPOCKET ? 0x75 : 0x65;
+sound/drivers/vx/vx_mixer.c:	chip->ops->reset_codec(chip);
+sound/drivers/vx/vx_mixer.c:	if (! chip->ops->akm_write) {
+sound/drivers/vx/vx_mixer.c:		for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_mixer.c:		chip->output_level[i][0] = 0;
+sound/drivers/vx/vx_mixer.c:		chip->output_level[i][1] = 0;
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	chip->ops->change_audio_source(chip, src);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_mixer.c:	if (chip->audio_source_target == chip->audio_source ||
+sound/drivers/vx/vx_mixer.c:	    chip->pcm_running)
+sound/drivers/vx/vx_mixer.c:	vx_change_audio_source(chip, chip->audio_source_target);
+sound/drivers/vx/vx_mixer.c:	chip->audio_source = chip->audio_source_target;
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	chip->audio_monitor[audio] = level;
+sound/drivers/vx/vx_mixer.c:	chip->audio_monitor_active[audio] = active;
+sound/drivers/vx/vx_mixer.c:	chip->audio_active[audio] = active;
+sound/drivers/vx/vx_mixer.c:	chip->audio_gain[capture][audio] = level;
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_gain, 0, sizeof(chip->audio_gain));
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_active, 0, sizeof(chip->audio_active));
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_monitor, 0, sizeof(chip->audio_monitor));
+sound/drivers/vx/vx_mixer.c:	memset(chip->audio_monitor_active, 0, sizeof(chip->audio_monitor_active));
+sound/drivers/vx/vx_mixer.c:		for (i = 0; i < chip->hw->num_ins * 2; i++) {
+sound/drivers/vx/vx_mixer.c:			chip->audio_gain[c][i] = CVAL_0DB;
+sound/drivers/vx/vx_mixer.c:			chip->audio_monitor[i] = CVAL_0DB;
+sound/drivers/vx/vx_mixer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_mixer.c:	uinfo->value.integer.max = chip->hw->output_level_max;
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->output_level[codec][0];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->output_level[codec][1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	vmax = chip->hw->output_level_max;
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (val[0] != chip->output_level[codec][0] ||
+sound/drivers/vx/vx_mixer.c:	    val[1] != chip->output_level[codec][1]) {
+sound/drivers/vx/vx_mixer.c:		chip->output_level[codec][0] = val[0];
+sound/drivers/vx/vx_mixer.c:		chip->output_level[codec][1] = val[1];
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->type >= VX_TYPE_VXPOCKET)
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.enumerated.item[0] = chip->audio_source_target;
+sound/drivers/vx/vx_mixer.c:	if (chip->type >= VX_TYPE_VXPOCKET) {
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->audio_source_target != ucontrol->value.enumerated.item[0]) {
+sound/drivers/vx/vx_mixer.c:		chip->audio_source_target = ucontrol->value.enumerated.item[0];
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.enumerated.item[0] = chip->clock_mode;
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->clock_mode != ucontrol->value.enumerated.item[0]) {
+sound/drivers/vx/vx_mixer.c:		chip->clock_mode = ucontrol->value.enumerated.item[0];
+sound/drivers/vx/vx_mixer.c:		vx_set_clock(chip, chip->freq);
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_gain[capture][audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_gain[capture][audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (val[0] != chip->audio_gain[capture][audio] ||
+sound/drivers/vx/vx_mixer.c:	    val[1] != chip->audio_gain[capture][audio+1]) {
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_monitor[audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_monitor[audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (val[0] != chip->audio_monitor[audio] ||
+sound/drivers/vx/vx_mixer.c:	    val[1] != chip->audio_monitor[audio+1]) {
+sound/drivers/vx/vx_mixer.c:				     chip->audio_monitor_active[audio]);
+sound/drivers/vx/vx_mixer.c:				     chip->audio_monitor_active[audio+1]);
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_active[audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_active[audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (ucontrol->value.integer.value[0] != chip->audio_active[audio] ||
+sound/drivers/vx/vx_mixer.c:	    ucontrol->value.integer.value[1] != chip->audio_active[audio+1]) {
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[0] = chip->audio_monitor_active[audio];
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.integer.value[1] = chip->audio_monitor_active[audio+1];
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (ucontrol->value.integer.value[0] != chip->audio_monitor_active[audio] ||
+sound/drivers/vx/vx_mixer.c:	    ucontrol->value.integer.value[1] != chip->audio_monitor_active[audio+1]) {
+sound/drivers/vx/vx_mixer.c:		vx_set_monitor_level(chip, audio, chip->audio_monitor[audio],
+sound/drivers/vx/vx_mixer.c:		vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1],
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[0] = (chip->uer_bits >> 0) & 0xff;
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[1] = (chip->uer_bits >> 8) & 0xff;
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[2] = (chip->uer_bits >> 16) & 0xff;
+sound/drivers/vx/vx_mixer.c:	ucontrol->value.iec958.status[3] = (chip->uer_bits >> 24) & 0xff;
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_lock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	if (chip->uer_bits != val) {
+sound/drivers/vx/vx_mixer.c:		chip->uer_bits = val;
+sound/drivers/vx/vx_mixer.c:		mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	mutex_unlock(&chip->mixer_mutex);
+sound/drivers/vx/vx_mixer.c:	struct snd_card *card = chip->card;
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_outs; i++) {
+sound/drivers/vx/vx_mixer.c:		temp.tlv.p = chip->hw->output_level_db_scale;
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_outs; i++) {
+sound/drivers/vx/vx_mixer.c:	for (i = 0; i < chip->hw->num_outs; i++) {
+sound/drivers/vx/vx_mixer.c:		for (i = 0; i < chip->hw->num_ins; i++) {
+sound/drivers/vx/vx_pcm.c:	data_mode = (chip->uer_bits & IEC958_AES0_NONAUDIO) != 0;
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:	if (snd_BUG_ON(audio >= chip->audio_outs))
+sound/drivers/vx/vx_pcm.c:	pipe = chip->playback_pipes[audio];
+sound/drivers/vx/vx_pcm.c:		chip->playback_pipes[audio] = pipe;
+sound/drivers/vx/vx_pcm.c:	chip->playback_pipes[audio] = pipe;
+sound/drivers/vx/vx_pcm.c:	runtime->hw.period_bytes_min = chip->ibl.size;
+sound/drivers/vx/vx_pcm.c:		chip->playback_pipes[pipe->number] = NULL;
+sound/drivers/vx/vx_pcm.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_pcm.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_pcm.c:	if (! pipe->prepared || (chip->chip_status & VX_STAT_IS_STALE))
+sound/drivers/vx/vx_pcm.c:							  chip->ibl.size)) < 0)
+sound/drivers/vx/vx_pcm.c:	if (pipe->running && ! (chip->chip_status & VX_STAT_IS_STALE)) {
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:		chip->pcm_running++;
+sound/drivers/vx/vx_pcm.c:		chip->pcm_running--;
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:	data_mode = (chip->uer_bits & IEC958_AES0_NONAUDIO) != 0;
+sound/drivers/vx/vx_pcm.c:	if (chip->pcm_running && chip->freq != runtime->rate) {
+sound/drivers/vx/vx_pcm.c:			   "from the current %d\n", runtime->rate, chip->freq);
+sound/drivers/vx/vx_pcm.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_pcm.c:	if (snd_BUG_ON(audio >= chip->audio_ins))
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes[audio] = pipe;
+sound/drivers/vx/vx_pcm.c:	if (chip->audio_monitor_active[audio]) {
+sound/drivers/vx/vx_pcm.c:		pipe_out_monitoring = chip->playback_pipes[audio];
+sound/drivers/vx/vx_pcm.c:			chip->playback_pipes[audio] = pipe_out_monitoring;
+sound/drivers/vx/vx_pcm.c:		vx_set_monitor_level(chip, audio, chip->audio_monitor[audio],
+sound/drivers/vx/vx_pcm.c:				     chip->audio_monitor_active[audio]);
+sound/drivers/vx/vx_pcm.c:		vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1],
+sound/drivers/vx/vx_pcm.c:				     chip->audio_monitor_active[audio+1]); 
+sound/drivers/vx/vx_pcm.c:	runtime->hw.period_bytes_min = chip->ibl.size;
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes[pipe->number] = NULL;
+sound/drivers/vx/vx_pcm.c:			chip->playback_pipes[pipe->number] = NULL;
+sound/drivers/vx/vx_pcm.c:	if (!pipe->running || (chip->chip_status & VX_STAT_IS_STALE))
+sound/drivers/vx/vx_pcm.c:		vx_init_rmh(&chip->irq_rmh, CMD_ASYNC);
+sound/drivers/vx/vx_pcm.c:			chip->irq_rmh.Cmd[0] |= 0x00000001;	/* SEL_ASYNC_EVENTS */
+sound/drivers/vx/vx_pcm.c:			chip->irq_rmh.Cmd[0] |= 0x00000002;	/* SEL_END_OF_BUF_EVENTS */
+sound/drivers/vx/vx_pcm.c:		if (vx_send_msg(chip, &chip->irq_rmh) < 0) {
+sound/drivers/vx/vx_pcm.c:		while (i < chip->irq_rmh.LgStat) {
+sound/drivers/vx/vx_pcm.c:			p = chip->irq_rmh.Stat[i] & MASK_FIRST_FIELD;
+sound/drivers/vx/vx_pcm.c:			capture = (chip->irq_rmh.Stat[i] & 0x400000) ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:			eob = (chip->irq_rmh.Stat[i] & 0x800000) ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:					buf = chip->irq_rmh.Stat[i];
+sound/drivers/vx/vx_pcm.c:			if (snd_BUG_ON(p < 0 || p >= chip->audio_outs))
+sound/drivers/vx/vx_pcm.c:			pipe = chip->playback_pipes[p];
+sound/drivers/vx/vx_pcm.c:	for (i = 0; i < chip->audio_ins; i++) {
+sound/drivers/vx/vx_pcm.c:		pipe = chip->capture_pipes[i];
+sound/drivers/vx/vx_pcm.c:	chip->audio_outs = rmh.Stat[0] & MASK_FIRST_FIELD;
+sound/drivers/vx/vx_pcm.c:	chip->audio_ins = (rmh.Stat[0] >> (FIELD_SIZE*2)) & MASK_FIRST_FIELD;
+sound/drivers/vx/vx_pcm.c:	chip->audio_info = rmh.Stat[1];
+sound/drivers/vx/vx_pcm.c:	chip->playback_pipes = kcalloc(chip->audio_outs, sizeof(struct vx_pipe *), GFP_KERNEL);
+sound/drivers/vx/vx_pcm.c:	if (!chip->playback_pipes)
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes = kcalloc(chip->audio_ins, sizeof(struct vx_pipe *), GFP_KERNEL);
+sound/drivers/vx/vx_pcm.c:	if (!chip->capture_pipes) {
+sound/drivers/vx/vx_pcm.c:		kfree(chip->playback_pipes);
+sound/drivers/vx/vx_pcm.c:	preferred = chip->ibl.size;
+sound/drivers/vx/vx_pcm.c:	chip->ibl.size = 0;
+sound/drivers/vx/vx_pcm.c:	vx_set_ibl(chip, &chip->ibl); /* query the info */
+sound/drivers/vx/vx_pcm.c:		chip->ibl.size = ((preferred + chip->ibl.granularity - 1) /
+sound/drivers/vx/vx_pcm.c:				  chip->ibl.granularity) * chip->ibl.granularity;
+sound/drivers/vx/vx_pcm.c:		if (chip->ibl.size > chip->ibl.max_size)
+sound/drivers/vx/vx_pcm.c:			chip->ibl.size = chip->ibl.max_size;
+sound/drivers/vx/vx_pcm.c:		chip->ibl.size = chip->ibl.min_size; /* set to the minimum */
+sound/drivers/vx/vx_pcm.c:	vx_set_ibl(chip, &chip->ibl);
+sound/drivers/vx/vx_pcm.c:	chip->pcm[pcm->device] = NULL;
+sound/drivers/vx/vx_pcm.c:	kfree(chip->playback_pipes);
+sound/drivers/vx/vx_pcm.c:	chip->playback_pipes = NULL;
+sound/drivers/vx/vx_pcm.c:	kfree(chip->capture_pipes);
+sound/drivers/vx/vx_pcm.c:	chip->capture_pipes = NULL;
+sound/drivers/vx/vx_pcm.c:	for (i = 0; i < chip->hw->num_codecs; i++) {
+sound/drivers/vx/vx_pcm.c:		outs = chip->audio_outs > i * 2 ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:		ins = chip->audio_ins > i * 2 ? 1 : 0;
+sound/drivers/vx/vx_pcm.c:		err = snd_pcm_new(chip->card, "VX PCM", i,
+sound/drivers/vx/vx_pcm.c:		strcpy(pcm->name, chip->card->shortname);
+sound/drivers/vx/vx_pcm.c:		chip->pcm[i] = pcm;
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	if (chip->type >= VX_TYPE_VXPOCKET) {
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	chip->ops->set_clock_source(chip, source);
+sound/drivers/vx/vx_uer.c:	chip->clock_source = source;
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_lock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	mutex_unlock(&chip->lock);
+sound/drivers/vx/vx_uer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_uer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_uer.c:	if (chip->clock_mode == VX_CLOCK_MODE_EXTERNAL ||
+sound/drivers/vx/vx_uer.c:	    (chip->clock_mode == VX_CLOCK_MODE_AUTO &&
+sound/drivers/vx/vx_uer.c:	     chip->audio_source == VX_AUDIO_SRC_DIGITAL)) {
+sound/drivers/vx/vx_uer.c:		if (chip->clock_source != UER_SYNC) {
+sound/drivers/vx/vx_uer.c:	} else if (chip->clock_mode == VX_CLOCK_MODE_INTERNAL ||
+sound/drivers/vx/vx_uer.c:		   (chip->clock_mode == VX_CLOCK_MODE_AUTO &&
+sound/drivers/vx/vx_uer.c:		    chip->audio_source != VX_AUDIO_SRC_DIGITAL)) {
+sound/drivers/vx/vx_uer.c:		if (chip->clock_source != INTERNAL_QUARTZ) {
+sound/drivers/vx/vx_uer.c:		if (chip->freq == freq)
+sound/drivers/vx/vx_uer.c:	if (chip->freq == freq)
+sound/drivers/vx/vx_uer.c:	chip->freq = freq;
+sound/drivers/vx/vx_uer.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/drivers/vx/vx_uer.c:	if (chip->clock_source == INTERNAL_QUARTZ)
+sound/drivers/vx/vx_uer.c:	freq = vx_read_uer_status(chip, &chip->uer_detected);
+sound/drivers/vx/vx_uer.c:		chip->freq_detected = freq;
+sound/i2c/cs8427.c:	if (udata != (chip->regmap[CS8427_REG_CSDATABUF] & udata)) {
+sound/i2c/cs8427.c:		chip->regmap[CS8427_REG_CSDATABUF] &= ~CS8427_BSEL;
+sound/i2c/cs8427.c:		chip->regmap[CS8427_REG_CSDATABUF] |= udata;
+sound/i2c/cs8427.c:					   chip->regmap[CS8427_REG_CSDATABUF]);
+sound/i2c/cs8427.c:		chip->playback.hw_udata : chip->playback.hw_status;
+sound/i2c/cs8427.c:			chip->regmap[CS8427_REG_UDATABUF] &= ~CS8427_UBMMASK;
+sound/i2c/cs8427.c:			chip->regmap[CS8427_REG_UDATABUF] |= CS8427_UBMZEROS |
+sound/i2c/cs8427.c:						   chip->regmap[CS8427_REG_UDATABUF]);
+sound/i2c/cs8427.c:	memcpy(chip->regmap + (initvals1[0] & 0x7f), initvals1 + 1, 6);
+sound/i2c/cs8427.c:	memcpy(chip->regmap + (initvals2[0] & 0x7f), initvals2 + 1, 3);
+sound/i2c/cs8427.c:	memcpy(chip->playback.def_status, buf, 24);
+sound/i2c/cs8427.c:	memcpy(chip->playback.pcm_status, buf, 24);
+sound/i2c/cs8427.c:	chip->reset_timeout = reset_timeout;
+sound/i2c/cs8427.c:	if ((chip->regmap[CS8427_REG_CLOCKSOURCE] & CS8427_RXDAES3INPUT) ==
+sound/i2c/cs8427.c:	chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~(CS8427_RUN | CS8427_RXDMASK);
+sound/i2c/cs8427.c:			     chip->regmap[CS8427_REG_CLOCKSOURCE]);
+sound/i2c/cs8427.c:	chip->regmap[CS8427_REG_CLOCKSOURCE] |= CS8427_RUN | CS8427_RXDILRCK;
+sound/i2c/cs8427.c:			     chip->regmap[CS8427_REG_CLOCKSOURCE]);
+sound/i2c/cs8427.c:	end_time = jiffies + chip->reset_timeout;
+sound/i2c/cs8427.c:	chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~CS8427_RXDMASK;
+sound/i2c/cs8427.c:		chip->regmap[CS8427_REG_CLOCKSOURCE] |= CS8427_RXDAES3INPUT;
+sound/i2c/cs8427.c:			     chip->regmap[CS8427_REG_CLOCKSOURCE]);
+sound/i2c/cs8427.c:	memcpy(ucontrol->value.iec958.status, chip->playback.def_status, 24);
+sound/i2c/cs8427.c:		chip->playback.pcm_status : chip->playback.def_status;
+sound/i2c/cs8427.c:	struct snd_pcm_runtime *runtime = chip->playback.substream ?
+sound/i2c/cs8427.c:		chip->playback.substream->runtime : NULL;
+sound/i2c/cs8427.c:			chip->playback.pcm_ctl = kctl;
+sound/i2c/cs8427.c:	chip->playback.substream = play_substream;
+sound/i2c/cs8427.c:	chip->capture.substream = cap_substream;
+sound/i2c/cs8427.c:	if (snd_BUG_ON(!chip->playback.pcm_ctl))
+sound/i2c/cs8427.c:		memcpy(chip->playback.pcm_status,
+sound/i2c/cs8427.c:		       chip->playback.def_status, 24);
+sound/i2c/cs8427.c:	chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+sound/i2c/cs8427.c:		       &chip->playback.pcm_ctl->id);
+sound/i2c/cs8427.c:	status = chip->playback.pcm_status;
+sound/i2c/cs8427.c:			       &chip->playback.pcm_ctl->id);
+sound/i2c/cs8427.c:	reset = chip->rate != rate;
+sound/i2c/cs8427.c:	chip->rate = rate;
+sound/i2c/other/ak4113.c:	atomic_inc(&chip->wq_processing);	/* don't schedule new work */
+sound/i2c/other/ak4113.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4113.c:	spin_lock_init(&chip->lock);
+sound/i2c/other/ak4113.c:	chip->card = card;
+sound/i2c/other/ak4113.c:	chip->read = read;
+sound/i2c/other/ak4113.c:	chip->write = write;
+sound/i2c/other/ak4113.c:	chip->private_data = private_data;
+sound/i2c/other/ak4113.c:	INIT_DELAYED_WORK(&chip->work, ak4113_stats);
+sound/i2c/other/ak4113.c:	atomic_set(&chip->wq_processing, 0);
+sound/i2c/other/ak4113.c:	mutex_init(&chip->reinit_mutex);
+sound/i2c/other/ak4113.c:		chip->regmap[reg] = pgm[reg];
+sound/i2c/other/ak4113.c:	chip->rcs0 = reg_read(chip, AK4113_REG_RCS0) & ~(AK4113_QINT |
+sound/i2c/other/ak4113.c:	chip->rcs1 = reg_read(chip, AK4113_REG_RCS1);
+sound/i2c/other/ak4113.c:	chip->rcs2 = reg_read(chip, AK4113_REG_RCS2);
+sound/i2c/other/ak4113.c:	reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
+sound/i2c/other/ak4113.c:	unsigned char old = chip->regmap[AK4113_REG_PWRDN], reg;
+sound/i2c/other/ak4113.c:		reg_write(chip, reg, chip->regmap[reg]);
+sound/i2c/other/ak4113.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4113.c:		cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4113.c:	mutex_lock(&chip->reinit_mutex);
+sound/i2c/other/ak4113.c:	mutex_unlock(&chip->reinit_mutex);
+sound/i2c/other/ak4113.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4113.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4113.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:		chip->errors[kcontrol->private_value];
+sound/i2c/other/ak4113.c:	chip->errors[kcontrol->private_value] = 0;
+sound/i2c/other/ak4113.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:		(AK4113_IPS(chip->regmap[AK4113_REG_IO1]));
+sound/i2c/other/ak4113.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:	old_val = chip->regmap[AK4113_REG_IO1];
+sound/i2c/other/ak4113.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4113.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4113.c:		snd_ak4113_check_rate_and_errors(chip, chip->check_flags);
+sound/i2c/other/ak4113.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4113.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4113.c:	atomic_inc(&chip->wq_processing); /* don't schedule new work */
+sound/i2c/other/ak4113.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4113.c:	atomic_dec(&chip->wq_processing);
+sound/i2c/other/ak4114.c:	atomic_inc(&chip->wq_processing);	/* don't schedule new work */
+sound/i2c/other/ak4114.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4114.c:	spin_lock_init(&chip->lock);
+sound/i2c/other/ak4114.c:	chip->card = card;
+sound/i2c/other/ak4114.c:	chip->read = read;
+sound/i2c/other/ak4114.c:	chip->write = write;
+sound/i2c/other/ak4114.c:	chip->private_data = private_data;
+sound/i2c/other/ak4114.c:	INIT_DELAYED_WORK(&chip->work, ak4114_stats);
+sound/i2c/other/ak4114.c:	atomic_set(&chip->wq_processing, 0);
+sound/i2c/other/ak4114.c:	mutex_init(&chip->reinit_mutex);
+sound/i2c/other/ak4114.c:		chip->regmap[reg] = pgm[reg];
+sound/i2c/other/ak4114.c:		chip->txcsb[reg] = txcsb[reg];
+sound/i2c/other/ak4114.c:	chip->rcs0 = reg_read(chip, AK4114_REG_RCS0) & ~(AK4114_QINT | AK4114_CINT);
+sound/i2c/other/ak4114.c:	chip->rcs1 = reg_read(chip, AK4114_REG_RCS1);
+sound/i2c/other/ak4114.c:		reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
+sound/i2c/other/ak4114.c:			  (chip->txcsb[reg-AK4114_REG_TXCSB0] & ~mask) | val);
+sound/i2c/other/ak4114.c:	unsigned char old = chip->regmap[AK4114_REG_PWRDN], reg;
+sound/i2c/other/ak4114.c:		reg_write(chip, reg, chip->regmap[reg]);
+sound/i2c/other/ak4114.c:		reg_write(chip, reg + AK4114_REG_TXCSB0, chip->txcsb[reg]);
+sound/i2c/other/ak4114.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4114.c:		cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4114.c:	mutex_lock(&chip->reinit_mutex);
+sound/i2c/other/ak4114.c:	mutex_unlock(&chip->reinit_mutex);
+sound/i2c/other/ak4114.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4114.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4114.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4114.c:		chip->errors[kcontrol->private_value];
+sound/i2c/other/ak4114.c:	chip->errors[kcontrol->private_value] = 0;
+sound/i2c/other/ak4114.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4114.c:		ucontrol->value.iec958.status[i] = chip->txcsb[i];
+sound/i2c/other/ak4114.c:	if (atomic_inc_return(&chip->wq_processing) == 1)
+sound/i2c/other/ak4114.c:		snd_ak4114_check_rate_and_errors(chip, chip->check_flags);
+sound/i2c/other/ak4114.c:	if (atomic_dec_and_test(&chip->wq_processing))
+sound/i2c/other/ak4114.c:		schedule_delayed_work(&chip->work, HZ / 10);
+sound/i2c/other/ak4114.c:	atomic_inc(&chip->wq_processing); /* don't schedule new work */
+sound/i2c/other/ak4114.c:	cancel_delayed_work_sync(&chip->work);
+sound/i2c/other/ak4114.c:	atomic_dec(&chip->wq_processing);
+sound/i2c/other/ak4117.c:	del_timer_sync(&chip->timer);
+sound/i2c/other/ak4117.c:	spin_lock_init(&chip->lock);
+sound/i2c/other/ak4117.c:	chip->card = card;
+sound/i2c/other/ak4117.c:	chip->read = read;
+sound/i2c/other/ak4117.c:	chip->write = write;
+sound/i2c/other/ak4117.c:	chip->private_data = private_data;
+sound/i2c/other/ak4117.c:	timer_setup(&chip->timer, snd_ak4117_timer, 0);
+sound/i2c/other/ak4117.c:		chip->regmap[reg] = pgm[reg];
+sound/i2c/other/ak4117.c:	chip->rcs0 = reg_read(chip, AK4117_REG_RCS0) & ~(AK4117_QINT | AK4117_CINT | AK4117_STC);
+sound/i2c/other/ak4117.c:	chip->rcs1 = reg_read(chip, AK4117_REG_RCS1);
+sound/i2c/other/ak4117.c:	chip->rcs2 = reg_read(chip, AK4117_REG_RCS2);
+sound/i2c/other/ak4117.c:	reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
+sound/i2c/other/ak4117.c:	unsigned char old = chip->regmap[AK4117_REG_PWRDN], reg;
+sound/i2c/other/ak4117.c:	del_timer(&chip->timer);
+sound/i2c/other/ak4117.c:	chip->init = 1;
+sound/i2c/other/ak4117.c:		reg_write(chip, reg, chip->regmap[reg]);
+sound/i2c/other/ak4117.c:	chip->init = 0;
+sound/i2c/other/ak4117.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/i2c/other/ak4117.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:		       chip->errors[kcontrol->private_value];
+sound/i2c/other/ak4117.c:	chip->errors[kcontrol->private_value] = 0;
+sound/i2c/other/ak4117.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:	ucontrol->value.integer.value[0] = (chip->regmap[AK4117_REG_IO] & AK4117_IPS) ? 1 : 0;
+sound/i2c/other/ak4117.c:	spin_lock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:	old_val = chip->regmap[AK4117_REG_IO];
+sound/i2c/other/ak4117.c:	spin_unlock_irq(&chip->lock);
+sound/i2c/other/ak4117.c:	if (chip->init)
+sound/i2c/other/ak4117.c:	mod_timer(&chip->timer, 1 + jiffies);
+sound/isa/ad1816a/ad1816a.c:		chip->clock_freq = clockfreq[dev];
+sound/isa/ad1816a/ad1816a.c:		card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->mode & mode) {
+sound/isa/ad1816a/ad1816a_lib.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->mode |= mode;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (!((chip->mode &= ~mode) & AD1816A_MODE_OPEN))
+sound/isa/ad1816a/ad1816a_lib.c:		chip->mode = 0;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:		spin_lock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:		spin_unlock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->p_dma_size = size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_dma_program(chip->dma1, runtime->dma_addr, size,
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->clock_freq)
+sound/isa/ad1816a/ad1816a_lib.c:		rate = (rate * 33000) / chip->clock_freq;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->c_dma_size = size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_dma_program(chip->dma2, runtime->dma_addr, size,
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->clock_freq)
+sound/isa/ad1816a/ad1816a_lib.c:		rate = (rate * 33000) / chip->clock_freq;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (!(chip->mode & AD1816A_MODE_PLAYBACK))
+sound/isa/ad1816a/ad1816a_lib.c:	ptr = snd_dma_pointer(chip->dma1, chip->p_dma_size);
+sound/isa/ad1816a/ad1816a_lib.c:	if (!(chip->mode & AD1816A_MODE_CAPTURE))
+sound/isa/ad1816a/ad1816a_lib.c:	ptr = snd_dma_pointer(chip->dma2, chip->c_dma_size);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((status & AD1816A_PLAYBACK_IRQ_PENDING) && chip->playback_substream)
+sound/isa/ad1816a/ad1816a_lib.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((status & AD1816A_CAPTURE_IRQ_PENDING) && chip->capture_substream)
+sound/isa/ad1816a/ad1816a_lib.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((status & AD1816A_TIMER_IRQ_PENDING) && chip->timer)
+sound/isa/ad1816a/ad1816a_lib.c:		snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.buffer_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.period_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->playback_substream = substream;
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.buffer_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.period_bytes_max);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->capture_substream = substream;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->playback_substream = NULL;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->capture_substream = NULL;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:		chip->image[reg] = snd_ad1816a_read(chip, reg);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:		snd_ad1816a_write(chip, reg, chip->image[reg]);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	switch (chip->version = snd_ad1816a_read(chip, AD1816A_VERSION_ID)) {
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AD1815;
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AD18MAX10;
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AD1816A;
+sound/isa/ad1816a/ad1816a_lib.c:		chip->hardware = AD1816A_HW_AUTO;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	release_and_free_resource(chip->res_port);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->irq >= 0)
+sound/isa/ad1816a/ad1816a_lib.c:		free_irq(chip->irq, (void *) chip);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->dma1 >= 0) {
+sound/isa/ad1816a/ad1816a_lib.c:		snd_dma_disable(chip->dma1);
+sound/isa/ad1816a/ad1816a_lib.c:		free_dma(chip->dma1);
+sound/isa/ad1816a/ad1816a_lib.c:	if (chip->dma2 >= 0) {
+sound/isa/ad1816a/ad1816a_lib.c:		snd_dma_disable(chip->dma2);
+sound/isa/ad1816a/ad1816a_lib.c:		free_dma(chip->dma2);
+sound/isa/ad1816a/ad1816a_lib.c:	switch (chip->hardware) {
+sound/isa/ad1816a/ad1816a_lib.c:			chip->version, chip->hardware);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->irq = -1;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma1 = -1;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma2 = -1;
+sound/isa/ad1816a/ad1816a_lib.c:	if ((chip->res_port = request_region(port, 16, "AD1816A")) == NULL) {
+sound/isa/ad1816a/ad1816a_lib.c:	chip->irq = irq;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma1 = dma1;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->dma2 = dma2;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->card = card;
+sound/isa/ad1816a/ad1816a_lib.c:	chip->port = port;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_init(&chip->lock);
+sound/isa/ad1816a/ad1816a_lib.c:	if ((error = snd_pcm_new(chip->card, "AD1816A", device, 1, 1, &pcm)))
+sound/isa/ad1816a/ad1816a_lib.c:	pcm->info_flags = (chip->dma1 == chip->dma2 ) ? SNDRV_PCM_INFO_JOINT_DUPLEX : 0;
+sound/isa/ad1816a/ad1816a_lib.c:					      chip->card->dev,
+sound/isa/ad1816a/ad1816a_lib.c:					      64*1024, chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
+sound/isa/ad1816a/ad1816a_lib.c:	chip->pcm = pcm;
+sound/isa/ad1816a/ad1816a_lib.c:	tid.card = chip->card->number;
+sound/isa/ad1816a/ad1816a_lib.c:	if ((error = snd_timer_new(chip->card, "AD1816A", &tid, &timer)) < 0)
+sound/isa/ad1816a/ad1816a_lib.c:	chip->timer = timer;
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/ad1816a/ad1816a_lib.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/isa/ad1816a/ad1816a_lib.c:	card = chip->card;
+sound/isa/ad1848/ad1848.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/ad1848/ad1848.c:			 chip->pcm->name, chip->port, irq[n], dma1[n]);
+sound/isa/ad1848/ad1848.c:			 chip->pcm->name, chip->port, irq[n], dma1[n]);
+sound/isa/ad1848/ad1848.c:	chip->suspend(chip);
+sound/isa/ad1848/ad1848.c:	chip->resume(chip);
+sound/isa/als100.c:			 chip->name, chip->port, irq[dev], dma8[dev]);
+sound/isa/als100.c:			 chip->name, chip->port, irq[dev], dma8[dev],
+sound/isa/azt2320.c:		card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
+sound/isa/azt2320.c:	chip->suspend(chip);
+sound/isa/azt2320.c:	chip->resume(chip);
+sound/isa/cmi8328.c:	card = chip->card;
+sound/isa/cmi8330.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:		spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:		spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/cmi8330.c:	substream->private_data = chip->streams[SNDRV_PCM_STREAM_PLAYBACK].private_data;
+sound/isa/cmi8330.c:	return chip->streams[SNDRV_PCM_STREAM_PLAYBACK].open(substream);
+sound/isa/cmi8330.c:	substream->private_data = chip->streams[SNDRV_PCM_STREAM_CAPTURE].private_data;
+sound/isa/cmi8330.c:	return chip->streams[SNDRV_PCM_STREAM_CAPTURE].open(substream);
+sound/isa/cmi8330.c:	if ((err = snd_pcm_new(card, (chip->type == CMI8329) ? "CMI8329" : "CMI8330", 0, 1, 1, &pcm)) < 0)
+sound/isa/cmi8330.c:	strcpy(pcm->name, (chip->type == CMI8329) ? "CMI8329" : "CMI8330");
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].ops = *ops;
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].open = ops->open;
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].ops.open = cmi_open_callbacks[CMI_SB_STREAM];
+sound/isa/cmi8330.c:	chip->streams[CMI_SB_STREAM].private_data = chip->sb;
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].ops = *ops;
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].open = ops->open;
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].ops.open = cmi_open_callbacks[CMI_AD_STREAM];
+sound/isa/cmi8330.c:	chip->streams[CMI_AD_STREAM].private_data = chip->wss;
+sound/isa/cmi8330.c:	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &chip->streams[SNDRV_PCM_STREAM_PLAYBACK].ops);
+sound/isa/cmi8330.c:	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &chip->streams[SNDRV_PCM_STREAM_CAPTURE].ops);
+sound/isa/cmi8330.c:	chip->pcm = pcm;
+sound/isa/cs423x/cs4231.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/cs423x/cs4231.c:			 chip->pcm->name, chip->port, irq[n], dma1[n]);
+sound/isa/cs423x/cs4231.c:			 chip->pcm->name, chip->port, irq[n], dma1[n], dma2[n]);
+sound/isa/cs423x/cs4231.c:	chip->suspend(chip);
+sound/isa/cs423x/cs4231.c:	chip->resume(chip);
+sound/isa/cs423x/cs4236.c:	if (chip->hardware & WSS_HW_CS4236B_MASK) {
+sound/isa/cs423x/cs4236.c:	strlcpy(card->driver, chip->pcm->name, sizeof(card->driver));
+sound/isa/cs423x/cs4236.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/cs423x/cs4236.c:			 chip->pcm->name, chip->port, irq[dev], dma1[dev]);
+sound/isa/cs423x/cs4236.c:			 chip->pcm->name, chip->port, irq[dev], dma1[dev],
+sound/isa/cs423x/cs4236.c:	acard->chip->suspend(acard->chip);
+sound/isa/cs423x/cs4236.c:	acard->chip->resume(acard->chip);
+sound/isa/cs423x/cs4236_lib.c:	outb(reg, chip->cport + 3);
+sound/isa/cs423x/cs4236_lib.c:	outb(chip->cimage[reg] = val, chip->cport + 4);
+sound/isa/cs423x/cs4236_lib.c:	outb(reg, chip->cport + 3);
+sound/isa/cs423x/cs4236_lib.c:	return inb(chip->cport + 4);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] | 0x10);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] & ~0x10);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] | 0x20);
+sound/isa/cs423x/cs4236_lib.c:		    chip->image[CS4231_ALT_FEATURE_1] & ~0x20);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		chip->image[reg] = snd_wss_in(chip, reg);
+sound/isa/cs423x/cs4236_lib.c:		chip->eimage[reg] = snd_cs4236_ext_in(chip, CS4236_I23VAL(reg));
+sound/isa/cs423x/cs4236_lib.c:		chip->cimage[reg] = snd_cs4236_ctrl_in(chip, reg);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:			snd_wss_out(chip, reg, chip->image[reg]);
+sound/isa/cs423x/cs4236_lib.c:		snd_cs4236_ext_out(chip, CS4236_I23VAL(reg), chip->eimage[reg]);
+sound/isa/cs423x/cs4236_lib.c:			snd_cs4236_ctrl_out(chip, reg, chip->cimage[reg]);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	if ((chip->hardware & WSS_HW_CS4236B_MASK) == 0) {
+sound/isa/cs423x/cs4236_lib.c:			   chip->hardware);
+sound/isa/cs423x/cs4236_lib.c:				   idx, inb(chip->cport + idx));
+sound/isa/cs423x/cs4236_lib.c:	chip->rate_constraint = snd_cs4236_xrate;
+sound/isa/cs423x/cs4236_lib.c:	chip->set_playback_format = snd_cs4236_playback_format;
+sound/isa/cs423x/cs4236_lib.c:	chip->set_capture_format = snd_cs4236_capture_format;
+sound/isa/cs423x/cs4236_lib.c:	chip->suspend = snd_cs4236_suspend;
+sound/isa/cs423x/cs4236_lib.c:	chip->resume = snd_cs4236_resume;
+sound/isa/cs423x/cs4236_lib.c:	switch (chip->hardware) {
+sound/isa/cs423x/cs4236_lib.c:	chip->pcm->info_flags &= ~SNDRV_PCM_INFO_JOINT_DUPLEX;
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->eimage[CS4236_REG(reg)] >> shift) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val = (chip->eimage[CS4236_REG(reg)] & ~(mask << shift)) | val;
+sound/isa/cs423x/cs4236_lib.c:	change = val != chip->eimage[CS4236_REG(reg)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->cimage[reg] >> shift) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val = (chip->cimage[reg] & ~(mask << shift)) | val;
+sound/isa/cs423x/cs4236_lib.c:	change = val != chip->cimage[reg];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->eimage[CS4236_REG(left_reg)] >> shift_left) & mask;
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = (chip->eimage[CS4236_REG(right_reg)] >> shift_right) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:		val1 = (chip->eimage[CS4236_REG(left_reg)] & ~(mask << shift_left)) | val1;
+sound/isa/cs423x/cs4236_lib.c:		val2 = (chip->eimage[CS4236_REG(right_reg)] & ~(mask << shift_right)) | val2;
+sound/isa/cs423x/cs4236_lib.c:		change = val1 != chip->eimage[CS4236_REG(left_reg)] || val2 != chip->eimage[CS4236_REG(right_reg)];
+sound/isa/cs423x/cs4236_lib.c:		val1 = (chip->eimage[CS4236_REG(left_reg)] & ~((mask << shift_left) | (mask << shift_right))) | val1 | val2;
+sound/isa/cs423x/cs4236_lib.c:		change = val1 != chip->eimage[CS4236_REG(left_reg)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = (chip->image[left_reg] >> shift_left) & mask;
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = (chip->eimage[CS4236_REG(right_reg)] >> shift_right) & mask;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val1 = (chip->image[left_reg] & ~(mask << shift_left)) | val1;
+sound/isa/cs423x/cs4236_lib.c:	val2 = (chip->eimage[CS4236_REG(right_reg)] & ~(mask << shift_right)) | val2;
+sound/isa/cs423x/cs4236_lib.c:	change = val1 != chip->image[left_reg] || val2 != chip->eimage[CS4236_REG(right_reg)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = snd_cs4236_mixer_master_digital_invert_volume(chip->eimage[CS4236_REG(CS4236_LEFT_MASTER)] & 0x7f);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = snd_cs4236_mixer_master_digital_invert_volume(chip->eimage[CS4236_REG(CS4236_RIGHT_MASTER)] & 0x7f);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val1 = (chip->eimage[CS4236_REG(CS4236_LEFT_MASTER)] & ~0x7f) | val1;
+sound/isa/cs423x/cs4236_lib.c:	val2 = (chip->eimage[CS4236_REG(CS4236_RIGHT_MASTER)] & ~0x7f) | val2;
+sound/isa/cs423x/cs4236_lib.c:	change = val1 != chip->eimage[CS4236_REG(CS4236_LEFT_MASTER)] || val2 != chip->eimage[CS4236_REG(CS4236_RIGHT_MASTER)];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = snd_cs4235_mixer_output_accu_get_volume(chip->image[CS4235_LEFT_MASTER]);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[1] = snd_cs4235_mixer_output_accu_get_volume(chip->image[CS4235_RIGHT_MASTER]);
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val1 = (chip->image[CS4235_LEFT_MASTER] & ~(3 << 5)) | val1;
+sound/isa/cs423x/cs4236_lib.c:	val2 = (chip->image[CS4235_RIGHT_MASTER] & ~(3 << 5)) | val2;
+sound/isa/cs423x/cs4236_lib.c:	change = val1 != chip->image[CS4235_LEFT_MASTER] || val2 != chip->image[CS4235_RIGHT_MASTER];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	ucontrol->value.integer.value[0] = chip->image[CS4231_ALT_FEATURE_1] & 0x02 ? 1 : 0;
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	mutex_lock(&chip->mce_mutex);
+sound/isa/cs423x/cs4236_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	val = (chip->image[CS4231_ALT_FEATURE_1] & ~0x0e) | (0<<2) | (enable << 1);
+sound/isa/cs423x/cs4236_lib.c:	change = val != chip->image[CS4231_ALT_FEATURE_1];
+sound/isa/cs423x/cs4236_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/cs423x/cs4236_lib.c:	mutex_unlock(&chip->mce_mutex);
+sound/isa/cs423x/cs4236_lib.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/isa/cs423x/cs4236_lib.c:	card = chip->card;
+sound/isa/cs423x/cs4236_lib.c:	if (chip->hardware == WSS_HW_CS4235 ||
+sound/isa/cs423x/cs4236_lib.c:	    chip->hardware == WSS_HW_CS4239) {
+sound/isa/cs423x/cs4236_lib.c:	switch (chip->hardware) {
+sound/isa/cs423x/cs4236_lib.c:	if (chip->hardware == WSS_HW_CS4237B ||
+sound/isa/cs423x/cs4236_lib.c:	    chip->hardware == WSS_HW_CS4238B) {
+sound/isa/es1688/es1688.c:	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
+sound/isa/es1688/es1688.c:		"%s at 0x%lx, irq %i, dma %i", chip->pcm->name, chip->port,
+sound/isa/es1688/es1688.c:		 chip->irq, chip->dma8);
+sound/isa/es1688/es1688.c:			chip->mpu_port > 0) {
+sound/isa/es1688/es1688.c:				chip->mpu_port, 0,
+sound/isa/es1688/es1688_lib.c:		snd_printd("ess_reset at 0x%lx: failed!!!\n", chip->port);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);	/* Some ESS1688 cards need this */
+sound/isa/es1688/es1688_lib.c:		snd_printdd("ESS: [0x%lx] reset failed... 0x%x\n", chip->port, inb(ES1688P(chip, READ)));
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	snd_printdd("ESS: [0x%lx] found.. major = 0x%x, minor = 0x%x\n", chip->port, major, minor);
+sound/isa/es1688/es1688_lib.c:	chip->version = (major << 8) | minor;
+sound/isa/es1688/es1688_lib.c:	if (!chip->version)
+sound/isa/es1688/es1688_lib.c:	switch (chip->version & 0xfff0) {
+sound/isa/es1688/es1688_lib.c:			   "but driver is in another place\n", chip->port);
+sound/isa/es1688/es1688_lib.c:			   chip->port, chip->version);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es1688/es1688_lib.c:	if (enable && chip->mpu_port >= 0x300 && chip->mpu_irq > 0 && chip->hardware != ES1688_HW_688) {
+sound/isa/es1688/es1688_lib.c:		tmp = (chip->mpu_port & 0x0f0) >> 4;
+sound/isa/es1688/es1688_lib.c:			switch (chip->mpu_irq) {
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		irq_bits = irqs[chip->irq & 0x0f];
+sound/isa/es1688/es1688_lib.c:				   chip->port, chip->irq);
+sound/isa/es1688/es1688_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		dma = chip->dma8;
+sound/isa/es1688/es1688_lib.c:				   "for ES1688 chip!!\n", chip->port, dma);
+sound/isa/es1688/es1688_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	chip->trigger_value = value;
+sound/isa/es1688/es1688_lib.c:		spin_unlock(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	       snd_dma_pointer(chip->dma8, chip->dma_size));
+sound/isa/es1688/es1688_lib.c:	spin_unlock(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	chip->dma_size = size;
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	snd_dma_program(chip->dma8, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	chip->dma_size = size;
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	snd_dma_program(chip->dma8, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value == 0x05)	/* ok.. playback is active */
+sound/isa/es1688/es1688_lib.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value == 0x0f)	/* ok.. capture is active */
+sound/isa/es1688/es1688_lib.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value != 0x05)
+sound/isa/es1688/es1688_lib.c:	ptr = snd_dma_pointer(chip->dma8, chip->dma_size);
+sound/isa/es1688/es1688_lib.c:	if (chip->trigger_value != 0x0f)
+sound/isa/es1688/es1688_lib.c:	ptr = snd_dma_pointer(chip->dma8, chip->dma_size);
+sound/isa/es1688/es1688_lib.c:	if (chip->capture_substream != NULL)
+sound/isa/es1688/es1688_lib.c:	chip->playback_substream = substream;
+sound/isa/es1688/es1688_lib.c:	if (chip->playback_substream != NULL)
+sound/isa/es1688/es1688_lib.c:	chip->capture_substream = substream;
+sound/isa/es1688/es1688_lib.c:	chip->playback_substream = NULL;
+sound/isa/es1688/es1688_lib.c:	chip->capture_substream = NULL;
+sound/isa/es1688/es1688_lib.c:	if (chip->hardware != ES1688_HW_UNDEF)
+sound/isa/es1688/es1688_lib.c:	release_and_free_resource(chip->res_port);
+sound/isa/es1688/es1688_lib.c:	if (chip->irq >= 0)
+sound/isa/es1688/es1688_lib.c:		free_irq(chip->irq, (void *) chip);
+sound/isa/es1688/es1688_lib.c:	if (chip->dma8 >= 0) {
+sound/isa/es1688/es1688_lib.c:		disable_dma(chip->dma8);
+sound/isa/es1688/es1688_lib.c:		free_dma(chip->dma8);
+sound/isa/es1688/es1688_lib.c:	sprintf(tmp, "ES%s688 rev %i", chip->hardware == ES1688_HW_688 ? "" : "1", chip->version & 0x0f);
+sound/isa/es1688/es1688_lib.c:	chip->irq = -1;
+sound/isa/es1688/es1688_lib.c:	chip->dma8 = -1;
+sound/isa/es1688/es1688_lib.c:	chip->hardware = ES1688_HW_UNDEF;
+sound/isa/es1688/es1688_lib.c:	chip->res_port = request_region(port + 4, 12, "ES1688");
+sound/isa/es1688/es1688_lib.c:	if (chip->res_port == NULL) {
+sound/isa/es1688/es1688_lib.c:	chip->irq = irq;
+sound/isa/es1688/es1688_lib.c:	chip->dma8 = dma8;
+sound/isa/es1688/es1688_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/es1688/es1688_lib.c:	spin_lock_init(&chip->mixer_lock);
+sound/isa/es1688/es1688_lib.c:	chip->port = port;
+sound/isa/es1688/es1688_lib.c:	chip->mpu_port = mpu_port;
+sound/isa/es1688/es1688_lib.c:	chip->mpu_irq = mpu_irq;
+sound/isa/es1688/es1688_lib.c:	chip->hardware = hardware;
+sound/isa/es1688/es1688_lib.c:	chip->pcm = pcm;
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es1688/es1688_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:                if ((inb(chip->port + 0x0C) & 0x80) == 0) {
+sound/isa/es18xx.c:                        outb(val, chip->port + 0x0C);
+sound/isa/es18xx.c:                if (inb(chip->port + 0x0C) & 0x40)
+sound/isa/es18xx.c:                        return inb(chip->port + 0x0A);
+sound/isa/es18xx.c:		   chip->port + 0x0A, inb(chip->port + 0x0A));
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:        outb(data, chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:	data = inb(chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:	old = inb(chip->port + 0x05);
+sound/isa/es18xx.c:		outb(new, chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(reg, chip->port + 0x04);
+sound/isa/es18xx.c:	old = inb(chip->port + 0x05);
+sound/isa/es18xx.c:	outb(expected, chip->port + 0x05);
+sound/isa/es18xx.c:	new = inb(chip->port + 0x05);
+sound/isa/es18xx.c:        spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/es18xx.c:        outb(0x03, chip->port + 0x06);
+sound/isa/es18xx.c:        inb(chip->port + 0x06);
+sound/isa/es18xx.c:        outb(0x00, chip->port + 0x06);
+sound/isa/es18xx.c:        for(i = 0; i < MILLISECOND && !(inb(chip->port + 0x0E) & 0x80); i++);
+sound/isa/es18xx.c:        if (inb(chip->port + 0x0A) != 0xAA)
+sound/isa/es18xx.c:        outb(0x02, chip->port + 0x06);
+sound/isa/es18xx.c:        inb(chip->port + 0x06);
+sound/isa/es18xx.c:        outb(0x00, chip->port + 0x06);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_NEW_RATE) {
+sound/isa/es18xx.c:	if ((chip->caps & ES18XX_PCM2) && mode == DAC2) {
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:		if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:		    (chip->capture_a_substream) &&
+sound/isa/es18xx.c:		chip->dma2_shift = shift;
+sound/isa/es18xx.c:		chip->dma1_shift = shift;
+sound/isa/es18xx.c:        snd_dma_program(chip->dma2, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/es18xx.c:		if (chip->active & DAC2)
+sound/isa/es18xx.c:		chip->active |= DAC2;
+sound/isa/es18xx.c:		if (chip->dma2 >= 4)
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_PCM2)
+sound/isa/es18xx.c:			snd_es18xx_mixer_write(chip, 0x7C, chip->audio2_vol);
+sound/isa/es18xx.c:		if (!(chip->active & DAC2))
+sound/isa/es18xx.c:		chip->active &= ~DAC2;
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_PCM2)
+sound/isa/es18xx.c:	if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:	    chip->playback_a_substream &&
+sound/isa/es18xx.c:	chip->dma1_shift = shift;
+sound/isa/es18xx.c:        snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
+sound/isa/es18xx.c:		if (chip->active & ADC1)
+sound/isa/es18xx.c:		chip->active |= ADC1;
+sound/isa/es18xx.c:		if (!(chip->active & ADC1))
+sound/isa/es18xx.c:		chip->active &= ~ADC1;
+sound/isa/es18xx.c:        snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/es18xx.c:		if (chip->active & DAC1)
+sound/isa/es18xx.c:		chip->active |= DAC1;
+sound/isa/es18xx.c:		if (!(chip->active & DAC1))
+sound/isa/es18xx.c:		chip->active &= ~DAC1;
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_CONTROL) {
+sound/isa/es18xx.c:		status = inb(chip->ctrl_port + 6);
+sound/isa/es18xx.c:		if (inb(chip->port + 0x0C) & 0x01)
+sound/isa/es18xx.c:		if ((chip->caps & ES18XX_HWV) &&
+sound/isa/es18xx.c:                if (chip->active & DAC2)
+sound/isa/es18xx.c:                	snd_pcm_period_elapsed(chip->playback_a_substream);
+sound/isa/es18xx.c:                if (chip->active & ADC1)
+sound/isa/es18xx.c:                	snd_pcm_period_elapsed(chip->capture_a_substream);
+sound/isa/es18xx.c:                else if (chip->active & DAC1)
+sound/isa/es18xx.c:                	snd_pcm_period_elapsed(chip->playback_b_substream);
+sound/isa/es18xx.c:		inb(chip->port + 0x0E);
+sound/isa/es18xx.c:	if ((status & MPU_IRQ) && chip->rmidi)
+sound/isa/es18xx.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_HWV) {
+sound/isa/es18xx.c:					&chip->hw_switch->id);
+sound/isa/es18xx.c:					&chip->hw_volume->id);
+sound/isa/es18xx.c:					&chip->master_switch->id);
+sound/isa/es18xx.c:					&chip->master_volume->id);
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:		if (!(chip->active & DAC2))
+sound/isa/es18xx.c:		pos = snd_dma_pointer(chip->dma2, size);
+sound/isa/es18xx.c:		return pos >> chip->dma2_shift;
+sound/isa/es18xx.c:		if (!(chip->active & DAC1))
+sound/isa/es18xx.c:		pos = snd_dma_pointer(chip->dma1, size);
+sound/isa/es18xx.c:		return pos >> chip->dma1_shift;
+sound/isa/es18xx.c:        if (!(chip->active & ADC1))
+sound/isa/es18xx.c:	pos = snd_dma_pointer(chip->dma1, size);
+sound/isa/es18xx.c:	return pos >> chip->dma1_shift;
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:		if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:		    chip->capture_a_substream && 
+sound/isa/es18xx.c:		    chip->capture_a_substream->runtime->channels != 1)
+sound/isa/es18xx.c:		chip->playback_a_substream = substream;
+sound/isa/es18xx.c:		if (chip->capture_a_substream)
+sound/isa/es18xx.c:		chip->playback_b_substream = substream;
+sound/isa/es18xx.c:				      (chip->caps & ES18XX_NEW_RATE) ? &new_hw_constraints_clocks : &old_hw_constraints_clocks);
+sound/isa/es18xx.c:        if (chip->playback_b_substream)
+sound/isa/es18xx.c:	if ((chip->caps & ES18XX_DUPLEX_MONO) &&
+sound/isa/es18xx.c:	    chip->playback_a_substream &&
+sound/isa/es18xx.c:	    chip->playback_a_substream->runtime->channels != 1)
+sound/isa/es18xx.c:        chip->capture_a_substream = substream;
+sound/isa/es18xx.c:				      (chip->caps & ES18XX_NEW_RATE) ? &new_hw_constraints_clocks : &old_hw_constraints_clocks);
+sound/isa/es18xx.c:	if (substream->number == 0 && (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:		chip->playback_a_substream = NULL;
+sound/isa/es18xx.c:		chip->playback_b_substream = NULL;
+sound/isa/es18xx.c:        chip->capture_a_substream = NULL;
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	if (!(chip->version == 0x1869 || chip->version == 0x1879)) {
+sound/isa/es18xx.c:		    (chip->version == 0x1887 || chip->version == 0x1888) &&
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	chip->master_volume = NULL;
+sound/isa/es18xx.c:	chip->master_switch = NULL;
+sound/isa/es18xx.c:	chip->hw_volume = NULL;
+sound/isa/es18xx.c:	chip->hw_switch = NULL;
+sound/isa/es18xx.c:		val = inb(chip->port + ES18XX_PM);
+sound/isa/es18xx.c:		unsigned char cur = inb(chip->port + ES18XX_PM);
+sound/isa/es18xx.c:		outb((cur & ~mask) | val, chip->port + ES18XX_PM);
+sound/isa/es18xx.c:	outb(reg, chip->ctrl_port);
+sound/isa/es18xx.c:	data = inb(chip->ctrl_port + 1);
+sound/isa/es18xx.c:	outb(reg, chip->ctrl_port);
+sound/isa/es18xx.c:	outb(data, chip->ctrl_port + 1);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_CONTROL) {
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x27, chip->irq);
+sound/isa/es18xx.c:			snd_es18xx_config_write(chip, 0x28, chip->irq);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x70, chip->irq);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x72, chip->irq);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x74, chip->dma1);
+sound/isa/es18xx.c:		snd_es18xx_config_write(chip, 0x75, chip->dma2);
+sound/isa/es18xx.c:		switch (chip->irq) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR "invalid irq %d\n", chip->irq);
+sound/isa/es18xx.c:		switch (chip->dma1) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR "invalid dma1 %d\n", chip->dma1);
+sound/isa/es18xx.c:		switch (chip->dma2) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR "invalid dma2 %d\n", chip->dma2);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_NEW_RATE) {
+sound/isa/es18xx.c:	if (!(chip->caps & ES18XX_PCM2)) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_SPATIALIZER) {
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_MUTEREC)
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_RECMIX)
+sound/isa/es18xx.c:		snd_printk(KERN_ERR "reset at 0x%lx failed!!!\n", chip->port);
+sound/isa/es18xx.c:		chip->version = 0x488;
+sound/isa/es18xx.c:		chip->version = 0x688;
+sound/isa/es18xx.c:        outb(0x40, chip->port + 0x04);
+sound/isa/es18xx.c:	hi = inb(chip->port + 0x05);
+sound/isa/es18xx.c:	lo = inb(chip->port + 0x05);
+sound/isa/es18xx.c:		chip->version = hi << 8 | lo;
+sound/isa/es18xx.c:		chip->ctrl_port = inb(chip->port + 0x05) << 8;
+sound/isa/es18xx.c:		chip->ctrl_port += inb(chip->port + 0x05);
+sound/isa/es18xx.c:		if ((chip->res_ctrl_port = request_region(chip->ctrl_port, 8, "ES18xx - CTRL")) == NULL) {
+sound/isa/es18xx.c:			snd_printk(KERN_ERR PFX "unable go grab port 0x%lx\n", chip->ctrl_port);
+sound/isa/es18xx.c:				chip->version = 0x1887;
+sound/isa/es18xx.c:				chip->version = 0x1888;
+sound/isa/es18xx.c:			chip->version = 0x1788;
+sound/isa/es18xx.c:		chip->version = 0x1688;
+sound/isa/es18xx.c:		snd_printk(KERN_ERR PFX "[0x%lx] ESS chip not found\n", chip->port);
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:		chip->caps = ES18XX_DUPLEX_MONO | ES18XX_DUPLEX_SAME | ES18XX_CONTROL | ES18XX_GPO_2BIT;
+sound/isa/es18xx.c:		chip->caps = ES18XX_PCM2 | ES18XX_SPATIALIZER | ES18XX_RECMIX | ES18XX_NEW_RATE | ES18XX_AUXB | ES18XX_MONO | ES18XX_MUTEREC | ES18XX_CONTROL | ES18XX_HWV | ES18XX_GPO_2BIT;
+sound/isa/es18xx.c:		chip->caps = ES18XX_DUPLEX_MONO | ES18XX_DUPLEX_SAME | ES18XX_I2S | ES18XX_CONTROL;
+sound/isa/es18xx.c:		chip->caps = ES18XX_PCM2 | ES18XX_SPATIALIZER | ES18XX_RECMIX | ES18XX_NEW_RATE | ES18XX_AUXB | ES18XX_I2S | ES18XX_CONTROL | ES18XX_HWV;
+sound/isa/es18xx.c:		chip->caps = ES18XX_PCM2 | ES18XX_RECMIX | ES18XX_AUXB | ES18XX_DUPLEX_SAME | ES18XX_GPO_2BIT;
+sound/isa/es18xx.c:                           chip->port, chip->version);
+sound/isa/es18xx.c:        snd_printd("[0x%lx] ESS%x chip found\n", chip->port, chip->version);
+sound/isa/es18xx.c:	if (chip->dma1 == chip->dma2)
+sound/isa/es18xx.c:		chip->caps &= ~(ES18XX_PCM2 | ES18XX_DUPLEX_SAME);
+sound/isa/es18xx.c:	sprintf(str, "ES%x", chip->version);
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_PCM2)
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_DUPLEX_SAME)
+sound/isa/es18xx.c:	if (! (chip->caps & ES18XX_PCM2))
+sound/isa/es18xx.c:	sprintf(pcm->name, "ESS AudioDrive ES%x", chip->version);
+sound/isa/es18xx.c:        chip->pcm = pcm;
+sound/isa/es18xx.c:					      chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
+sound/isa/es18xx.c:	chip->pm_reg = (unsigned char)snd_es18xx_read(chip, ES18XX_PM);
+sound/isa/es18xx.c:	chip->pm_reg |= (ES18XX_PM_FM | ES18XX_PM_SUS);
+sound/isa/es18xx.c:	snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg);
+sound/isa/es18xx.c:	snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_SUS);
+sound/isa/es18xx.c:	snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM);
+sound/isa/es18xx.c:	release_and_free_resource(chip->res_port);
+sound/isa/es18xx.c:	release_and_free_resource(chip->res_ctrl_port);
+sound/isa/es18xx.c:	release_and_free_resource(chip->res_mpu_port);
+sound/isa/es18xx.c:	if (chip->irq >= 0)
+sound/isa/es18xx.c:		free_irq(chip->irq, (void *) card);
+sound/isa/es18xx.c:	if (chip->dma1 >= 0) {
+sound/isa/es18xx.c:		disable_dma(chip->dma1);
+sound/isa/es18xx.c:		free_dma(chip->dma1);
+sound/isa/es18xx.c:	if (chip->dma2 >= 0 && chip->dma1 != chip->dma2) {
+sound/isa/es18xx.c:		disable_dma(chip->dma2);
+sound/isa/es18xx.c:		free_dma(chip->dma2);
+sound/isa/es18xx.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/es18xx.c: 	spin_lock_init(&chip->mixer_lock);
+sound/isa/es18xx.c:        chip->port = port;
+sound/isa/es18xx.c:        chip->irq = -1;
+sound/isa/es18xx.c:        chip->dma1 = -1;
+sound/isa/es18xx.c:        chip->dma2 = -1;
+sound/isa/es18xx.c:        chip->audio2_vol = 0x00;
+sound/isa/es18xx.c:	chip->active = 0;
+sound/isa/es18xx.c:	chip->res_port = request_region(port, 16, "ES18xx");
+sound/isa/es18xx.c:	if (chip->res_port == NULL) {
+sound/isa/es18xx.c:	chip->irq = irq;
+sound/isa/es18xx.c:	chip->dma1 = dma1;
+sound/isa/es18xx.c:	chip->dma2 = dma2;
+sound/isa/es18xx.c:	strcpy(card->mixername, chip->pcm->name);
+sound/isa/es18xx.c:		if (chip->caps & ES18XX_HWV) {
+sound/isa/es18xx.c:				chip->master_volume = kctl;
+sound/isa/es18xx.c:				chip->master_switch = kctl;
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_PCM2) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_RECMIX) {
+sound/isa/es18xx.c:	switch (chip->version) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_SPATIALIZER) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_HWV) {
+sound/isa/es18xx.c:				chip->hw_volume = kctl;
+sound/isa/es18xx.c:				chip->hw_switch = kctl;
+sound/isa/es18xx.c:	if (chip->version != 0x1868) {
+sound/isa/es18xx.c:	if (chip->version == 0x1869) {
+sound/isa/es18xx.c:	} else if (chip->version == 0x1878) {
+sound/isa/es18xx.c:	} else if (chip->version == 0x1879) {
+sound/isa/es18xx.c:	if (chip->caps & ES18XX_GPO_2BIT) {
+sound/isa/es18xx.c:	chip->dev = pdev;
+sound/isa/es18xx.c:	if (snd_audiodrive_pnp_init_main(dev, chip->dev) < 0)
+sound/isa/es18xx.c:	chip->dev = pnp_request_card_device(card, id->devs[0].id, NULL);
+sound/isa/es18xx.c:	if (chip->dev == NULL)
+sound/isa/es18xx.c:	chip->devc = pnp_request_card_device(card, id->devs[1].id, NULL);
+sound/isa/es18xx.c:	if (chip->devc == NULL)
+sound/isa/es18xx.c:	if (pnp_activate_dev(chip->devc) < 0) {
+sound/isa/es18xx.c:			(unsigned long long)pnp_port_start(chip->devc, 0));
+sound/isa/es18xx.c:	if (snd_audiodrive_pnp_init_main(dev, chip->dev) < 0)
+sound/isa/es18xx.c:	sprintf(card->driver, "ES%x", chip->version);
+sound/isa/es18xx.c:	sprintf(card->shortname, "ESS AudioDrive ES%x", chip->version);
+sound/isa/es18xx.c:			chip->port,
+sound/isa/es18xx.c:			chip->port,
+sound/isa/es18xx.c:					  -1, &chip->rmidi);
+sound/isa/gus/gusmax.c:	struct snd_card *card = chip->card;
+sound/isa/gus/interwave.c:	struct snd_card *card = chip->card;
+sound/isa/msnd/msnd.c:	long tmp = (size * HZ * chip->play_sample_size) / 8;
+sound/isa/msnd/msnd.c:	return tmp / (chip->play_sample_rate * chip->play_channels);
+sound/isa/msnd/msnd.c:	if (!(chip->mode & FMODE_WRITE) || !test_bit(F_WRITING, &chip->flags))
+sound/isa/msnd/msnd.c:	set_bit(F_WRITEFLUSH, &chip->flags);
+sound/isa/msnd/msnd.c:		&chip->writeflush,
+sound/isa/msnd/msnd.c:		get_play_delay_jiffies(&chip, chip->DAPF.len));*/
+sound/isa/msnd/msnd.c:	clear_bit(F_WRITEFLUSH, &chip->flags);
+sound/isa/msnd/msnd.c:			get_play_delay_jiffies(chip, chip->play_period_bytes));
+sound/isa/msnd/msnd.c:	clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:	if ((file ? file->f_mode : chip->mode) & FMODE_READ) {
+sound/isa/msnd/msnd.c:		clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:			chip->mode &= ~FMODE_READ;
+sound/isa/msnd/msnd.c:		clear_bit(F_AUDIO_READ_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	if ((file ? file->f_mode : chip->mode) & FMODE_WRITE) {
+sound/isa/msnd/msnd.c:		if (test_bit(F_WRITING, &chip->flags)) {
+sound/isa/msnd/msnd.c:			chip->mode &= ~FMODE_WRITE;
+sound/isa/msnd/msnd.c:		clear_bit(F_AUDIO_WRITE_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	wTmp = readw(chip->DARQ + JQS_wTail) + PCTODSP_OFFSET(DAQDS__size);
+sound/isa/msnd/msnd.c:	if (wTmp > readw(chip->DARQ + JQS_wSize))
+sound/isa/msnd/msnd.c:	while (wTmp == readw(chip->DARQ + JQS_wHead) && timeout--)
+sound/isa/msnd/msnd.c:	if (chip->capturePeriods == 2) {
+sound/isa/msnd/msnd.c:		void __iomem *pDAQ = chip->mappedbase + DARQ_DATA_BUFF +
+sound/isa/msnd/msnd.c:		unsigned short offset = 0x3000 + chip->capturePeriodBytes;
+sound/isa/msnd/msnd.c:	writew(wTmp, chip->DARQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	DAQD = bank * DAQDS__size + chip->mappedbase + DARQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_1, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	n = msnd_fifo_write(&chip->DARF,
+sound/isa/msnd/msnd.c:			    (char *)(chip->base + bank * DAR_BUFF_SIZE),
+sound/isa/msnd/msnd.c:		outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	spin_lock_irqsave(&chip->lock, flags); not necessary */
+sound/isa/msnd/msnd.c:	DAPQ_tail = readw(chip->DAPQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	while (DAPQ_tail != readw(chip->DAPQ + JQS_wHead) || start) {
+sound/isa/msnd/msnd.c:		DAQD = bank_num * DAQDS__size + chip->mappedbase +
+sound/isa/msnd/msnd.c:		writew(chip->play_period_bytes, DAQD + DAQDS_wSize);
+sound/isa/msnd/msnd.c:		else if (chip->playPeriods == 2) {
+sound/isa/msnd/msnd.c:			unsigned short offset = chip->play_period_bytes;
+sound/isa/msnd/msnd.c:		writew(DAPQ_tail, chip->DAPQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	/* spin_unlock_irqrestore(&chip->lock, flags); not necessary */
+sound/isa/msnd/msnd.c:	void	__iomem *pDAQ = chip->mappedbase + DAPQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	chip->last_playbank = -1;
+sound/isa/msnd/msnd.c:	chip->playLimit = pcm_count * (pcm_periods - 1);
+sound/isa/msnd/msnd.c:	chip->playPeriods = pcm_periods;
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(0 * DAQDS__size), chip->DAPQ + JQS_wHead);
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(0 * DAQDS__size), chip->DAPQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	chip->play_period_bytes = pcm_count;
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->play_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd.c:	/* snd_msnd_init_queue(chip->DARQ, DARQ_DATA_BUFF, DARQ_BUFF_SIZE); */
+sound/isa/msnd/msnd.c:	chip->last_recbank = 2;
+sound/isa/msnd/msnd.c:	chip->captureLimit = pcm_count * (pcm_periods - 1);
+sound/isa/msnd/msnd.c:	chip->capturePeriods = pcm_periods;
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(0 * DAQDS__size), chip->DARQ + JQS_wHead);
+sound/isa/msnd/msnd.c:	writew(PCTODSP_OFFSET(chip->last_recbank * DAQDS__size),
+sound/isa/msnd/msnd.c:		chip->DARQ + JQS_wTail);
+sound/isa/msnd/msnd.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_1, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	memset_io(chip->mappedbase, 0, DAR_BUFF_SIZE * 3);
+sound/isa/msnd/msnd.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/msnd/msnd.c:	chip->capturePeriodBytes = pcm_count;
+sound/isa/msnd/msnd.c:	pDAQ = chip->mappedbase + DARQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->capture_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd.c:	set_bit(F_AUDIO_WRITE_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:	runtime->dma_area = (__force void *)chip->mappedbase;
+sound/isa/msnd/msnd.c:	chip->playback_substream = substream;
+sound/isa/msnd/msnd.c:	clear_bit(F_AUDIO_WRITE_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	void	__iomem *pDAQ =	chip->mappedbase + DAPQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	chip->play_sample_size = snd_pcm_format_width(params_format(params));
+sound/isa/msnd/msnd.c:	chip->play_channels = params_channels(params);
+sound/isa/msnd/msnd.c:	chip->play_sample_rate = params_rate(params);
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->play_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->play_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd.c:	 * snd_msnd_calibrate_adc(chip->play_sample_rate);
+sound/isa/msnd/msnd.c:	chip->playDMAPos = 0;
+sound/isa/msnd/msnd.c:		chip->banksPlayed = 0;
+sound/isa/msnd/msnd.c:		set_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:		clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd.c:	return bytes_to_frames(substream->runtime, chip->playDMAPos);
+sound/isa/msnd/msnd.c:	set_bit(F_AUDIO_READ_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	runtime->dma_area = (__force void *)chip->mappedbase + 0x3000;
+sound/isa/msnd/msnd.c:	chip->capture_substream = substream;
+sound/isa/msnd/msnd.c:	clear_bit(F_AUDIO_READ_INUSE, &chip->flags);
+sound/isa/msnd/msnd.c:	chip->captureDMAPos = 0;
+sound/isa/msnd/msnd.c:		chip->last_recbank = -1;
+sound/isa/msnd/msnd.c:		set_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:		clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:		clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd.c:	return bytes_to_frames(runtime, chip->captureDMAPos);
+sound/isa/msnd/msnd.c:	void		__iomem *pDAQ = chip->mappedbase + DARQ_DATA_BUFF;
+sound/isa/msnd/msnd.c:	chip->capture_sample_size = snd_pcm_format_width(params_format(params));
+sound/isa/msnd/msnd.c:	chip->capture_channels = params_channels(params);
+sound/isa/msnd/msnd.c:	chip->capture_sample_rate = params_rate(params);
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_size, pDAQ + DAQDS_wSampleSize);
+sound/isa/msnd/msnd.c:		writew(chip->capture_channels, pDAQ + DAQDS_wChannels);
+sound/isa/msnd/msnd.c:		writew(chip->capture_sample_rate, pDAQ + DAQDS_wSampleRate);
+sound/isa/msnd/msnd_midi.c:	chip->msndmidi_mpu = mpu;
+sound/isa/msnd/msnd_pinnacle.c:	chip->play_sample_size = snd_pcm_format_width(DEFSAMPLESIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->play_sample_rate = DEFSAMPLERATE;
+sound/isa/msnd/msnd_pinnacle.c:	chip->play_channels = DEFCHANNELS;
+sound/isa/msnd/msnd_pinnacle.c:	chip->capture_sample_size = snd_pcm_format_width(DEFSAMPLESIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->capture_sample_rate = DEFSAMPLERATE;
+sound/isa/msnd/msnd_pinnacle.c:	chip->capture_channels = DEFCHANNELS;
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->banksPlayed < 3)
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->last_playbank == LOBYTE(wMessage)) {
+sound/isa/msnd/msnd_pinnacle.c:		chip->banksPlayed++;
+sound/isa/msnd/msnd_pinnacle.c:		if (test_bit(F_WRITING, &chip->flags))
+sound/isa/msnd/msnd_pinnacle.c:		chip->last_playbank = LOBYTE(wMessage);
+sound/isa/msnd/msnd_pinnacle.c:		chip->playDMAPos += chip->play_period_bytes;
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->playDMAPos > chip->playLimit)
+sound/isa/msnd/msnd_pinnacle.c:			chip->playDMAPos = 0;
+sound/isa/msnd/msnd_pinnacle.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->last_recbank == LOBYTE(wMessage))
+sound/isa/msnd/msnd_pinnacle.c:		chip->last_recbank = LOBYTE(wMessage);
+sound/isa/msnd/msnd_pinnacle.c:		chip->captureDMAPos += chip->capturePeriodBytes;
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->captureDMAPos > (chip->captureLimit))
+sound/isa/msnd/msnd_pinnacle.c:			chip->captureDMAPos = 0;
+sound/isa/msnd/msnd_pinnacle.c:		if (test_bit(F_READING, &chip->flags))
+sound/isa/msnd/msnd_pinnacle.c:			snd_msnd_DARQ(chip, chip->last_recbank);
+sound/isa/msnd/msnd_pinnacle.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/msnd/msnd_pinnacle.c:				chip->banksPlayed);
+sound/isa/msnd/msnd_pinnacle.c:			if (chip->banksPlayed > 2)
+sound/isa/msnd/msnd_pinnacle.c:				clear_bit(F_WRITING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:			clear_bit(F_READING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		if (chip->msndmidi_mpu)
+sound/isa/msnd/msnd_pinnacle.c:			snd_msndmidi_input_read(chip->msndmidi_mpu);
+sound/isa/msnd/msnd_pinnacle.c:	void __iomem *pwDSPQData = chip->mappedbase + DSPQ_DATA_BUFF;
+sound/isa/msnd/msnd_pinnacle.c:	/* inb(chip->io + HP_RXL); */
+sound/isa/msnd/msnd_pinnacle.c:	head = readw(chip->DSPQ + JQS_wHead);
+sound/isa/msnd/msnd_pinnacle.c:	tail = readw(chip->DSPQ + JQS_wTail);
+sound/isa/msnd/msnd_pinnacle.c:	size = readw(chip->DSPQ + JQS_wSize);
+sound/isa/msnd/msnd_pinnacle.c:		writew(head, chip->DSPQ + JQS_wHead);
+sound/isa/msnd/msnd_pinnacle.c:	inb(chip->io + HP_RXL);
+sound/isa/msnd/msnd_pinnacle.c:	if (!request_region(chip->io, DSP_NUMIO, "probing")) {
+sound/isa/msnd/msnd_pinnacle.c:	if (snd_msnd_reset_dsp(chip->io, &info) < 0) {
+sound/isa/msnd/msnd_pinnacle.c:		release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	       chip->io, chip->io + DSP_NUMIO - 1,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->irq,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->base, chip->base + 0x7fff);
+sound/isa/msnd/msnd_pinnacle.c:	       chip->io, chip->io + DSP_NUMIO - 1,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->irq,
+sound/isa/msnd/msnd_pinnacle.c:	       chip->base, chip->base + 0x7fff);
+sound/isa/msnd/msnd_pinnacle.c:	release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	outb(chip->memid, chip->io + HP_MEMM);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	chip->SMA = chip->mappedbase + SMA_STRUCT_START;
+sound/isa/msnd/msnd_pinnacle.c:		mastVolLeft = readw(chip->SMA + SMA_wCurrMastVolLeft);
+sound/isa/msnd/msnd_pinnacle.c:		mastVolRight = readw(chip->SMA + SMA_wCurrMastVolRight);
+sound/isa/msnd/msnd_pinnacle.c:	memset_io(chip->mappedbase, 0, 0x8000);
+sound/isa/msnd/msnd_pinnacle.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_1, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	memset_io(chip->mappedbase, 0, 0x8000);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/msnd/msnd_pinnacle.c:	chip->DAPQ = chip->mappedbase + DAPQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->DAPQ, DAPQ_DATA_BUFF, DAPQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->DARQ = chip->mappedbase + DARQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->DARQ, DARQ_DATA_BUFF, DARQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->MODQ = chip->mappedbase + MODQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->MODQ, MODQ_DATA_BUFF, MODQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->MIDQ = chip->mappedbase + MIDQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->MIDQ, MIDQ_DATA_BUFF, MIDQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	chip->DSPQ = chip->mappedbase + DSPQ_OFFSET;
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_init_queue(chip->DSPQ, DSPQ_DATA_BUFF, DSPQ_BUFF_SIZE);
+sound/isa/msnd/msnd_pinnacle.c:	writew(1, chip->SMA + SMA_wCurrPlayFormat);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_sample_size, chip->SMA + SMA_wCurrPlaySampleSize);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_channels, chip->SMA + SMA_wCurrPlayChannels);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_sample_rate, chip->SMA + SMA_wCurrPlaySampleRate);
+sound/isa/msnd/msnd_pinnacle.c:	writew(chip->play_sample_rate, chip->SMA + SMA_wCalFreqAtoD);
+sound/isa/msnd/msnd_pinnacle.c:	writew(mastVolLeft, chip->SMA + SMA_wCurrMastVolLeft);
+sound/isa/msnd/msnd_pinnacle.c:	writew(mastVolRight, chip->SMA + SMA_wCurrMastVolRight);
+sound/isa/msnd/msnd_pinnacle.c:	writel(0x00010000, chip->SMA + SMA_dwCurrPlayPitch);
+sound/isa/msnd/msnd_pinnacle.c:	writel(0x00000001, chip->SMA + SMA_dwCurrPlayRate);
+sound/isa/msnd/msnd_pinnacle.c:	writew(0x303, chip->SMA + SMA_wCurrInputTagBits);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBLKSEL_0, chip->io + HP_BLKS);
+sound/isa/msnd/msnd_pinnacle.c:	memcpy_toio(chip->mappedbase, perm_fw->data, perm_fw->size);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPPRORESET_ON, chip->io + HP_PROR);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPPRORESET_OFF, chip->io + HP_PROR);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPWAITSTATE_0, chip->io + HP_WAIT);
+sound/isa/msnd/msnd_pinnacle.c:	outb(HPBITMODE_16, chip->io + HP_BITM);
+sound/isa/msnd/msnd_pinnacle.c:	err = snd_msnd_reset_dsp(chip->io, NULL);
+sound/isa/msnd/msnd_pinnacle.c:	while (readw(chip->mappedbase)) {
+sound/isa/msnd/msnd_pinnacle.c:	if (test_bit(F_RESETTING, &chip->flags) || ++chip->nresets > 10)
+sound/isa/msnd/msnd_pinnacle.c:	set_bit(F_RESETTING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	clear_bit(F_RESETTING, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_dsp_full_reset(chip->card);
+sound/isa/msnd/msnd_pinnacle.c:	writew(srate, chip->SMA + SMA_wCalFreqAtoD);
+sound/isa/msnd/msnd_pinnacle.c:	if (chip->calibrate_signal == 0)
+sound/isa/msnd/msnd_pinnacle.c:		writew(readw(chip->SMA + SMA_wCurrHostStatusFlags)
+sound/isa/msnd/msnd_pinnacle.c:		       | 0x0001, chip->SMA + SMA_wCurrHostStatusFlags);
+sound/isa/msnd/msnd_pinnacle.c:		writew(readw(chip->SMA + SMA_wCurrHostStatusFlags)
+sound/isa/msnd/msnd_pinnacle.c:		       & ~0x0001, chip->SMA + SMA_wCurrHostStatusFlags);
+sound/isa/msnd/msnd_pinnacle.c:	err = request_irq(chip->irq, snd_msnd_interrupt, 0, card->shortname,
+sound/isa/msnd/msnd_pinnacle.c:		printk(KERN_ERR LOGNAME ": Couldn't grab IRQ %d\n", chip->irq);
+sound/isa/msnd/msnd_pinnacle.c:	if (request_region(chip->io, DSP_NUMIO, card->shortname) == NULL) {
+sound/isa/msnd/msnd_pinnacle.c:		free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	if (!request_mem_region(chip->base, BUFFSIZE, card->shortname)) {
+sound/isa/msnd/msnd_pinnacle.c:			chip->base, chip->base + BUFFSIZE - 1);
+sound/isa/msnd/msnd_pinnacle.c:		release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:		free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	chip->mappedbase = ioremap_nocache(chip->base, 0x8000);
+sound/isa/msnd/msnd_pinnacle.c:	if (!chip->mappedbase) {
+sound/isa/msnd/msnd_pinnacle.c:			chip->base, chip->base + BUFFSIZE - 1);
+sound/isa/msnd/msnd_pinnacle.c:					  &chip->rmidi);
+sound/isa/msnd/msnd_pinnacle.c:		mpu = chip->rmidi->private_data;
+sound/isa/msnd/msnd_pinnacle.c:	disable_irq(chip->irq);
+sound/isa/msnd/msnd_pinnacle.c:	snd_msnd_calibrate_adc(chip, chip->play_sample_rate);
+sound/isa/msnd/msnd_pinnacle.c:	iounmap(chip->mappedbase);
+sound/isa/msnd/msnd_pinnacle.c:	release_mem_region(chip->base, BUFFSIZE);
+sound/isa/msnd/msnd_pinnacle.c:	release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	iounmap(chip->mappedbase);
+sound/isa/msnd/msnd_pinnacle.c:	release_mem_region(chip->base, BUFFSIZE);
+sound/isa/msnd/msnd_pinnacle.c:	release_region(chip->io, DSP_NUMIO);
+sound/isa/msnd/msnd_pinnacle.c:	free_irq(chip->irq, chip);
+sound/isa/msnd/msnd_pinnacle.c:	chip->card = card;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_5; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_7; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_9; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_10; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_11; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->irqid = HPIRQ_12; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_B000; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_C800; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_D000; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_D800; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_E000; break;
+sound/isa/msnd/msnd_pinnacle.c:		chip->memid = HPMEM_E800; break;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndClassic;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndPinnacle;
+sound/isa/msnd/msnd_pinnacle.c:	chip->io = io[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->irq = irq[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->base = mem[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->calibrate_signal = calibrate_signal ? 1 : 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->recsrc = 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_data_buff = DSPQ_DATA_BUFF;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_buff_size = DSPQ_BUFF_SIZE;
+sound/isa/msnd/msnd_pinnacle.c:		clear_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_HAVEDIGITAL, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	spin_lock_init(&chip->lock);
+sound/isa/msnd/msnd_pinnacle.c:	chip->card = card;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndClassic;
+sound/isa/msnd/msnd_pinnacle.c:	chip->type = msndPinnacle;
+sound/isa/msnd/msnd_pinnacle.c:	chip->io = io[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->irq = irq[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->base = mem[idx];
+sound/isa/msnd/msnd_pinnacle.c:	chip->calibrate_signal = calibrate_signal ? 1 : 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->recsrc = 0;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_data_buff = DSPQ_DATA_BUFF;
+sound/isa/msnd/msnd_pinnacle.c:	chip->dspq_buff_size = DSPQ_BUFF_SIZE;
+sound/isa/msnd/msnd_pinnacle.c:		clear_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_DISABLE_WRITE_NDELAY, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:		set_bit(F_HAVEDIGITAL, &chip->flags);
+sound/isa/msnd/msnd_pinnacle.c:	spin_lock_init(&chip->lock);
+sound/isa/msnd/msnd_pinnacle_mixer.c:	unsigned items = test_bit(F_HAVEDIGITAL, &chip->flags) ? 3 : 2;
+sound/isa/msnd/msnd_pinnacle_mixer.c:	if (chip->recsrc & MSND_MASK_SYNTH) {
+sound/isa/msnd/msnd_pinnacle_mixer.c:	} else if ((chip->recsrc & MSND_MASK_DIGITAL) &&
+sound/isa/msnd/msnd_pinnacle_mixer.c:		 test_bit(F_HAVEDIGITAL, &chip->flags)) {
+sound/isa/msnd/msnd_pinnacle_mixer.c:	change  = newrecsrc != chip->recsrc;
+sound/isa/msnd/msnd_pinnacle_mixer.c:				chip->recsrc = newrecsrc;
+sound/isa/msnd/msnd_pinnacle_mixer.c:	spin_lock_init(&chip->mixer_lock);
+sound/isa/opl3sa2.c:	outb(reg, chip->port);	/* register */
+sound/isa/opl3sa2.c:	result = inb(chip->port + 1);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	outb(reg, chip->port);	/* register */
+sound/isa/opl3sa2.c:	outb(value, chip->port + 1);
+sound/isa/opl3sa2.c:	chip->ctlregs[reg] = value;
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	port = chip->port;
+sound/isa/opl3sa2.c:	if ((chip->res_port = request_region(port, 2, "OPL3-SA control")) == NULL) {
+sound/isa/opl3sa2.c:	chip->version = 0;
+sound/isa/opl3sa2.c:		chip->version = 2; /* YMF711 */
+sound/isa/opl3sa2.c:		chip->version = 3;
+sound/isa/opl3sa2.c:	str[0] = chip->version + '0';
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:		snd_opl3sa2_write(chip, OPL3SA2_SYS_CTRL, (chip->ymode << 4));
+sound/isa/opl3sa2.c:	if (chip->single_dma) {
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:		snd_opl3_interrupt(chip->synth);
+sound/isa/opl3sa2.c:	if ((status & 0x10) && chip->rmidi != NULL) {
+sound/isa/opl3sa2.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/isa/opl3sa2.c:		snd_wss_interrupt(irq, chip->wss);
+sound/isa/opl3sa2.c:		if (chip->master_switch && chip->master_volume) {
+sound/isa/opl3sa2.c:					&chip->master_switch->id);
+sound/isa/opl3sa2.c:					&chip->master_volume->id);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	ucontrol->value.integer.value[0] = (chip->ctlregs[reg] >> shift) & mask;
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	oval = chip->ctlregs[reg];
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	ucontrol->value.integer.value[0] = (chip->ctlregs[left_reg] >> shift_left) & mask;
+sound/isa/opl3sa2.c:	ucontrol->value.integer.value[1] = (chip->ctlregs[right_reg] >> shift_right) & mask;
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:		oval1 = chip->ctlregs[left_reg];
+sound/isa/opl3sa2.c:		oval2 = chip->ctlregs[right_reg];
+sound/isa/opl3sa2.c:		oval1 = chip->ctlregs[left_reg];
+sound/isa/opl3sa2.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/opl3sa2.c:	chip->master_switch = NULL;
+sound/isa/opl3sa2.c:	chip->master_volume = NULL;
+sound/isa/opl3sa2.c:		case 0: chip->master_switch = kctl; kctl->private_free = snd_opl3sa2_master_free; break;
+sound/isa/opl3sa2.c:		case 1: chip->master_volume = kctl; kctl->private_free = snd_opl3sa2_master_free; break;
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:		chip->wss->suspend(chip->wss);
+sound/isa/opl3sa2.c:			snd_opl3sa2_write(chip, i, chip->ctlregs[i]);
+sound/isa/opl3sa2.c:	if (chip->version > 2) {
+sound/isa/opl3sa2.c:			snd_opl3sa2_write(chip, i, chip->ctlregs[i]);
+sound/isa/opl3sa2.c:	chip->wss->resume(chip->wss);
+sound/isa/opl3sa2.c:	if (chip->irq >= 0)
+sound/isa/opl3sa2.c:		free_irq(chip->irq, card);
+sound/isa/opl3sa2.c:	release_and_free_resource(chip->res_port);
+sound/isa/opl3sa2.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/opl3sa2.c:	chip->irq = -1;
+sound/isa/opl3sa2.c:	chip->ymode = opl3sa3_ymode[dev] & 0x03 ;
+sound/isa/opl3sa2.c:	chip->port = port[dev];
+sound/isa/opl3sa2.c:		chip->single_dma = 1;
+sound/isa/opl3sa2.c:	chip->irq = xirq;
+sound/isa/opl3sa2.c:	chip->wss = wss;
+sound/isa/opl3sa2.c:		if ((err = snd_opl3_hwdep_new(opl3, 0, 1, &chip->synth)) < 0)
+sound/isa/opl3sa2.c:					       &chip->rmidi)) < 0)
+sound/isa/opl3sa2.c:		card->shortname, chip->port, xirq, xdma1);
+sound/isa/opti9xx/miro.c:	chip->hardware = hardware;
+sound/isa/opti9xx/miro.c:	strcpy(chip->name, snd_opti9xx_names[hardware]);
+sound/isa/opti9xx/miro.c:	chip->mc_base_size = opti9xx_mc_size[hardware];  
+sound/isa/opti9xx/miro.c:	spin_lock_init(&chip->lock);
+sound/isa/opti9xx/miro.c:	chip->wss_base = -1;
+sound/isa/opti9xx/miro.c:	chip->irq = -1;
+sound/isa/opti9xx/miro.c:	chip->dma1 = -1;
+sound/isa/opti9xx/miro.c:	chip->dma2 = -1;
+sound/isa/opti9xx/miro.c:	chip->mpu_port = -1;
+sound/isa/opti9xx/miro.c:	chip->mpu_irq = -1;
+sound/isa/opti9xx/miro.c:	chip->pwd_reg = 3;
+sound/isa/opti9xx/miro.c:	if (isapnp && chip->mc_base)
+sound/isa/opti9xx/miro.c:		chip->mc_base |= 0xc00;
+sound/isa/opti9xx/miro.c:		chip->mc_base = 0xf8c;
+sound/isa/opti9xx/miro.c:		chip->password = 0xe3;
+sound/isa/opti9xx/miro.c:		chip->password = 0xe5;
+sound/isa/opti9xx/miro.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:	switch (chip->hardware) {
+sound/isa/opti9xx/miro.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/miro.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:			retval = inb(chip->mc_base + 9);
+sound/isa/opti9xx/miro.c:		retval = inb(chip->mc_base + reg);
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "sorry, no support for %d\n", chip->hardware);
+sound/isa/opti9xx/miro.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:	switch (chip->hardware) {
+sound/isa/opti9xx/miro.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/miro.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/miro.c:			outb(value, chip->mc_base + 9);
+sound/isa/opti9xx/miro.c:		outb(value, chip->mc_base + reg);
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "sorry, no support for %d\n", chip->hardware);
+sound/isa/opti9xx/miro.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	switch (chip->hardware) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/miro.c:	switch (chip->wss_base & 0x3ff) {
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0x530;
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0x604;
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0xe80;
+sound/isa/opti9xx/miro.c:		chip->wss_base = 0xf40;
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS port 0x%lx not valid\n", chip->wss_base);
+sound/isa/opti9xx/miro.c:	switch (chip->irq) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS irq # %d not valid\n", chip->irq);
+sound/isa/opti9xx/miro.c:	switch (chip->dma1) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS dma1 # %d not valid\n", chip->dma1);
+sound/isa/opti9xx/miro.c:	if (chip->dma1 == chip->dma2) {
+sound/isa/opti9xx/miro.c:	switch (chip->dma2) {
+sound/isa/opti9xx/miro.c:		snd_printk(KERN_ERR "WSS dma2 # %d not valid\n", chip->dma2);
+sound/isa/opti9xx/miro.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	outb(irq_bits << 3 | dma_bits, chip->wss_base);
+sound/isa/opti9xx/miro.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/miro.c:	if (chip->hardware > OPTi9XX_HW_82C928) {
+sound/isa/opti9xx/miro.c:		switch (chip->mpu_port) {
+sound/isa/opti9xx/miro.c:				   chip->mpu_port);
+sound/isa/opti9xx/miro.c:		switch (chip->mpu_irq) {
+sound/isa/opti9xx/miro.c:				   chip->mpu_irq);
+sound/isa/opti9xx/miro.c:			(chip->mpu_port <= 0) ? 0x00 :
+sound/isa/opti9xx/miro.c:	chip->res_mc_base = request_region(chip->mc_base, chip->mc_base_size,
+sound/isa/opti9xx/miro.c:	if (chip->res_mc_base == NULL)
+sound/isa/opti9xx/miro.c:	if (value != 0xff && value != inb(chip->mc_base + OPTi9XX_MC_REG(1)))
+sound/isa/opti9xx/miro.c:	release_and_free_resource(chip->res_mc_base);
+sound/isa/opti9xx/miro.c:	chip->res_mc_base = NULL;
+sound/isa/opti9xx/miro.c:	chip->mc_base = pnp_port_start(devmc, 0) - 1;
+sound/isa/opti9xx/miro.c:	chip->mc_base_size = pnp_port_len(devmc, 0) + 1;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->hardware = hardware;
+sound/isa/opti9xx/opti92x-ad1848.c:	strcpy(chip->name, snd_opti9xx_names[hardware]);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_init(&chip->lock);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->irq = -1;
+sound/isa/opti9xx/opti92x-ad1848.c:	if (isapnp && chip->mc_base)
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base |= 0xc00;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base = 0xf8c;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base_size = opti9xx_mc_size[hardware];
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base_size = opti9xx_mc_size[hardware];
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->password = (hardware == OPTi9XX_HW_82C928) ? 0xe2 : 0xe3;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->pwd_reg = 3;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->password = 0xe5;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->pwd_reg = 3;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_base = (hardware == OPTi9XX_HW_82C930) ? 0xf8f : 0xf8d;
+sound/isa/opti9xx/opti92x-ad1848.c:		if (!chip->mc_indir_index)
+sound/isa/opti9xx/opti92x-ad1848.c:			chip->mc_indir_index = 0xe0e;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->password = 0xe4;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->pwd_reg = 0;
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:	switch (chip->hardware) {
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:			retval = inb(chip->mc_base + 9);
+sound/isa/opti9xx/opti92x-ad1848.c:		retval = inb(chip->mc_base + reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(reg, chip->mc_indir_index);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		retval = inb(chip->mc_indir_index + 1);
+sound/isa/opti9xx/opti92x-ad1848.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:	switch (chip->hardware) {
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(reg, chip->mc_base + 8);
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:			outb(value, chip->mc_base + 9);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(value, chip->mc_base + reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(reg, chip->mc_indir_index);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:		outb(value, chip->mc_indir_index + 1);
+sound/isa/opti9xx/opti92x-ad1848.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	switch (chip->hardware) {
+sound/isa/opti9xx/opti92x-ad1848.c:			(chip->hardware == OPTi9XX_HW_82C930 ? 0x00 : 0x04),
+sound/isa/opti9xx/opti92x-ad1848.c:		snd_printk(KERN_ERR "chip %d not supported\n", chip->hardware);
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0x530;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0x604;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0xe80;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->wss_base = 0xf40;
+sound/isa/opti9xx/opti92x-ad1848.c:	 outb(irq_bits << 3 | dma_bits, chip->wss_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	if (chip->hardware > OPTi9XX_HW_82C928) {
+sound/isa/opti9xx/opti92x-ad1848.c:	if (snd_BUG_ON(!chip || !chip->pcm))
+sound/isa/opti9xx/opti92x-ad1848.c:	card = chip->card;
+sound/isa/opti9xx/opti92x-ad1848.c:	strcpy(card->mixername, chip->pcm->name);
+sound/isa/opti9xx/opti92x-ad1848.c:	struct snd_wss *codec = chip->codec;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_base = request_region(chip->mc_base, chip->mc_base_size,
+sound/isa/opti9xx/opti92x-ad1848.c:	if (chip->res_mc_base == NULL)
+sound/isa/opti9xx/opti92x-ad1848.c:	if (value != 0xff && value != inb(chip->mc_base + OPTi9XX_MC_REG(1)))
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_indir = request_region(chip->mc_indir_index, 2,
+sound/isa/opti9xx/opti92x-ad1848.c:	if (chip->res_mc_indir == NULL)
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(chip->password, chip->mc_base + chip->pwd_reg);
+sound/isa/opti9xx/opti92x-ad1848.c:	outb(((chip->mc_indir_index & 0x1f0) >> 4), chip->mc_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/isa/opti9xx/opti92x-ad1848.c:	release_and_free_resource(chip->res_mc_indir);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_indir = NULL;
+sound/isa/opti9xx/opti92x-ad1848.c:	release_and_free_resource(chip->res_mc_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->res_mc_base = NULL;
+sound/isa/opti9xx/opti92x-ad1848.c:		chip->mc_indir_index = 0;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->mc_indir_index = (pnp_port_start(pdev, 3) & ~0xf) | 0xe;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->mc_base = pnp_port_start(devmc, 0) - 1;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->mc_base_size = pnp_port_len(devmc, 0) + 1;
+sound/isa/opti9xx/opti92x-ad1848.c:		if (chip->irq > 0) {
+sound/isa/opti9xx/opti92x-ad1848.c:			disable_irq(chip->irq);
+sound/isa/opti9xx/opti92x-ad1848.c:			free_irq(chip->irq, chip);
+sound/isa/opti9xx/opti92x-ad1848.c:		release_and_free_resource(chip->res_mc_indir);
+sound/isa/opti9xx/opti92x-ad1848.c:		release_and_free_resource(chip->res_mc_base);
+sound/isa/opti9xx/opti92x-ad1848.c:	error = snd_wss_create(card, chip->wss_base + 4, -1, irq, dma1, xdma2,
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->codec = codec;
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->irq = irq;
+sound/isa/opti9xx/opti92x-ad1848.c:	strcpy(card->driver, chip->name);
+sound/isa/opti9xx/opti92x-ad1848.c:		 chip->wss_base + 4, irq, dma1, xdma2);
+sound/isa/opti9xx/opti92x-ad1848.c:		 card->shortname, codec->pcm->name, chip->wss_base + 4, irq,
+sound/isa/opti9xx/opti92x-ad1848.c:		if (chip->hardware == OPTi9XX_HW_82C928 ||
+sound/isa/opti9xx/opti92x-ad1848.c:		    chip->hardware == OPTi9XX_HW_82C929 ||
+sound/isa/opti9xx/opti92x-ad1848.c:		    chip->hardware == OPTi9XX_HW_82C924) {
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->codec->suspend(chip->codec);
+sound/isa/opti9xx/opti92x-ad1848.c:	chip->codec->resume(chip->codec);
+sound/isa/sb/jazz16.c:	if (jazz_dma_bits[chip->dma8] == 0 ||
+sound/isa/sb/jazz16.c:	    jazz_dma_bits[chip->dma16] == 0 ||
+sound/isa/sb/jazz16.c:	    jazz_irq_bits[chip->irq] == 0)
+sound/isa/sb/jazz16.c:			       jazz_dma_bits[chip->dma8] |
+sound/isa/sb/jazz16.c:			       (jazz_dma_bits[chip->dma16] << 4)))
+sound/isa/sb/jazz16.c:			       jazz_irq_bits[chip->irq] |
+sound/isa/sb/jazz16.c:	err = snd_opl3_create(card, chip->port, chip->port + 2,
+sound/isa/sb/jazz16.c:			   chip->port, chip->port + 2);
+sound/isa/sb/sb16.c:	if (chip->hardware != SB_HW_16) {
+sound/isa/sb/sb16.c:	chip->mpu_port = mpu_port[dev];
+sound/isa/sb/sb16.c:	strcpy(card->shortname, chip->name);
+sound/isa/sb/sb16.c:		chip->name,
+sound/isa/sb/sb16.c:		chip->port,
+sound/isa/sb/sb16.c:	if (chip->mpu_port > 0 && chip->mpu_port != SNDRV_AUTO_PORT) {
+sound/isa/sb/sb16.c:					       chip->mpu_port,
+sound/isa/sb/sb16.c:					       &chip->rmidi)) < 0)
+sound/isa/sb/sb16.c:		chip->rmidi_callback = snd_mpu401_uart_interrupt;
+sound/isa/sb/sb16.c:	if ((chip->hardware == SB_HW_16) && csp[dev]) {
+sound/isa/sb/sb16.c:			chip->csp = xcsp->private_data;
+sound/isa/sb/sb16.c:			chip->hardware = SB_HW_16CSP;
+sound/isa/sb/sb16.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb16.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	if ((err = snd_hwdep_new(chip->card, "SB16-CSP", device, &hw)) < 0)
+sound/isa/sb/sb16_csp.c:		snd_device_free(chip->card, hw);
+sound/isa/sb/sb16_csp.c:			spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:			spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:		spin_lock(&p->chip->mixer_lock);
+sound/isa/sb/sb16_csp.c:		spin_unlock(&p->chip->mixer_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:				       p->chip->card->dev);
+sound/isa/sb/sb16_csp.c:				spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:				spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock(&p->chip->reg_lock);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->mixer_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_lock_irqsave(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	spin_unlock_irqrestore(&p->chip->reg_lock, flags);
+sound/isa/sb/sb16_csp.c:	card = p->chip->card;
+sound/isa/sb/sb16_csp.c:	card = p->chip->card;	
+sound/isa/sb/sb16_csp.c:	snd_card_ro_proc_new(p->chip->card, name, p, info_read);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:				if (csp->ops.csp_start(csp, (chip->mode & SB_MODE_PLAYBACK_16) ?
+sound/isa/sb/sb16_main.c:					chip->open = SNDRV_SB_CSP_MODE_DSP_WRITE;
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:				if (csp->ops.csp_start(csp, (chip->mode & SB_MODE_CAPTURE_16) ?
+sound/isa/sb/sb16_main.c:					chip->open = SNDRV_SB_CSP_MODE_DSP_READ;
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:			spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:			spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:	if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_WRITE)) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:			chip->open = 0;
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_16CSP) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:	if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_READ)) {
+sound/isa/sb/sb16_main.c:		struct snd_sb_csp *csp = chip->csp;
+sound/isa/sb/sb16_main.c:			chip->open = 0;
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & (channel == SNDRV_PCM_STREAM_PLAYBACK ? SB_MODE_PLAYBACK_16 : SB_MODE_CAPTURE_16))
+sound/isa/sb/sb16_main.c:	if (!(chip->mode & SB_RATE_LOCK)) {
+sound/isa/sb/sb16_main.c:		chip->locked_rate = rate;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	size = chip->p_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_PLAYBACK_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_PLAYBACK_16) {
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_RATE_LOCK_PLAYBACK;
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_PLAYBACK_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_PLAYBACK_16 ? SB_DSP_DMA16_OFF : SB_DSP_DMA8_OFF);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_RATE_LOCK_CAPTURE)
+sound/isa/sb/sb16_main.c:			snd_sbdsp_command(chip, chip->mode & SB_MODE_CAPTURE_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		chip->mode &= ~SB_RATE_LOCK_PLAYBACK;
+sound/isa/sb/sb16_main.c:	spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	size = chip->c_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_CAPTURE_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_CAPTURE_16) {
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_RATE_LOCK_CAPTURE;
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_CAPTURE_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		snd_sbdsp_command(chip, chip->mode & SB_MODE_CAPTURE_16 ? SB_DSP_DMA16_OFF : SB_DSP_DMA8_OFF);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_RATE_LOCK_PLAYBACK)
+sound/isa/sb/sb16_main.c:			snd_sbdsp_command(chip, chip->mode & SB_MODE_PLAYBACK_16 ? SB_DSP_DMA16_ON : SB_DSP_DMA8_ON);
+sound/isa/sb/sb16_main.c:		chip->mode &= ~SB_RATE_LOCK_CAPTURE;
+sound/isa/sb/sb16_main.c:	spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb16_main.c:	spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb16_main.c:	if ((status & SB_IRQTYPE_MPUIN) && chip->rmidi_callback)
+sound/isa/sb/sb16_main.c:		chip->rmidi_callback(irq, chip->rmidi->private_data);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_PLAYBACK_8) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_CAPTURE_8) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/sb/sb16_main.c:		spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_PLAYBACK_16) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/sb/sb16_main.c:		if (chip->mode & SB_MODE_CAPTURE_16) {
+sound/isa/sb/sb16_main.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/sb/sb16_main.c:		spin_lock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:		spin_unlock(&chip->reg_lock);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_PLAYBACK_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	ptr = snd_dma_pointer(dma, chip->p_dma_size);
+sound/isa/sb/sb16_main.c:	dma = (chip->mode & SB_MODE_CAPTURE_8) ? chip->dma8 : chip->dma16;
+sound/isa/sb/sb16_main.c:	ptr = snd_dma_pointer(dma, chip->c_dma_size);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_PLAYBACK) {
+sound/isa/sb/sb16_main.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->force_mode16 & SB_MODE_CAPTURE_16)
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && !(chip->mode & SB_MODE_CAPTURE_16)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 <= 3) {
+sound/isa/sb/sb16_main.c:	if (chip->dma8 >= 0 && !(chip->mode & SB_MODE_CAPTURE_8)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_PLAYBACK_8;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 < 0) {
+sound/isa/sb/sb16_main.c:			chip->mode |= SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_ALS100)
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_CS5530) {
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_RATE_LOCK)
+sound/isa/sb/sb16_main.c:		runtime->hw.rate_min = runtime->hw.rate_max = chip->locked_rate;
+sound/isa/sb/sb16_main.c:	chip->playback_substream = substream;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	chip->playback_substream = NULL;
+sound/isa/sb/sb16_main.c:	chip->mode &= ~SB_MODE_PLAYBACK;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_MODE_CAPTURE) {
+sound/isa/sb/sb16_main.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->force_mode16 & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && !(chip->mode & SB_MODE_PLAYBACK_16)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_CAPTURE_16;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 <= 3) {
+sound/isa/sb/sb16_main.c:	if (chip->dma8 >= 0 && !(chip->mode & SB_MODE_PLAYBACK_8)) {
+sound/isa/sb/sb16_main.c:		chip->mode |= SB_MODE_CAPTURE_8;
+sound/isa/sb/sb16_main.c:		if (chip->dma16 < 0) {
+sound/isa/sb/sb16_main.c:			chip->mode |= SB_MODE_CAPTURE_16;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_ALS100)
+sound/isa/sb/sb16_main.c:	if (chip->hardware == SB_HW_CS5530) {
+sound/isa/sb/sb16_main.c:	if (chip->mode & SB_RATE_LOCK)
+sound/isa/sb/sb16_main.c:		runtime->hw.rate_min = runtime->hw.rate_max = chip->locked_rate;
+sound/isa/sb/sb16_main.c:	chip->capture_substream = substream;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	chip->capture_substream = NULL;
+sound/isa/sb/sb16_main.c:	chip->mode &= ~SB_MODE_CAPTURE;
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb16_main.c:	if (chip->dma8 < 0 || chip->dma16 < 0) {
+sound/isa/sb/sb16_main.c:		chip->force_mode16 = 0;
+sound/isa/sb/sb16_main.c:		chip->force_mode16 = SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb16_main.c:		chip->force_mode16 = SB_MODE_CAPTURE_16;
+sound/isa/sb/sb16_main.c:	if (chip->dma8 < 0 || chip->dma16 < 0)
+sound/isa/sb/sb16_main.c:	switch (chip->force_mode16) {
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb16_main.c:	// printk(KERN_DEBUG "codec->irq=%i, codec->dma8=%i, codec->dma16=%i\n", chip->irq, chip->dma8, chip->dma16);
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:	switch (chip->irq) {
+sound/isa/sb/sb16_main.c:	if (chip->dma8 >= 0) {
+sound/isa/sb/sb16_main.c:		switch (chip->dma8) {
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && chip->dma16 != chip->dma8) {
+sound/isa/sb/sb16_main.c:		switch (chip->dma16) {
+sound/isa/sb/sb16_main.c:	switch (chip->mpu_port) {
+sound/isa/sb/sb16_main.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb16_main.c:		snd_printk(KERN_ERR "SB16 [0x%lx]: unable to set DMA & IRQ (PnP device?)\n", chip->port);
+sound/isa/sb/sb16_main.c:		snd_printk(KERN_ERR "SB16 [0x%lx]: wanted: irqreg=0x%x, dmareg=0x%x, mpureg = 0x%x\n", chip->port, realirq, realdma, realmpureg);
+sound/isa/sb/sb16_main.c:		snd_printk(KERN_ERR "SB16 [0x%lx]:    got: irqreg=0x%x, dmareg=0x%x, mpureg = 0x%x\n", chip->port, irqreg, dmareg, mpureg);
+sound/isa/sb/sb16_main.c:	struct snd_card *card = chip->card;
+sound/isa/sb/sb16_main.c:	sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff);
+sound/isa/sb/sb16_main.c:	chip->pcm = pcm;
+sound/isa/sb/sb16_main.c:	if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) {
+sound/isa/sb/sb8.c:	if (chip->open & SB_OPEN_PCM) {
+sound/isa/sb/sb8.c:	if (chip->hardware >= SB_HW_16) {
+sound/isa/sb/sb8.c:		if (chip->hardware == SB_HW_ALS100)
+sound/isa/sb/sb8.c:	if (chip->hardware == SB_HW_10 || chip->hardware == SB_HW_20) {
+sound/isa/sb/sb8.c:		if ((err = snd_opl3_create(card, chip->port + 8, 0,
+sound/isa/sb/sb8.c:			snd_printk(KERN_WARNING "sb8: no OPL device at 0x%lx\n", chip->port + 8);
+sound/isa/sb/sb8.c:		if ((err = snd_opl3_create(card, chip->port, chip->port + 2,
+sound/isa/sb/sb8.c:				   chip->port, chip->port + 2);
+sound/isa/sb/sb8.c:	strcpy(card->driver, chip->hardware == SB_HW_PRO ? "SB Pro" : "SB8");
+sound/isa/sb/sb8.c:	strcpy(card->shortname, chip->name);
+sound/isa/sb/sb8.c:		chip->name,
+sound/isa/sb/sb8.c:		chip->port,
+sound/isa/sb/sb8_main.c:	switch (chip->hardware) {
+sound/isa/sb/sb8_main.c:			if (chip->mode & SB_MODE_CAPTURE_16)
+sound/isa/sb/sb8_main.c:				chip->mode |= SB_MODE_PLAYBACK_16;
+sound/isa/sb/sb8_main.c:		chip->playback_format = SB_DSP_LO_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->playback_format = SB_DSP_HI_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->playback_format = SB_DSP_HI_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->playback_format = SB_DSP_LO_OUTPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->playback_format = SB_DSP_OUTPUT;
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_PLAYBACK_16) {
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:		chip->mode |= SB_MODE_PLAYBACK_8;
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	size = chip->p_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb8_main.c:	count = chip->p_period_size = snd_pcm_lib_period_bytes(substream);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	if (chip->hardware == SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		chip->force_mode16 = mixreg;
+sound/isa/sb/sb8_main.c:	if (chip->playback_format != SB_DSP_OUTPUT) {
+sound/isa/sb/sb8_main.c:		if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:		snd_sbdsp_command(chip, chip->playback_format);
+sound/isa/sb/sb8_main.c:		if (chip->playback_format == SB_DSP_OUTPUT) {
+sound/isa/sb/sb8_main.c:			count = chip->p_period_size - 1;
+sound/isa/sb/sb8_main.c:		if (chip->playback_format == SB_DSP_HI_OUTPUT_AUTO) {
+sound/isa/sb/sb8_main.c:				spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:				snd_sbmixer_write(chip, SB_DSP_STEREO_SW, chip->force_mode16 & ~0x02);
+sound/isa/sb/sb8_main.c:				spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	switch (chip->hardware) {
+sound/isa/sb/sb8_main.c:			if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:				chip->mode |= SB_MODE_CAPTURE_16;
+sound/isa/sb/sb8_main.c:		chip->capture_format = SB_DSP_LO_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->capture_format = SB_DSP_HI_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->capture_format = (rate > 23000) ? SB_DSP_HI_INPUT_AUTO : SB_DSP_LO_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:			chip->capture_format = SB_DSP_HI_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->capture_format = SB_DSP_LO_INPUT_AUTO;
+sound/isa/sb/sb8_main.c:		chip->capture_format = SB_DSP_INPUT;
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_CAPTURE_16) {
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:		chip->mode |= SB_MODE_CAPTURE_8;
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	size = chip->c_dma_size = snd_pcm_lib_buffer_bytes(substream);
+sound/isa/sb/sb8_main.c:	count = chip->c_period_size = snd_pcm_lib_period_bytes(substream);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	if (chip->hardware == SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:		chip->force_mode16 = mixreg;
+sound/isa/sb/sb8_main.c:	if (chip->capture_format != SB_DSP_INPUT) {
+sound/isa/sb/sb8_main.c:		if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:		snd_sbdsp_command(chip, chip->capture_format);
+sound/isa/sb/sb8_main.c:		if (chip->capture_format == SB_DSP_INPUT) {
+sound/isa/sb/sb8_main.c:			count = chip->c_period_size - 1;
+sound/isa/sb/sb8_main.c:		if (chip->capture_format == SB_DSP_HI_INPUT_AUTO) {
+sound/isa/sb/sb8_main.c:				spin_lock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:				snd_sbmixer_write(chip, SB_DSP_CAPTURE_FILT, chip->force_mode16);
+sound/isa/sb/sb8_main.c:				spin_unlock(&chip->mixer_lock);
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb8_main.c:	switch (chip->mode) {
+sound/isa/sb/sb8_main.c:		if (chip->hardware != SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		substream = chip->playback_substream;
+sound/isa/sb/sb8_main.c:		if (chip->playback_format == SB_DSP_OUTPUT)
+sound/isa/sb/sb8_main.c:		if (chip->hardware != SB_HW_JAZZ16)
+sound/isa/sb/sb8_main.c:		substream = chip->capture_substream;
+sound/isa/sb/sb8_main.c:		if (chip->capture_format == SB_DSP_INPUT)
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_PLAYBACK_8)
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	else if (chip->mode & SB_MODE_PLAYBACK_16)
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:	ptr = snd_dma_pointer(dma, chip->p_dma_size);
+sound/isa/sb/sb8_main.c:	if (chip->mode & SB_MODE_CAPTURE_8)
+sound/isa/sb/sb8_main.c:		dma = chip->dma8;
+sound/isa/sb/sb8_main.c:	else if (chip->mode & SB_MODE_CAPTURE_16)
+sound/isa/sb/sb8_main.c:		dma = chip->dma16;
+sound/isa/sb/sb8_main.c:	ptr = snd_dma_pointer(dma, chip->c_dma_size);
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	if (chip->open) {
+sound/isa/sb/sb8_main.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	chip->open |= SB_OPEN_PCM;
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:		chip->playback_substream = substream;
+sound/isa/sb/sb8_main.c:		chip->capture_substream = substream;
+sound/isa/sb/sb8_main.c:	switch (chip->hardware) {
+sound/isa/sb/sb8_main.c:		if (chip->dma16 == 5 || chip->dma16 == 7)
+sound/isa/sb/sb8_main.c:	if (chip->dma8 > 3 || chip->dma16 >= 0) {
+sound/isa/sb/sb8_main.c:	chip->playback_substream = NULL;
+sound/isa/sb/sb8_main.c:	chip->capture_substream = NULL;
+sound/isa/sb/sb8_main.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	chip->open &= ~SB_OPEN_PCM;
+sound/isa/sb/sb8_main.c:		chip->mode &= ~SB_MODE_PLAYBACK;
+sound/isa/sb/sb8_main.c:		chip->mode &= ~SB_MODE_CAPTURE;
+sound/isa/sb/sb8_main.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_main.c:	struct snd_card *card = chip->card;
+sound/isa/sb/sb8_main.c:	sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff);
+sound/isa/sb/sb8_main.c:	if (chip->dma8 > 3 || chip->dma16 >= 0)
+sound/isa/sb/sb8_midi.c:	rmidi = chip->rmidi;
+sound/isa/sb/sb8_midi.c:	spin_lock(&chip->midi_input_lock);
+sound/isa/sb/sb8_midi.c:			if (chip->open & SB_OPEN_MIDI_INPUT_TRIGGER) {
+sound/isa/sb/sb8_midi.c:				snd_rawmidi_receive(chip->midi_substream_input, &byte, 1);
+sound/isa/sb/sb8_midi.c:	spin_unlock(&chip->midi_input_lock);
+sound/isa/sb/sb8_midi.c:	valid_open_flags = chip->hardware >= SB_HW_20
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	if (chip->open & ~valid_open_flags) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open |= SB_OPEN_MIDI_INPUT;
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_input = substream;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_OUTPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (chip->hardware >= SB_HW_20)
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	valid_open_flags = chip->hardware >= SB_HW_20
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	if (chip->open & ~valid_open_flags) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open |= SB_OPEN_MIDI_OUTPUT;
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_output = substream;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_INPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (chip->hardware >= SB_HW_20)
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open &= ~(SB_OPEN_MIDI_INPUT | SB_OPEN_MIDI_INPUT_TRIGGER);
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_input = NULL;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_OUTPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	del_timer_sync(&chip->midi_timer);
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	chip->open &= ~(SB_OPEN_MIDI_OUTPUT | SB_OPEN_MIDI_OUTPUT_TRIGGER);
+sound/isa/sb/sb8_midi.c:	chip->midi_substream_output = NULL;
+sound/isa/sb/sb8_midi.c:	if (!(chip->open & SB_OPEN_MIDI_INPUT)) {
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (!(chip->open & SB_OPEN_MIDI_INPUT_TRIGGER)) {
+sound/isa/sb/sb8_midi.c:			if (chip->hardware < SB_HW_20)
+sound/isa/sb/sb8_midi.c:			chip->open |= SB_OPEN_MIDI_INPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:		if (chip->open & SB_OPEN_MIDI_INPUT_TRIGGER) {
+sound/isa/sb/sb8_midi.c:			if (chip->hardware < SB_HW_20)
+sound/isa/sb/sb8_midi.c:			chip->open &= ~SB_OPEN_MIDI_INPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:			chip->open &= ~SB_OPEN_MIDI_OUTPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:			del_timer(&chip->midi_timer);
+sound/isa/sb/sb8_midi.c:			spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (chip->hardware >= SB_HW_20) {
+sound/isa/sb/sb8_midi.c:				spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	struct snd_rawmidi_substream *substream = chip->midi_substream_output;
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	mod_timer(&chip->midi_timer, 1 + jiffies);
+sound/isa/sb/sb8_midi.c:	spin_unlock_irqrestore(&chip->open_lock, flags);	
+sound/isa/sb/sb8_midi.c:	spin_lock_irqsave(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:		if (!(chip->open & SB_OPEN_MIDI_OUTPUT_TRIGGER)) {
+sound/isa/sb/sb8_midi.c:			mod_timer(&chip->midi_timer, 1 + jiffies);
+sound/isa/sb/sb8_midi.c:			chip->open |= SB_OPEN_MIDI_OUTPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:		if (chip->open & SB_OPEN_MIDI_OUTPUT_TRIGGER) {
+sound/isa/sb/sb8_midi.c:			chip->open &= ~SB_OPEN_MIDI_OUTPUT_TRIGGER;
+sound/isa/sb/sb8_midi.c:	spin_unlock_irqrestore(&chip->open_lock, flags);
+sound/isa/sb/sb8_midi.c:	if ((err = snd_rawmidi_new(chip->card, "SB8 MIDI", device, 1, 1, &rmidi)) < 0)
+sound/isa/sb/sb8_midi.c:	if (chip->hardware >= SB_HW_20)
+sound/isa/sb/sb8_midi.c:	timer_setup(&chip->midi_timer, snd_sb8dsp_midi_output_timer, 0);
+sound/isa/sb/sb8_midi.c:	chip->rmidi = rmidi;
+sound/isa/sb/sb_common.c:	snd_printd("%s [0x%lx]: timeout (0x%x)\n", __func__, chip->port, val);
+sound/isa/sb/sb_common.c:	snd_printd("%s [0x%lx]: timeout\n", __func__, chip->port);
+sound/isa/sb/sb_common.c:	snd_printdd("%s [0x%lx] failed...\n", __func__, chip->port);
+sound/isa/sb/sb_common.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sb/sb_common.c:		    chip->port, major, minor);
+sound/isa/sb/sb_common.c:	switch (chip->hardware) {
+sound/isa/sb/sb_common.c:			chip->hardware = SB_HW_10;
+sound/isa/sb/sb_common.c:				chip->hardware = SB_HW_201;
+sound/isa/sb/sb_common.c:				chip->hardware = SB_HW_20;
+sound/isa/sb/sb_common.c:			chip->hardware = SB_HW_PRO;
+sound/isa/sb/sb_common.c:			chip->hardware = SB_HW_16;
+sound/isa/sb/sb_common.c:				   chip->port, major, minor);
+sound/isa/sb/sb_common.c:	sprintf(chip->name, "Sound Blaster %s", str);
+sound/isa/sb/sb_common.c:	chip->version = (major << 8) | minor;
+sound/isa/sb/sb_common.c:	release_and_free_resource(chip->res_port);
+sound/isa/sb/sb_common.c:	if (chip->irq >= 0)
+sound/isa/sb/sb_common.c:		free_irq(chip->irq, (void *) chip);
+sound/isa/sb/sb_common.c:	if (chip->dma8 >= 0) {
+sound/isa/sb/sb_common.c:		disable_dma(chip->dma8);
+sound/isa/sb/sb_common.c:		free_dma(chip->dma8);
+sound/isa/sb/sb_common.c:	if (chip->dma16 >= 0 && chip->dma16 != chip->dma8) {
+sound/isa/sb/sb_common.c:		disable_dma(chip->dma16);
+sound/isa/sb/sb_common.c:		free_dma(chip->dma16);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->open_lock);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->midi_input_lock);
+sound/isa/sb/sb_common.c:	spin_lock_init(&chip->mixer_lock);
+sound/isa/sb/sb_common.c:	chip->irq = -1;
+sound/isa/sb/sb_common.c:	chip->dma8 = -1;
+sound/isa/sb/sb_common.c:	chip->dma16 = -1;
+sound/isa/sb/sb_common.c:	chip->port = port;
+sound/isa/sb/sb_common.c:	chip->irq = irq;
+sound/isa/sb/sb_common.c:	if ((chip->res_port = request_region(port, 16, "SoundBlaster")) == NULL) {
+sound/isa/sb/sb_common.c:	chip->dma8 = dma8;
+sound/isa/sb/sb_common.c:	chip->dma16 = dma16;
+sound/isa/sb/sb_common.c:	chip->card = card;
+sound/isa/sb/sb_common.c:	chip->hardware = hardware;
+sound/isa/sb/sb_mixer.c:	if ((err = snd_ctl_add(chip->card, ctl)) < 0)
+sound/isa/sb/sb_mixer.c:	struct snd_card *card = chip->card;
+sound/isa/sb/sb_mixer.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:		spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:		spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/isa/sb/sb_mixer.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/isa/sb/sb_mixer.c:	card = chip->card;
+sound/isa/sb/sb_mixer.c:	switch (chip->hardware) {
+sound/isa/sb/sb_mixer.c:	unsigned char *val = chip->saved_regs;
+sound/isa/sb/sb_mixer.c:	if (snd_BUG_ON(num_regs > ARRAY_SIZE(chip->saved_regs)))
+sound/isa/sb/sb_mixer.c:	unsigned char *val = chip->saved_regs;
+sound/isa/sb/sb_mixer.c:	if (snd_BUG_ON(num_regs > ARRAY_SIZE(chip->saved_regs)))
+sound/isa/sb/sb_mixer.c:	switch (chip->hardware) {
+sound/isa/sb/sb_mixer.c:	switch (chip->hardware) {
+sound/isa/sc6000.c:	struct snd_card *card = chip->card;
+sound/isa/sscape.c:						 s->chip->card->dev,
+sound/isa/sscape.c:	free_dma(sscape->chip->dma1);
+sound/isa/sscape.c:	val = (s->chip->dma1 << 4) | DMA_8BIT;
+sound/isa/sscape.c:		snd_dma_program(s->chip->dma1, dma.addr, len, DMA_MODE_WRITE);
+sound/isa/sscape.c:	struct snd_card *card = chip->card;
+sound/isa/sscape.c:	struct snd_card *card = chip->card;
+sound/isa/sscape.c:			spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/sscape.c:			spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/sscape.c:		if (chip->hardware != WSS_HW_AD1848) {
+sound/isa/sscape.c:		 name, sscape->chip->port, sscape->chip->irq,
+sound/isa/sscape.c:		 sscape->chip->dma1, sscape->chip->dma2);
+sound/isa/wavefront/wavefront.c:		chip->port,
+sound/isa/wss/wss_lib.c:	outb(val, chip->port + offset);
+sound/isa/wss/wss_lib.c:	return inb(chip->port + offset);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
+sound/isa/wss/wss_lib.c:	chip->image[reg] = value;
+sound/isa/wss/wss_lib.c:			chip->mce_bit | reg, value);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | 0x17);
+sound/isa/wss/wss_lib.c:		 reg | (chip->image[CS4236_EXT_REG] & 0x01));
+sound/isa/wss/wss_lib.c:	chip->eimage[CS4236_REG(reg)] = val;
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | 0x17);
+sound/isa/wss/wss_lib.c:		 reg | (chip->image[CS4236_EXT_REG] & 0x01));
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mce_bit |= CS4231_MCE;
+sound/isa/wss/wss_lib.c:			   chip->port);
+sound/isa/wss/wss_lib.c:			 chip->mce_bit | (timeout & 0x1f));
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mce_bit &= ~CS4231_MCE;
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | (timeout & 0x1f));
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			   chip->port);
+sound/isa/wss/wss_lib.c:	if ((timeout & CS4231_MCE) == 0 || !(chip->hardware & hw_mask))
+sound/isa/wss/wss_lib.c:		if (s == chip->playback_substream) {
+sound/isa/wss/wss_lib.c:		} else if (s == chip->capture_substream) {
+sound/isa/wss/wss_lib.c:	spin_lock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_IFACE_CTRL] |= what;
+sound/isa/wss/wss_lib.c:		if (chip->trigger)
+sound/isa/wss/wss_lib.c:			chip->trigger(chip, what, 1);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_IFACE_CTRL] &= ~what;
+sound/isa/wss/wss_lib.c:		if (chip->trigger)
+sound/isa/wss/wss_lib.c:			chip->trigger(chip, what, 0);
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:	spin_unlock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (chip->calibrate_mute == mute) {
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			     chip->image[CS4231_LEFT_INPUT]);
+sound/isa/wss/wss_lib.c:			     chip->image[CS4231_RIGHT_INPUT]);
+sound/isa/wss/wss_lib.c:			     chip->image[CS4231_LOOPBACK]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX1_LEFT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX1_RIGHT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX2_LEFT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_AUX2_RIGHT_INPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_LEFT_OUTPUT]);
+sound/isa/wss/wss_lib.c:		     mute | chip->image[CS4231_RIGHT_OUTPUT]);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LEFT_LINE_IN]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_RIGHT_LINE_IN]);
+sound/isa/wss/wss_lib.c:			     mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_INTERWAVE) {
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LEFT_MIC_INPUT]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_RIGHT_MIC_INPUT]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LINE_LEFT_OUTPUT]);
+sound/isa/wss/wss_lib.c:			     mute | chip->image[CS4231_LINE_RIGHT_OUTPUT]);
+sound/isa/wss/wss_lib.c:	chip->calibrate_mute = mute;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4231A ||
+sound/isa/wss/wss_lib.c:	    (chip->hardware & WSS_HW_CS4232_MASK)) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if ((chip->image[CS4231_PLAYBK_FORMAT] & 0x0f) == (pdfr & 0x0f)) {	/* rate is same? */
+sound/isa/wss/wss_lib.c:				    chip->image[CS4231_ALT_FEATURE_1] | 0x10);
+sound/isa/wss/wss_lib.c:			chip->image[CS4231_PLAYBK_FORMAT] = pdfr;
+sound/isa/wss/wss_lib.c:				    chip->image[CS4231_PLAYBK_FORMAT]);
+sound/isa/wss/wss_lib.c:				    chip->image[CS4231_ALT_FEATURE_1] &= ~0x10);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	} else if (chip->hardware == WSS_HW_AD1845) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware != WSS_HW_INTERWAVE && !chip->single_dma) {
+sound/isa/wss/wss_lib.c:			if (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE)
+sound/isa/wss/wss_lib.c:				       (chip->image[CS4231_REC_FORMAT] & 0x0f);
+sound/isa/wss/wss_lib.c:			chip->image[CS4231_PLAYBK_FORMAT] = pdfr;
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware == WSS_HW_OPL3SA2)
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4231A ||
+sound/isa/wss/wss_lib.c:	    (chip->hardware & WSS_HW_CS4232_MASK)) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if ((chip->image[CS4231_PLAYBK_FORMAT] & 0x0f) == (cdfr & 0x0f) ||	/* rate is same? */
+sound/isa/wss/wss_lib.c:		    (chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE)) {
+sound/isa/wss/wss_lib.c:				chip->image[CS4231_ALT_FEATURE_1] | 0x20);
+sound/isa/wss/wss_lib.c:				chip->image[CS4231_REC_FORMAT] = cdfr);
+sound/isa/wss/wss_lib.c:				chip->image[CS4231_ALT_FEATURE_1] &= ~0x20);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	} else if (chip->hardware == WSS_HW_AD1845) {
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware != WSS_HW_INTERWAVE &&
+sound/isa/wss/wss_lib.c:		    !(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE)) {
+sound/isa/wss/wss_lib.c:			if (chip->single_dma)
+sound/isa/wss/wss_lib.c:				   (chip->image[CS4231_PLAYBK_FORMAT] & 0xf0) |
+sound/isa/wss/wss_lib.c:			spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_CS4236B_MASK)
+sound/isa/wss/wss_lib.c:		return chip->image[CS4231_PLAYBK_FORMAT] & 1 ? 9969 : 9920;
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if ((chip->image[CS4231_ALT_FEATURE_1] & CS4231_TIMER_ENABLE) == 0 ||
+sound/isa/wss/wss_lib.c:	    (unsigned char)(ticks >> 8) != chip->image[CS4231_TIMER_HIGH] ||
+sound/isa/wss/wss_lib.c:	    (unsigned char)ticks != chip->image[CS4231_TIMER_LOW]) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_TIMER_HIGH] = (unsigned char) (ticks >> 8);
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_TIMER_HIGH]);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_TIMER_LOW] = (unsigned char) ticks;
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_TIMER_LOW]);
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_ALT_FEATURE_1] |
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_ALT_FEATURE_1] &= ~CS4231_TIMER_ENABLE;
+sound/isa/wss/wss_lib.c:		    chip->image[CS4231_ALT_FEATURE_1]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE |
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] |= CS4231_AUTOCALIB;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~CS4231_AUTOCALIB;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:		    CS4231_ALT_FEATURE_1, chip->image[CS4231_ALT_FEATURE_1]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		   chip->image[CS4231_ALT_FEATURE_1]);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		    chip->image[CS4231_ALT_FEATURE_2]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		    chip->image[CS4231_PLAYBK_FORMAT]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_REC_FORMAT]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	if ((chip->mode & mode) ||
+sound/isa/wss/wss_lib.c:	    ((chip->mode & WSS_MODE_OPEN) && chip->single_dma)) {
+sound/isa/wss/wss_lib.c:		mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	if (chip->mode & WSS_MODE_OPEN) {
+sound/isa/wss/wss_lib.c:		chip->mode |= mode;
+sound/isa/wss/wss_lib.c:		mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_PIN_CTRL] |= CS4231_IRQ_ENABLE;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_PIN_CTRL, chip->image[CS4231_PIN_CTRL]);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mode = mode;
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	mutex_lock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	chip->mode &= ~mode;
+sound/isa/wss/wss_lib.c:	if (chip->mode & WSS_MODE_OPEN) {
+sound/isa/wss/wss_lib.c:		mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_PIN_CTRL] &= ~CS4231_IRQ_ENABLE;
+sound/isa/wss/wss_lib.c:	snd_wss_out(chip, CS4231_PIN_CTRL, chip->image[CS4231_PIN_CTRL]);
+sound/isa/wss/wss_lib.c:	if (chip->image[CS4231_IFACE_CTRL] & (CS4231_PLAYBACK_ENABLE | CS4231_PLAYBACK_PIO |
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE | CS4231_PLAYBACK_PIO |
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_IFACE_CTRL]);
+sound/isa/wss/wss_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mode = 0;
+sound/isa/wss/wss_lib.c:	mutex_unlock(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	chip->set_playback_format(chip, hw_params, new_pdfr);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->p_dma_size = size;
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE | CS4231_PLAYBACK_PIO);
+sound/isa/wss/wss_lib.c:	snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
+sound/isa/wss/wss_lib.c:	count = snd_wss_get_count(chip->image[CS4231_PLAYBK_FORMAT], count) - 1;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->set_capture_format(chip, hw_params, new_cdfr);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->c_dma_size = size;
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_RECORD_ENABLE | CS4231_RECORD_PIO);
+sound/isa/wss/wss_lib.c:	snd_dma_program(chip->dma2, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:		count = snd_wss_get_count(chip->image[CS4231_PLAYBK_FORMAT],
+sound/isa/wss/wss_lib.c:		count = snd_wss_get_count(chip->image[CS4231_REC_FORMAT],
+sound/isa/wss/wss_lib.c:	if (chip->single_dma && chip->hardware != WSS_HW_INTERWAVE) {
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		chip->capture_substream->runtime->overrange++;
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:		if (chip->timer)
+sound/isa/wss/wss_lib.c:			snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/isa/wss/wss_lib.c:	if (chip->single_dma && chip->hardware != WSS_HW_INTERWAVE) {
+sound/isa/wss/wss_lib.c:			if (chip->mode & WSS_MODE_PLAY) {
+sound/isa/wss/wss_lib.c:				if (chip->playback_substream)
+sound/isa/wss/wss_lib.c:					snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/wss/wss_lib.c:			if (chip->mode & WSS_MODE_RECORD) {
+sound/isa/wss/wss_lib.c:				if (chip->capture_substream) {
+sound/isa/wss/wss_lib.c:					snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/wss/wss_lib.c:			if (chip->playback_substream)
+sound/isa/wss/wss_lib.c:				snd_pcm_period_elapsed(chip->playback_substream);
+sound/isa/wss/wss_lib.c:			if (chip->capture_substream) {
+sound/isa/wss/wss_lib.c:				snd_pcm_period_elapsed(chip->capture_substream);
+sound/isa/wss/wss_lib.c:	spin_lock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	spin_unlock(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE))
+sound/isa/wss/wss_lib.c:	ptr = snd_dma_pointer(chip->dma1, chip->p_dma_size);
+sound/isa/wss/wss_lib.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE))
+sound/isa/wss/wss_lib.c:	ptr = snd_dma_pointer(chip->dma2, chip->c_dma_size);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if ((chip->hardware & WSS_HW_TYPE_MASK) != WSS_HW_DETECT)
+sound/isa/wss/wss_lib.c:		chip->hardware = hardware;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CMI8330;
+sound/isa/wss/wss_lib.c:		chip->hardware = WSS_HW_CS4248;
+sound/isa/wss/wss_lib.c:		chip->hardware = WSS_HW_AD1848;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	hw = chip->hardware;
+sound/isa/wss/wss_lib.c:				spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:				spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		snd_printdd("wss: port = 0x%lx, id = 0x%x\n", chip->port, id);
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_AD1845;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4231;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4231A;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4232;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4232A;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4236;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4236B;
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (!(chip->hardware & WSS_HW_AD1848_MASK))
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_MISC_INFO] = CS4231_MODE2;
+sound/isa/wss/wss_lib.c:	switch (chip->hardware) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_MISC_INFO] = CS4231_IW_MODE3;
+sound/isa/wss/wss_lib.c:			chip->image[CS4231_MISC_INFO] = CS4231_4236_MODE3;
+sound/isa/wss/wss_lib.c:			chip->hardware = WSS_HW_CS4236;
+sound/isa/wss/wss_lib.c:	chip->image[CS4231_IFACE_CTRL] =
+sound/isa/wss/wss_lib.c:	    (chip->image[CS4231_IFACE_CTRL] & ~CS4231_SINGLE_DMA) |
+sound/isa/wss/wss_lib.c:	    (chip->single_dma ? CS4231_SINGLE_DMA : 0);
+sound/isa/wss/wss_lib.c:	if (chip->hardware != WSS_HW_OPTI93X) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_ALT_FEATURE_1] = 0x80;
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_ALT_FEATURE_2] =
+sound/isa/wss/wss_lib.c:			chip->hardware == WSS_HW_INTERWAVE ? 0xc2 : 0x01;
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_AD1845)
+sound/isa/wss/wss_lib.c:		chip->image[AD1845_PWR_DOWN] = 8;
+sound/isa/wss/wss_lib.c:	ptr = (unsigned char *) &chip->image;
+sound/isa/wss/wss_lib.c:	regnum = (chip->hardware & WSS_HW_AD1848_MASK) ? 16 : 32;
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		if (chip->hardware == WSS_HW_CS4236B) {
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4235;
+sound/isa/wss/wss_lib.c:					chip->hardware = WSS_HW_CS4236B;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4237B;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4238B;
+sound/isa/wss/wss_lib.c:				chip->hardware = WSS_HW_CS4239;
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_INTERWAVE && chip->dma1 > 3)
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4235 ||
+sound/isa/wss/wss_lib.c:	    chip->hardware == WSS_HW_CS4239)
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.buffer_bytes_max);
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.period_bytes_max);
+sound/isa/wss/wss_lib.c:	if (chip->claim_dma) {
+sound/isa/wss/wss_lib.c:		if ((err = chip->claim_dma(chip, chip->dma_private_data, chip->dma1)) < 0)
+sound/isa/wss/wss_lib.c:		if (chip->release_dma)
+sound/isa/wss/wss_lib.c:			chip->release_dma(chip, chip->dma_private_data, chip->dma1);
+sound/isa/wss/wss_lib.c:	chip->playback_substream = substream;
+sound/isa/wss/wss_lib.c:	chip->rate_constraint(runtime);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_CS4235 ||
+sound/isa/wss/wss_lib.c:	    chip->hardware == WSS_HW_CS4239 ||
+sound/isa/wss/wss_lib.c:	    chip->hardware == WSS_HW_OPTI93X)
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.buffer_bytes_max);
+sound/isa/wss/wss_lib.c:	snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.period_bytes_max);
+sound/isa/wss/wss_lib.c:	if (chip->claim_dma) {
+sound/isa/wss/wss_lib.c:		if ((err = chip->claim_dma(chip, chip->dma_private_data, chip->dma2)) < 0)
+sound/isa/wss/wss_lib.c:		if (chip->release_dma)
+sound/isa/wss/wss_lib.c:			chip->release_dma(chip, chip->dma_private_data, chip->dma2);
+sound/isa/wss/wss_lib.c:	chip->capture_substream = substream;
+sound/isa/wss/wss_lib.c:	chip->rate_constraint(runtime);
+sound/isa/wss/wss_lib.c:	chip->playback_substream = NULL;
+sound/isa/wss/wss_lib.c:	chip->capture_substream = NULL;
+sound/isa/wss/wss_lib.c:	if (!chip->thinkpad_flag)
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		chip->image[reg] = snd_wss_in(chip, reg);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (chip->thinkpad_flag)
+sound/isa/wss/wss_lib.c:	if (chip->thinkpad_flag)
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			snd_wss_out(chip, reg, chip->image[reg]);
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_OPL3SA2)
+sound/isa/wss/wss_lib.c:			    chip->image[CS4231_PLAYBK_FORMAT]);
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	chip->mce_bit &= ~CS4231_MCE;
+sound/isa/wss/wss_lib.c:	wss_outb(chip, CS4231P(REGSEL), chip->mce_bit | (timeout & 0x1f));
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:			   "- codec still busy\n", chip->port);
+sound/isa/wss/wss_lib.c:	    !(chip->hardware & (WSS_HW_CS4231_MASK | WSS_HW_CS4232_MASK))) {
+sound/isa/wss/wss_lib.c:	release_and_free_resource(chip->res_port);
+sound/isa/wss/wss_lib.c:	release_and_free_resource(chip->res_cport);
+sound/isa/wss/wss_lib.c:	if (chip->irq >= 0) {
+sound/isa/wss/wss_lib.c:		disable_irq(chip->irq);
+sound/isa/wss/wss_lib.c:		if (!(chip->hwshare & WSS_HWSHARE_IRQ))
+sound/isa/wss/wss_lib.c:			free_irq(chip->irq, (void *) chip);
+sound/isa/wss/wss_lib.c:	if (!(chip->hwshare & WSS_HWSHARE_DMA1) && chip->dma1 >= 0) {
+sound/isa/wss/wss_lib.c:		snd_dma_disable(chip->dma1);
+sound/isa/wss/wss_lib.c:		free_dma(chip->dma1);
+sound/isa/wss/wss_lib.c:	if (!(chip->hwshare & WSS_HWSHARE_DMA2) &&
+sound/isa/wss/wss_lib.c:	    chip->dma2 >= 0 && chip->dma2 != chip->dma1) {
+sound/isa/wss/wss_lib.c:		snd_dma_disable(chip->dma2);
+sound/isa/wss/wss_lib.c:		free_dma(chip->dma2);
+sound/isa/wss/wss_lib.c:	if (chip->timer)
+sound/isa/wss/wss_lib.c:		snd_device_free(chip->card, chip->timer);
+sound/isa/wss/wss_lib.c:	switch (chip->hardware) {
+sound/isa/wss/wss_lib.c:		return chip->card->shortname;
+sound/isa/wss/wss_lib.c:	chip->hardware = hardware;
+sound/isa/wss/wss_lib.c:	chip->hwshare = hwshare;
+sound/isa/wss/wss_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/isa/wss/wss_lib.c:	mutex_init(&chip->mce_mutex);
+sound/isa/wss/wss_lib.c:	mutex_init(&chip->open_mutex);
+sound/isa/wss/wss_lib.c:	chip->card = card;
+sound/isa/wss/wss_lib.c:	chip->rate_constraint = snd_wss_xrate;
+sound/isa/wss/wss_lib.c:	chip->set_playback_format = snd_wss_playback_format;
+sound/isa/wss/wss_lib.c:	chip->set_capture_format = snd_wss_capture_format;
+sound/isa/wss/wss_lib.c:	if (chip->hardware == WSS_HW_OPTI93X)
+sound/isa/wss/wss_lib.c:		memcpy(&chip->image, &snd_opti93x_original_image,
+sound/isa/wss/wss_lib.c:		memcpy(&chip->image, &snd_wss_original_image,
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK) {
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_PIN_CTRL] = 0;
+sound/isa/wss/wss_lib.c:		chip->image[CS4231_TEST_INIT] = 0;
+sound/isa/wss/wss_lib.c:	chip->irq = -1;
+sound/isa/wss/wss_lib.c:	chip->dma1 = -1;
+sound/isa/wss/wss_lib.c:	chip->dma2 = -1;
+sound/isa/wss/wss_lib.c:	chip->res_port = request_region(port, 4, "WSS");
+sound/isa/wss/wss_lib.c:	if (!chip->res_port) {
+sound/isa/wss/wss_lib.c:	chip->port = port;
+sound/isa/wss/wss_lib.c:		chip->res_cport = request_region(cport, 8, "CS4232 Control");
+sound/isa/wss/wss_lib.c:		if (!chip->res_cport) {
+sound/isa/wss/wss_lib.c:	chip->cport = cport;
+sound/isa/wss/wss_lib.c:	chip->irq = irq;
+sound/isa/wss/wss_lib.c:	chip->dma1 = dma1;
+sound/isa/wss/wss_lib.c:		chip->single_dma = 1;
+sound/isa/wss/wss_lib.c:		chip->dma2 = chip->dma1;
+sound/isa/wss/wss_lib.c:		chip->dma2 = dma2;
+sound/isa/wss/wss_lib.c:		chip->thinkpad_flag = 1;
+sound/isa/wss/wss_lib.c:		chip->hardware = WSS_HW_DETECT; /* reset */
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_CS4232_MASK) {
+sound/isa/wss/wss_lib.c:		if (chip->res_cport == NULL)
+sound/isa/wss/wss_lib.c:	chip->suspend = snd_wss_suspend;
+sound/isa/wss/wss_lib.c:	chip->resume = snd_wss_resume;
+sound/isa/wss/wss_lib.c:	err = snd_pcm_new(chip->card, "WSS", device, 1, 1, &pcm);
+sound/isa/wss/wss_lib.c:	if (chip->single_dma)
+sound/isa/wss/wss_lib.c:	if (chip->hardware != WSS_HW_INTERWAVE)
+sound/isa/wss/wss_lib.c:					      chip->card->dev,
+sound/isa/wss/wss_lib.c:					      64*1024, chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
+sound/isa/wss/wss_lib.c:	chip->pcm = pcm;
+sound/isa/wss/wss_lib.c:	chip->timer = NULL;
+sound/isa/wss/wss_lib.c:	tid.card = chip->card->number;
+sound/isa/wss/wss_lib.c:	if ((err = snd_timer_new(chip->card, "CS4231", &tid, &timer)) < 0)
+sound/isa/wss/wss_lib.c:	chip->timer = timer;
+sound/isa/wss/wss_lib.c:	if (snd_BUG_ON(!chip->card))
+sound/isa/wss/wss_lib.c:	if (!strcmp(chip->card->driver, "GUS MAX"))
+sound/isa/wss/wss_lib.c:	switch (chip->hardware) {
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	ucontrol->value.enumerated.item[0] = (chip->image[CS4231_LEFT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/isa/wss/wss_lib.c:	ucontrol->value.enumerated.item[1] = (chip->image[CS4231_RIGHT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	left = (chip->image[CS4231_LEFT_INPUT] & ~CS4231_MIXS_ALL) | left;
+sound/isa/wss/wss_lib.c:	right = (chip->image[CS4231_RIGHT_INPUT] & ~CS4231_MIXS_ALL) | right;
+sound/isa/wss/wss_lib.c:	change = left != chip->image[CS4231_LEFT_INPUT] ||
+sound/isa/wss/wss_lib.c:		 right != chip->image[CS4231_RIGHT_INPUT];
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	ucontrol->value.integer.value[0] = (chip->image[reg] >> shift) & mask;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	val = (chip->image[reg] & ~(mask << shift)) | val;
+sound/isa/wss/wss_lib.c:	change = val != chip->image[reg];
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	ucontrol->value.integer.value[0] = (chip->image[left_reg] >> shift_left) & mask;
+sound/isa/wss/wss_lib.c:	ucontrol->value.integer.value[1] = (chip->image[right_reg] >> shift_right) & mask;
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:		val1 = (chip->image[left_reg] & ~(mask << shift_left)) | val1;
+sound/isa/wss/wss_lib.c:		val2 = (chip->image[right_reg] & ~(mask << shift_right)) | val2;
+sound/isa/wss/wss_lib.c:		change = val1 != chip->image[left_reg] ||
+sound/isa/wss/wss_lib.c:			 val2 != chip->image[right_reg];
+sound/isa/wss/wss_lib.c:		val1 = (chip->image[left_reg] & ~mask) | val1 | val2;
+sound/isa/wss/wss_lib.c:		change = val1 != chip->image[left_reg];
+sound/isa/wss/wss_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/isa/wss/wss_lib.c:	if (snd_BUG_ON(!chip || !chip->pcm))
+sound/isa/wss/wss_lib.c:	card = chip->card;
+sound/isa/wss/wss_lib.c:	strcpy(card->mixername, chip->pcm->name);
+sound/isa/wss/wss_lib.c:	if (chip->hardware & WSS_HW_AD1848_MASK)
+sound/isa/wss/wss_lib.c:	else if (chip->hardware == WSS_HW_OPTI93X)
+sound/mips/sgio2audio.c:/* definition of the chip-specific record */
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->ad1843_lock, flags);
+sound/mips/sgio2audio.c:	uinfo->value.integer.max = ad1843_get_gain_max(&chip->ad1843,
+sound/mips/sgio2audio.c:	vol = ad1843_get_gain(&chip->ad1843, (int)kcontrol->private_value);
+sound/mips/sgio2audio.c:	oldvol = ad1843_get_gain(&chip->ad1843, kcontrol->private_value);
+sound/mips/sgio2audio.c:	newvol = ad1843_set_gain(&chip->ad1843, kcontrol->private_value,
+sound/mips/sgio2audio.c:	ucontrol->value.enumerated.item[0] = ad1843_get_recsrc(&chip->ad1843);
+sound/mips/sgio2audio.c:	oldsrc = ad1843_get_recsrc(&chip->ad1843);
+sound/mips/sgio2audio.c:	newsrc = ad1843_set_recsrc(&chip->ad1843,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	err = snd_ctl_add(chip->card,
+sound/mips/sgio2audio.c:	struct snd_pcm_runtime *runtime = chip->channel[ch].substream->runtime;
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	src_base = (unsigned long) chip->ring_base | (ch << CHANNEL_RING_SHIFT);
+sound/mips/sgio2audio.c:	dst_pos = chip->channel[ch].pos;
+sound/mips/sgio2audio.c:	chip->channel[ch].size += (count >> 3); /* in frames */
+sound/mips/sgio2audio.c:	ret = chip->channel[ch].size >= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].size %= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].pos = dst_pos;
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	struct snd_pcm_runtime *runtime = chip->channel[ch].substream->runtime;
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	dst_base = (unsigned long)chip->ring_base | (ch << CHANNEL_RING_SHIFT);
+sound/mips/sgio2audio.c:	src_pos = chip->channel[ch].pos;
+sound/mips/sgio2audio.c:	chip->channel[ch].size += (count >> 3); /* in frames */
+sound/mips/sgio2audio.c:	ret = chip->channel[ch].size >= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].size %= runtime->period_size;
+sound/mips/sgio2audio.c:	chip->channel[ch].pos = src_pos;
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	runtime->private_data = &chip->channel[1];
+sound/mips/sgio2audio.c:	runtime->private_data = &chip->channel[2];
+sound/mips/sgio2audio.c:	runtime->private_data = &chip->channel[0];
+sound/mips/sgio2audio.c:	spin_lock_irqsave(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:	chip->channel[ch].pos = 0;
+sound/mips/sgio2audio.c:	chip->channel[ch].size = 0;
+sound/mips/sgio2audio.c:	chip->channel[ch].substream = substream;
+sound/mips/sgio2audio.c:		ad1843_setup_dac(&chip->ad1843,
+sound/mips/sgio2audio.c:		ad1843_setup_adc(&chip->ad1843,
+sound/mips/sgio2audio.c:	spin_unlock_irqrestore(&chip->channel[ch].lock, flags);
+sound/mips/sgio2audio.c:			       chip->channel[chan->idx].pos);
+sound/mips/sgio2audio.c:	err = snd_pcm_new(chip->card, "SGI O2 Audio", 0, 1, 1, &pcm);
+sound/mips/sgio2audio.c:	err = snd_pcm_new(chip->card, "SGI O2 Audio", 1, 1, 0, &pcm);
+sound/mips/sgio2audio.c:			 &chip->channel[snd_sgio2_isr_table[i].idx]);
+sound/mips/sgio2audio.c:	dma_free_coherent(chip->card->dev, MACEISA_RINGBUFFERS_SIZE,
+sound/mips/sgio2audio.c:			  chip->ring_base, chip->ring_base_dma);
+sound/mips/sgio2audio.c:	chip->card = card;
+sound/mips/sgio2audio.c:	chip->ring_base = dma_alloc_coherent(card->dev,
+sound/mips/sgio2audio.c:					     &chip->ring_base_dma, GFP_KERNEL);
+sound/mips/sgio2audio.c:	if (chip->ring_base == NULL) {
+sound/mips/sgio2audio.c:	spin_lock_init(&chip->ad1843_lock);
+sound/mips/sgio2audio.c:		spin_lock_init(&chip->channel[i].lock);
+sound/mips/sgio2audio.c:		chip->channel[i].idx = i;
+sound/mips/sgio2audio.c:				&chip->channel[snd_sgio2_isr_table[i].idx])) {
+sound/mips/sgio2audio.c:	writeq(chip->ring_base_dma, &mace->perif.ctrl.ringbase);
+sound/mips/sgio2audio.c:	chip->ad1843.read = read_ad1843_reg;
+sound/mips/sgio2audio.c:	chip->ad1843.write = write_ad1843_reg;
+sound/mips/sgio2audio.c:	chip->ad1843.chip = chip;
+sound/mips/sgio2audio.c:	err = ad1843_init(&chip->ad1843);
+sound/pci/ad1889.c:	return readw(chip->iobase + reg);
+sound/pci/ad1889.c:	writew(val, chip->iobase + reg);
+sound/pci/ad1889.c:	return readl(chip->iobase + reg);
+sound/pci/ad1889.c:	writel(val, chip->iobase + reg);
+sound/pci/ad1889.c:		chip->wave.reg = reg;
+sound/pci/ad1889.c:		chip->ramc.reg = reg;
+sound/pci/ad1889.c:		dev_err(chip->card->dev, "[%s] Link is not ready.\n",
+sound/pci/ad1889.c:	dev_dbg(chip->card->dev, "[%s] ready after %d ms\n", __func__, 400 - retry);
+sound/pci/ad1889.c:	chip->psubs = ss;
+sound/pci/ad1889.c:	chip->csubs = ss;
+sound/pci/ad1889.c:	chip->psubs = NULL;
+sound/pci/ad1889.c:	chip->csubs = NULL;
+sound/pci/ad1889.c:	spin_lock_irq(&chip->lock);
+sound/pci/ad1889.c:	chip->wave.size = size;
+sound/pci/ad1889.c:	chip->wave.reg = reg;
+sound/pci/ad1889.c:	chip->wave.addr = rt->dma_addr;
+sound/pci/ad1889.c:	ad1889_writew(chip, AD_DS_WSMC, chip->wave.reg);
+sound/pci/ad1889.c:	ad1889_load_wave_buffer_address(chip, chip->wave.addr);
+sound/pci/ad1889.c:	spin_unlock_irq(&chip->lock);
+sound/pci/ad1889.c:	dev_dbg(chip->card->dev,
+sound/pci/ad1889.c:		chip->wave.addr, count, size, reg, rt->rate);
+sound/pci/ad1889.c:	spin_lock_irq(&chip->lock);
+sound/pci/ad1889.c:	chip->ramc.size = size;
+sound/pci/ad1889.c:	chip->ramc.reg = reg;
+sound/pci/ad1889.c:	chip->ramc.addr = rt->dma_addr;
+sound/pci/ad1889.c:	ad1889_writew(chip, AD_DS_RAMC, chip->ramc.reg);
+sound/pci/ad1889.c:	ad1889_load_adc_buffer_address(chip, chip->ramc.addr);
+sound/pci/ad1889.c:	spin_unlock_irq(&chip->lock);
+sound/pci/ad1889.c:	dev_dbg(chip->card->dev,
+sound/pci/ad1889.c:		chip->ramc.addr, count, size, reg, rt->rate);
+sound/pci/ad1889.c:	chip->wave.reg = wsmc;
+sound/pci/ad1889.c:	chip->ramc.reg = ramc;
+sound/pci/ad1889.c:	if (unlikely(!(chip->wave.reg & AD_DS_WSMC_WAEN)))
+sound/pci/ad1889.c:	ptr -= chip->wave.addr;
+sound/pci/ad1889.c:	if (snd_BUG_ON(ptr >= chip->wave.size))
+sound/pci/ad1889.c:	if (unlikely(!(chip->ramc.reg & AD_DS_RAMC_ADEN)))
+sound/pci/ad1889.c:	ptr -= chip->ramc.addr;
+sound/pci/ad1889.c:	if (snd_BUG_ON(ptr >= chip->ramc.size))
+sound/pci/ad1889.c:		dev_dbg(chip->card->dev,
+sound/pci/ad1889.c:	if ((st & AD_DMA_DISR_WAVI) && chip->psubs)
+sound/pci/ad1889.c:		snd_pcm_period_elapsed(chip->psubs);
+sound/pci/ad1889.c:	if ((st & AD_DMA_DISR_ADCI) && chip->csubs)
+sound/pci/ad1889.c:		snd_pcm_period_elapsed(chip->csubs);
+sound/pci/ad1889.c:	err = snd_pcm_new(chip->card, chip->card->driver, device, 1, 1, &pcm);
+sound/pci/ad1889.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/ad1889.c:	chip->pcm = pcm;
+sound/pci/ad1889.c:	chip->psubs = NULL;
+sound/pci/ad1889.c:	chip->csubs = NULL;
+sound/pci/ad1889.c:					      &chip->pci->dev,
+sound/pci/ad1889.c:	snd_card_ro_proc_new(chip->card, chip->card->driver,
+sound/pci/ad1889.c:	chip->ac97_bus = NULL;
+sound/pci/ad1889.c:	chip->ac97 = NULL;
+sound/pci/ad1889.c:	err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus);
+sound/pci/ad1889.c:	chip->ac97_bus->private_free = snd_ad1889_ac97_bus_free;
+sound/pci/ad1889.c:	ac97.pci = chip->pci;
+sound/pci/ad1889.c:	err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97);
+sound/pci/ad1889.c:	snd_ac97_tune_hardware(chip->ac97, ac97_quirks, quirk_override);
+sound/pci/ad1889.c:	if (chip->irq < 0)
+sound/pci/ad1889.c:	spin_lock_irq(&chip->lock);
+sound/pci/ad1889.c:	spin_unlock_irq(&chip->lock);
+sound/pci/ad1889.c:	if (chip->irq >= 0)
+sound/pci/ad1889.c:		free_irq(chip->irq, chip);
+sound/pci/ad1889.c:	iounmap(chip->iobase);
+sound/pci/ad1889.c:	pci_release_regions(chip->pci);
+sound/pci/ad1889.c:	pci_disable_device(chip->pci);
+sound/pci/ad1889.c:	chip->card = card;
+sound/pci/ad1889.c:	chip->pci = pci;
+sound/pci/ad1889.c:	chip->irq = -1;
+sound/pci/ad1889.c:	chip->bar = pci_resource_start(pci, 0);
+sound/pci/ad1889.c:	chip->iobase = pci_ioremap_bar(pci, 0);
+sound/pci/ad1889.c:	if (chip->iobase == NULL) {
+sound/pci/ad1889.c:	spin_lock_init(&chip->lock);	/* only now can we call ad1889_free */
+sound/pci/ad1889.c:	chip->irq = pci->irq;
+sound/pci/ad1889.c:	synchronize_irq(chip->irq);
+sound/pci/ad1889.c:		card->shortname, chip->bar, chip->irq);
+sound/pci/ali5451/ali5451.c:	unsigned int modem_num = chip->num_of_codecs - 1;
+sound/pci/ali5451/ali5451.c:	snd_ac97_write(chip->ac97[modem_num], AC97_LINE1_RATE,
+sound/pci/ali5451/ali5451.c:	snd_ac97_write(chip->ac97[modem_num], AC97_LINE1_LEVEL, 0);
+sound/pci/ali5451/ali5451.c:	im = chip->image;
+sound/pci/ali5451/ali5451.c:	for (i = 0; i < chip->num_of_codecs; i++)
+sound/pci/ali5451/ali5451.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/ali5451/ali5451.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	im = chip->image;
+sound/pci/ali5451/ali5451.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ali5451/ali5451.c:	for (i = 0 ; i < chip->num_of_codecs; i++)
+sound/pci/ali5451/ali5451.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/als300.c:	u32 tmp = snd_als300_gcr_read(chip->port, MISC_CONTROL);
+sound/pci/als300.c:	if (((chip->revision > 5 || chip->chip_type == DEVICE_ALS300_PLUS) ^
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, MISC_CONTROL, tmp);
+sound/pci/als300.c:	if (chip->irq >= 0)
+sound/pci/als300.c:		free_irq(chip->irq, chip);
+sound/pci/als300.c:	pci_release_regions(chip->pci);
+sound/pci/als300.c:	pci_disable_device(chip->pci);
+sound/pci/als300.c:	status = inb(chip->port+ALS300_IRQ_STATUS);
+sound/pci/als300.c:	outb(status, chip->port+ALS300_IRQ_STATUS);
+sound/pci/als300.c:		if (chip->pcm && chip->playback_substream) {
+sound/pci/als300.c:			data = chip->playback_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/als300.c:		if (chip->pcm && chip->capture_substream) {
+sound/pci/als300.c:			data = chip->capture_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/als300.c:	general = inb(chip->port+ALS300P_IRQ_STATUS);
+sound/pci/als300.c:	mpu = inb(chip->port+MPU_IRQ_STATUS);
+sound/pci/als300.c:	dram = inb(chip->port+ALS300P_DRAM_IRQ_STATUS);
+sound/pci/als300.c:		if (chip->pcm && chip->playback_substream) {
+sound/pci/als300.c:			outb(IRQ_PLAYBACK, chip->port+ALS300P_IRQ_STATUS);
+sound/pci/als300.c:			data = chip->playback_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/als300.c:		if (chip->pcm && chip->capture_substream) {
+sound/pci/als300.c:			outb(IRQ_CAPTURE, chip->port+ALS300P_IRQ_STATUS);
+sound/pci/als300.c:			data = chip->capture_substream->runtime->private_data;
+sound/pci/als300.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/als300.c:		if ((inb(chip->port+AC97_STATUS) & (AC97_BUSY)) == 0)
+sound/pci/als300.c:	outl((reg << 24) | (1 << 31), chip->port+AC97_ACCESS);
+sound/pci/als300.c:		if ((inb(chip->port+AC97_STATUS) & (AC97_DATA_AVAIL)) != 0)
+sound/pci/als300.c:	return inw(chip->port+AC97_READ);
+sound/pci/als300.c:		if ((inb(chip->port+AC97_STATUS) & (AC97_BUSY)) == 0)
+sound/pci/als300.c:	outl((reg << 24) | val, chip->port+AC97_ACCESS);
+sound/pci/als300.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus)) < 0)
+sound/pci/als300.c:	return snd_ac97_mixer(bus, &ac97, &chip->ac97);
+sound/pci/als300.c:	chip->playback_substream = substream;
+sound/pci/als300.c:	chip->playback_substream = NULL;
+sound/pci/als300.c:	chip->capture_substream = substream;
+sound/pci/als300.c:	chip->capture_substream = NULL;
+sound/pci/als300.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_CONTROL, tmp);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_START,
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_END,
+sound/pci/als300.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als300.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, RECORD_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, RECORD_CONTROL, tmp);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, RECORD_START,
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, RECORD_END,
+sound/pci/als300.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als300.c:	spin_lock(&chip->reg_lock);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp | TRANSFER_START);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp & ~TRANSFER_START);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp | FIFO_PAUSE);
+sound/pci/als300.c:		tmp = snd_als300_gcr_read(chip->port, reg);
+sound/pci/als300.c:		snd_als300_gcr_write(chip->port, reg, tmp & ~FIFO_PAUSE);
+sound/pci/als300.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als300.c:	spin_lock(&chip->reg_lock);
+sound/pci/als300.c:	current_ptr = (u16) snd_als300_gcr_read(chip->port,
+sound/pci/als300.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als300.c:	err = snd_pcm_new(chip->card, "ALS300", 0, 1, 1, &pcm);
+sound/pci/als300.c:	chip->pcm = pcm;
+sound/pci/als300.c:					      &chip->pci->dev,
+sound/pci/als300.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/als300.c:	chip->revision = (snd_als300_gcr_read(chip->port, MISC_CONTROL) >> 16)
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, DRAM_WRITE_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, DRAM_WRITE_CONTROL,
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, MISC_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, MISC_CONTROL,
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, MUS_VOC_VOL, 0);
+sound/pci/als300.c:	tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
+sound/pci/als300.c:	snd_als300_gcr_write(chip->port, PLAYBACK_CONTROL,
+sound/pci/als300.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/als300.c:	chip->card = card;
+sound/pci/als300.c:	chip->pci = pci;
+sound/pci/als300.c:	chip->irq = -1;
+sound/pci/als300.c:	chip->chip_type = chip_type;
+sound/pci/als300.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/als300.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/als300.c:	if (chip->chip_type == DEVICE_ALS300_PLUS)
+sound/pci/als300.c:	chip->irq = pci->irq;
+sound/pci/als300.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/als300.c:	snd_ac97_resume(chip->ac97);
+sound/pci/als300.c:	if (chip->chip_type == DEVICE_ALS300_PLUS)
+sound/pci/als300.c:		sprintf(card->shortname, "ALS300+ (Rev. %d)", chip->revision);
+sound/pci/als300.c:							chip->revision - 1);
+sound/pci/als300.c:				card->shortname, chip->port, chip->irq);
+sound/pci/als4000.c:	 * NOTE: assumes chip->mixer_lock to be locked externally already!
+sound/pci/als4000.c:	/* NOTE: assumes chip->mixer_lock to be locked externally already! */
+sound/pci/als4000.c:	if (!(chip->mode & SB_RATE_LOCK)) {
+sound/pci/als4000.c:	chip->capture_format = snd_als4000_get_format(runtime);
+sound/pci/als4000.c:	if (chip->capture_format & ALS4000_FORMAT_16BIT)
+sound/pci/als4000.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_lock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	chip->playback_format = snd_als4000_get_format(runtime);
+sound/pci/als4000.c:	if (chip->playback_format & ALS4000_FORMAT_16BIT)
+sound/pci/als4000.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	   chip->mode non-atomic update gets consistently protected
+sound/pci/als4000.c:	spin_lock(&chip->mixer_lock);
+sound/pci/als4000.c:		chip->mode |= SB_RATE_LOCK_CAPTURE;
+sound/pci/als4000.c:		chip->mode &= ~SB_RATE_LOCK_CAPTURE;
+sound/pci/als4000.c:	spin_unlock(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_lock(&chip->reg_lock);
+sound/pci/als4000.c:		chip->mode |= SB_RATE_LOCK_PLAYBACK;
+sound/pci/als4000.c:		chip->mode &= ~SB_RATE_LOCK_PLAYBACK;
+sound/pci/als4000.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als4000.c:	spin_lock(&chip->reg_lock);	
+sound/pci/als4000.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als4000.c:	spin_lock(&chip->reg_lock);	
+sound/pci/als4000.c:	spin_unlock(&chip->reg_lock);
+sound/pci/als4000.c:	pci_irqstatus = snd_als4k_iobase_readb(chip->alt_port,
+sound/pci/als4000.c:	 && (chip->playback_substream)) /* playback */
+sound/pci/als4000.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/als4000.c:	 && (chip->capture_substream)) /* capturing */
+sound/pci/als4000.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/als4000.c:	 && (chip->rmidi)) /* MPU401 interrupt */
+sound/pci/als4000.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/als4000.c:	snd_als4k_iobase_writeb(chip->alt_port,
+sound/pci/als4000.c:	spin_lock(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_unlock(&chip->mixer_lock);
+sound/pci/als4000.c:		inb(chip->mpu_port);
+sound/pci/als4000.c:		snd_als4k_iobase_readb(chip->alt_port,
+sound/pci/als4000.c:	/* dev_dbg(chip->card->dev, "als4000: irq 0x%04x 0x%04x\n",
+sound/pci/als4000.c:	chip->playback_substream = substream;
+sound/pci/als4000.c:	chip->playback_substream = NULL;
+sound/pci/als4000.c:	chip->capture_substream = substream;
+sound/pci/als4000.c:	chip->capture_substream = NULL;
+sound/pci/als4000.c:	err = snd_pcm_new(chip->card, "ALS4000 DSP", device, 1, 1, &pcm);
+sound/pci/als4000.c:					      &chip->pci->dev,
+sound/pci/als4000.c:	chip->pcm = pcm;
+sound/pci/als4000.c:	spin_lock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->mixer_lock);
+sound/pci/als4000.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/als4000.c:	chip->pci = pci;
+sound/pci/als4000.c:	chip->alt_port = iobase;
+sound/pci/als4000.c:		card->shortname, chip->alt_port, chip->irq);
+sound/pci/als4000.c:					-1, &chip->rmidi)) < 0) {
+sound/pci/atiixp.c:	void __iomem *addr = chip->remap_addr + reg;
+sound/pci/atiixp.c:	writel(value, chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp.c:	readl(chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp.c:					&chip->pci->dev,
+sound/pci/atiixp.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/atiixp.c:	writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/atiixp.c:	       chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:		writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:			dev_warn(chip->card->dev, "codec acquire timeout\n");
+sound/pci/atiixp.c:		dev_warn(chip->card->dev, "codec read timeout (reg %x)\n", reg);
+sound/pci/atiixp.c:			dev_err(chip->card->dev, "codec reset timeout\n");
+sound/pci/atiixp.c:	chip->codec_not_ready_bits = 0;
+sound/pci/atiixp.c:		ac97_codec = ac97_probing_bugs(chip->pci);
+sound/pci/atiixp.c:		chip->codec_not_ready_bits |= 
+sound/pci/atiixp.c:		if (chip->codec_not_ready_bits)
+sound/pci/atiixp.c:	if ((chip->codec_not_ready_bits & ALL_CODEC_NOT_READY) == ALL_CODEC_NOT_READY) {
+sound/pci/atiixp.c:		dev_err(chip->card->dev, "no codec detected!\n");
+sound/pci/atiixp.c:		curptr = readl(chip->remap_addr + dma->ops->dt_cur);
+sound/pci/atiixp.c:	dev_dbg(chip->card->dev, "invalid DMA pointer read 0x%x (buf=%x)\n",
+sound/pci/atiixp.c:		   readl(chip->remap_addr + dma->ops->dt_cur), dma->buf_addr);
+sound/pci/atiixp.c:	dev_dbg(chip->card->dev, "XRUN detected (DMA %d)\n", dma->ops->type);
+sound/pci/atiixp.c:	spin_lock(&chip->reg_lock);
+sound/pci/atiixp.c:			writel(dma->saved_curptr, chip->remap_addr +
+sound/pci/atiixp.c:			dma->saved_curptr = readl(chip->remap_addr +
+sound/pci/atiixp.c:	spin_unlock(&chip->reg_lock);
+sound/pci/atiixp.c: * every callback is supposed to be called in chip->reg_lock spinlock
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink) {
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:		struct ac97_pcm *pcm = chip->pcms[dma->ac97_pcm_type];
+sound/pci/atiixp.c:		struct ac97_pcm *pcm = chip->pcms[dma->ac97_pcm_type];
+sound/pci/atiixp.c:		runtime->hw.rates = chip->pcms[pcm_type]->rates;
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 0);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	substream->runtime->hw.channels_max = chip->max_channels;
+sound/pci/atiixp.c:	if (chip->max_channels > 2)
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	return snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_CAPTURE], 1);
+sound/pci/atiixp.c:	return snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink) /* share DMA_PLAYBACK */
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 2);
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_SPDIF], -1);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink)
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:		err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_SPDIF]);
+sound/pci/atiixp.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp.c:	struct snd_ac97_bus *pbus = chip->ac97_bus;
+sound/pci/atiixp.c:	chip->dmas[ATI_DMA_PLAYBACK].ops = &snd_atiixp_playback_dma_ops;
+sound/pci/atiixp.c:	chip->dmas[ATI_DMA_CAPTURE].ops = &snd_atiixp_capture_dma_ops;
+sound/pci/atiixp.c:	if (! chip->spdif_over_aclink)
+sound/pci/atiixp.c:		chip->dmas[ATI_DMA_SPDIF].ops = &snd_atiixp_spdif_dma_ops;
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink)
+sound/pci/atiixp.c:		chip->pcms[i] = &pbus->pcms[i];
+sound/pci/atiixp.c:	chip->max_channels = 2;
+sound/pci/atiixp.c:			chip->max_channels = 6;
+sound/pci/atiixp.c:			chip->max_channels = 4;
+sound/pci/atiixp.c:	err = snd_pcm_new(chip->card, "ATI IXP AC97",
+sound/pci/atiixp.c:	chip->pcmdevs[ATI_PCMDEV_ANALOG] = pcm;
+sound/pci/atiixp.c:					      &chip->pci->dev,
+sound/pci/atiixp.c:				     snd_pcm_alt_chmaps, chip->max_channels, 0,
+sound/pci/atiixp.c:	chip->ac97[0]->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/atiixp.c:	if (chip->pcms[ATI_PCM_SPDIF] && ! chip->pcms[ATI_PCM_SPDIF]->rates)
+sound/pci/atiixp.c:	if (chip->pcms[ATI_PCM_SPDIF])
+sound/pci/atiixp.c:		chip->pcms[ATI_PCM_SPDIF]->rates = SNDRV_PCM_RATE_48000;
+sound/pci/atiixp.c:	err = snd_pcm_new(chip->card, "ATI IXP IEC958",
+sound/pci/atiixp.c:	if (chip->spdif_over_aclink)
+sound/pci/atiixp.c:	chip->pcmdevs[ATI_PCMDEV_DIGITAL] = pcm;
+sound/pci/atiixp.c:					      &chip->pci->dev,
+sound/pci/atiixp.c:		if (chip->ac97[i])
+sound/pci/atiixp.c:			snd_ac97_update_bits(chip->ac97[i],
+sound/pci/atiixp.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp.c:	if (! chip->spdif_over_aclink) {
+sound/pci/atiixp.c:			snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_SPDIF]);
+sound/pci/atiixp.c:			snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_SPDIF]);
+sound/pci/atiixp.c:		spin_lock(&chip->reg_lock);
+sound/pci/atiixp.c:		chip->codec_not_ready_bits |= detected;
+sound/pci/atiixp.c:		spin_unlock(&chip->reg_lock);
+sound/pci/atiixp.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/atiixp.c:	chip->ac97_bus = pbus;
+sound/pci/atiixp.c:		if (chip->codec_not_ready_bits & codec_skip[i])
+sound/pci/atiixp.c:		ac97.pci = chip->pci;
+sound/pci/atiixp.c:		if (! chip->spdif_over_aclink)
+sound/pci/atiixp.c:		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
+sound/pci/atiixp.c:			chip->ac97[i] = NULL; /* to be sure */
+sound/pci/atiixp.c:			dev_dbg(chip->card->dev,
+sound/pci/atiixp.c:		dev_err(chip->card->dev, "no codec available\n");
+sound/pci/atiixp.c:	snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks, quirk_override);
+sound/pci/atiixp.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/atiixp.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/atiixp.c:		if (chip->pcmdevs[i]) {
+sound/pci/atiixp.c:			struct atiixp_dma *dma = &chip->dmas[i];
+sound/pci/atiixp.c:				       chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp.c:		snd_iprintf(buffer, "%02x: %08x\n", i, readl(chip->remap_addr + i));
+sound/pci/atiixp.c:	snd_card_ro_proc_new(chip->card, "atiixp", chip, snd_atiixp_proc_read);
+sound/pci/atiixp.c:	if (chip->irq < 0)
+sound/pci/atiixp.c:	if (chip->irq >= 0)
+sound/pci/atiixp.c:		free_irq(chip->irq, chip);
+sound/pci/atiixp.c:	iounmap(chip->remap_addr);
+sound/pci/atiixp.c:	pci_release_regions(chip->pci);
+sound/pci/atiixp.c:	pci_disable_device(chip->pci);
+sound/pci/atiixp.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/atiixp.c:	mutex_init(&chip->open_mutex);
+sound/pci/atiixp.c:	chip->card = card;
+sound/pci/atiixp.c:	chip->pci = pci;
+sound/pci/atiixp.c:	chip->irq = -1;
+sound/pci/atiixp.c:	chip->addr = pci_resource_start(pci, 0);
+sound/pci/atiixp.c:	chip->remap_addr = pci_ioremap_bar(pci, 0);
+sound/pci/atiixp.c:	if (chip->remap_addr == NULL) {
+sound/pci/atiixp.c:	chip->irq = pci->irq;
+sound/pci/atiixp.c:	synchronize_irq(chip->irq);
+sound/pci/atiixp.c:	chip->spdif_over_aclink = spdif_aclink;
+sound/pci/atiixp.c:		 chip->ac97[0] ? snd_ac97_get_short_name(chip->ac97[0]) : "?",
+sound/pci/atiixp.c:		 chip->addr, chip->irq);
+sound/pci/atiixp_modem.c:	void __iomem *addr = chip->remap_addr + reg;
+sound/pci/atiixp_modem.c:	writel(value, chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp_modem.c:	readl(chip->remap_addr + ATI_REG_##reg)
+sound/pci/atiixp_modem.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/atiixp_modem.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/atiixp_modem.c:	writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp_modem.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/atiixp_modem.c:	       chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp_modem.c:		writel(0, chip->remap_addr + dma->ops->llp_offset);
+sound/pci/atiixp_modem.c:			dev_warn(chip->card->dev, "codec acquire timeout\n");
+sound/pci/atiixp_modem.c:		dev_warn(chip->card->dev, "codec read timeout (reg %x)\n", reg);
+sound/pci/atiixp_modem.c:			dev_err(chip->card->dev, "codec reset timeout\n");
+sound/pci/atiixp_modem.c:	chip->codec_not_ready_bits = 0;
+sound/pci/atiixp_modem.c:		if (chip->codec_not_ready_bits)
+sound/pci/atiixp_modem.c:	if ((chip->codec_not_ready_bits & ALL_CODEC_NOT_READY) == ALL_CODEC_NOT_READY) {
+sound/pci/atiixp_modem.c:		dev_err(chip->card->dev, "no codec detected!\n");
+sound/pci/atiixp_modem.c:		curptr = readl(chip->remap_addr + dma->ops->dt_cur);
+sound/pci/atiixp_modem.c:	dev_dbg(chip->card->dev, "invalid DMA pointer read 0x%x (buf=%x)\n",
+sound/pci/atiixp_modem.c:		   readl(chip->remap_addr + dma->ops->dt_cur), dma->buf_addr);
+sound/pci/atiixp_modem.c:	dev_dbg(chip->card->dev, "XRUN detected (DMA %d)\n", dma->ops->type);
+sound/pci/atiixp_modem.c:	spin_lock(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock(&chip->reg_lock);
+sound/pci/atiixp_modem.c: * every callback is supposed to be called in chip->reg_lock spinlock
+sound/pci/atiixp_modem.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:		if (! chip->ac97[i])
+sound/pci/atiixp_modem.c:		snd_ac97_write(chip->ac97[i], AC97_LINE1_RATE, params_rate(hw_params));
+sound/pci/atiixp_modem.c:		snd_ac97_write(chip->ac97[i], AC97_LINE1_LEVEL, 0);
+sound/pci/atiixp_modem.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 0);
+sound/pci/atiixp_modem.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	mutex_lock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp_modem.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	return snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_CAPTURE], 1);
+sound/pci/atiixp_modem.c:	return snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp_modem.c:	chip->dmas[ATI_DMA_PLAYBACK].ops = &snd_atiixp_playback_dma_ops;
+sound/pci/atiixp_modem.c:	chip->dmas[ATI_DMA_CAPTURE].ops = &snd_atiixp_capture_dma_ops;
+sound/pci/atiixp_modem.c:	err = snd_pcm_new(chip->card, "ATI IXP MC97", ATI_PCMDEV_ANALOG, 1, 1, &pcm);
+sound/pci/atiixp_modem.c:	chip->pcmdevs[ATI_PCMDEV_ANALOG] = pcm;
+sound/pci/atiixp_modem.c:					      &chip->pci->dev,
+sound/pci/atiixp_modem.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp_modem.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_PLAYBACK]);
+sound/pci/atiixp_modem.c:		snd_atiixp_xrun_dma(chip,  &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp_modem.c:		snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_CAPTURE]);
+sound/pci/atiixp_modem.c:		spin_lock(&chip->reg_lock);
+sound/pci/atiixp_modem.c:		chip->codec_not_ready_bits |= detected;
+sound/pci/atiixp_modem.c:		spin_unlock(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/atiixp_modem.c:	chip->ac97_bus = pbus;
+sound/pci/atiixp_modem.c:		if (chip->codec_not_ready_bits & codec_skip[i])
+sound/pci/atiixp_modem.c:		ac97.pci = chip->pci;
+sound/pci/atiixp_modem.c:		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
+sound/pci/atiixp_modem.c:			chip->ac97[i] = NULL; /* to be sure */
+sound/pci/atiixp_modem.c:			dev_dbg(chip->card->dev,
+sound/pci/atiixp_modem.c:		dev_err(chip->card->dev, "no codec available\n");
+sound/pci/atiixp_modem.c:	/* snd_ac97_tune_hardware(chip->ac97, ac97_quirks); */
+sound/pci/atiixp_modem.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/atiixp_modem.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/atiixp_modem.c:		snd_iprintf(buffer, "%02x: %08x\n", i, readl(chip->remap_addr + i));
+sound/pci/atiixp_modem.c:	snd_card_ro_proc_new(chip->card, "atiixp-modem", chip,
+sound/pci/atiixp_modem.c:	if (chip->irq < 0)
+sound/pci/atiixp_modem.c:	if (chip->irq >= 0)
+sound/pci/atiixp_modem.c:		free_irq(chip->irq, chip);
+sound/pci/atiixp_modem.c:	iounmap(chip->remap_addr);
+sound/pci/atiixp_modem.c:	pci_release_regions(chip->pci);
+sound/pci/atiixp_modem.c:	pci_disable_device(chip->pci);
+sound/pci/atiixp_modem.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/atiixp_modem.c:	mutex_init(&chip->open_mutex);
+sound/pci/atiixp_modem.c:	chip->card = card;
+sound/pci/atiixp_modem.c:	chip->pci = pci;
+sound/pci/atiixp_modem.c:	chip->irq = -1;
+sound/pci/atiixp_modem.c:	chip->addr = pci_resource_start(pci, 0);
+sound/pci/atiixp_modem.c:	chip->remap_addr = pci_ioremap_bar(pci, 0);
+sound/pci/atiixp_modem.c:	if (chip->remap_addr == NULL) {
+sound/pci/atiixp_modem.c:	chip->irq = pci->irq;
+sound/pci/atiixp_modem.c:	synchronize_irq(chip->irq);
+sound/pci/atiixp_modem.c:		card->shortname, pci->revision, chip->addr, chip->irq);
+sound/pci/au88x0/au88x0.c:// chip-specific constructor
+sound/pci/au88x0/au88x0.c:	chip->card = card;
+sound/pci/au88x0/au88x0.c:	chip->pci_dev = pci;
+sound/pci/au88x0/au88x0.c:	chip->io = pci_resource_start(pci, 0);
+sound/pci/au88x0/au88x0.c:	chip->vendor = pci->vendor;
+sound/pci/au88x0/au88x0.c:	chip->device = pci->device;
+sound/pci/au88x0/au88x0.c:	chip->card = card;
+sound/pci/au88x0/au88x0.c:	chip->irq = -1;
+sound/pci/au88x0/au88x0.c:	chip->mmio = pci_ioremap_bar(pci, 0);
+sound/pci/au88x0/au88x0.c:	if (!chip->mmio) {
+sound/pci/au88x0/au88x0.c:	chip->irq = pci->irq;
+sound/pci/au88x0/au88x0.c:	free_irq(chip->irq, chip);
+sound/pci/au88x0/au88x0.c:	iounmap(chip->mmio);
+sound/pci/au88x0/au88x0.c:	pci_release_regions(chip->pci_dev);
+sound/pci/au88x0/au88x0.c:	pci_disable_device(chip->pci_dev);
+sound/pci/au88x0/au88x0.c:		card->shortname, chip->io, chip->irq);
+sound/pci/au88x0/au88x0.c:				  &(chip->device))) < 0) {
+sound/pci/au88x0/au88x0.c:				  &(chip->vendor))) < 0) {
+sound/pci/au88x0/au88x0.c:	chip->rev = pci->revision;
+sound/pci/au88x0/au88x0.c:	if ((chip->rev) != 0xfe && (chip->rev) != 0xfa) {
+sound/pci/au88x0/au88x0.c:		       chip->rev);
+sound/pci/au88x0/au88x0_pcm.c:		dev_err(chip->card->dev, "Vortex: pcm page alloc failed!\n");
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:			spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:		stream = substream->runtime->private_data = &chip->dma_adb[dma];
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[substream->number].active = 1;
+sound/pci/au88x0/au88x0_pcm.c:			vortex_notify_pcm_vol_change(chip->card,
+sound/pci/au88x0/au88x0_pcm.c:				chip->pcm_vol[substream->number].kctl, 1);
+sound/pci/au88x0/au88x0_pcm.c:		    &chip->dma_wt[substream->number];
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:				chip->pcm_vol[substream->number].active = 0;
+sound/pci/au88x0/au88x0_pcm.c:				vortex_notify_pcm_vol_change(chip->card,
+sound/pci/au88x0/au88x0_pcm.c:					chip->pcm_vol[substream->number].kctl,
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock_irq(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:			dev_info(chip->card->dev, "wt start %d\n", dma);
+sound/pci/au88x0/au88x0_pcm.c:			dev_info(chip->card->dev, "wt stop %d\n", dma);
+sound/pci/au88x0/au88x0_pcm.c:		spin_unlock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_lock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	spin_unlock(&chip->lock);
+sound/pci/au88x0/au88x0_pcm.c:	err = snd_pcm_new(chip->card, vortex_pcm_prettyname[idx], idx, nr,
+sound/pci/au88x0/au88x0_pcm.c:	chip->pcm[idx] = pcm;
+sound/pci/au88x0/au88x0_pcm.c:					      &chip->pci_dev->dev,
+sound/pci/au88x0/au88x0_pcm.c:			if ((err = snd_ctl_add(chip->card, kctl)) < 0)
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[i].active = 0;
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[i].dma = -1;
+sound/pci/au88x0/au88x0_pcm.c:			chip->pcm_vol[i].kctl = kctl;
+sound/pci/au88x0/au88x0_pcm.c:			err = snd_ctl_add(chip->card, kctl);
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_free(&chip->saa7146);
+sound/pci/aw2/aw2-alsa.c:	if (chip->irq >= 0)
+sound/pci/aw2/aw2-alsa.c:		free_irq(chip->irq, (void *)chip);
+sound/pci/aw2/aw2-alsa.c:	iounmap(chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:	pci_release_regions(chip->pci);
+sound/pci/aw2/aw2-alsa.c:	pci_disable_device(chip->pci);
+sound/pci/aw2/aw2-alsa.c:/* chip-specific constructor */
+sound/pci/aw2/aw2-alsa.c:	chip->card = card;
+sound/pci/aw2/aw2-alsa.c:	chip->pci = pci;
+sound/pci/aw2/aw2-alsa.c:	chip->irq = -1;
+sound/pci/aw2/aw2-alsa.c:	chip->iobase_phys = pci_resource_start(pci, 0);
+sound/pci/aw2/aw2-alsa.c:	chip->iobase_virt =
+sound/pci/aw2/aw2-alsa.c:		ioremap_nocache(chip->iobase_phys,
+sound/pci/aw2/aw2-alsa.c:	if (chip->iobase_virt == NULL) {
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_setup(&chip->saa7146, chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:		iounmap(chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:		pci_release_regions(chip->pci);
+sound/pci/aw2/aw2-alsa.c:		pci_disable_device(chip->pci);
+sound/pci/aw2/aw2-alsa.c:	chip->irq = pci->irq;
+sound/pci/aw2/aw2-alsa.c:		free_irq(chip->irq, (void *)chip);
+sound/pci/aw2/aw2-alsa.c:		iounmap(chip->iobase_virt);
+sound/pci/aw2/aw2-alsa.c:		pci_release_regions(chip->pci);
+sound/pci/aw2/aw2-alsa.c:		pci_disable_device(chip->pci);
+sound/pci/aw2/aw2-alsa.c:	mutex_init(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		card->shortname, chip->irq);
+sound/pci/aw2/aw2-alsa.c:	mutex_lock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_pcm_init_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	mutex_unlock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	mutex_lock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	snd_aw2_saa7146_pcm_init_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	mutex_unlock(&chip->mtx);
+sound/pci/aw2/aw2-alsa.c:	spin_lock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_start_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_stop_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	spin_unlock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:	spin_lock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_start_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_pcm_trigger_stop_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	spin_unlock(&chip->reg_lock);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_get_hw_ptr_playback(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_get_hw_ptr_capture(&chip->saa7146,
+sound/pci/aw2/aw2-alsa.c:	err = snd_pcm_new(chip->card, "Audiowerk2 analog playback", 0, 1, 0,
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	pcm_device = &chip->device_playback[NUM_STREAM_PLAYBACK_ANA];
+sound/pci/aw2/aw2-alsa.c:					      &chip->pci->dev,
+sound/pci/aw2/aw2-alsa.c:	err = snd_pcm_new(chip->card, "Audiowerk2 digital playback", 1, 1, 0,
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	pcm_device = &chip->device_playback[NUM_STREAM_PLAYBACK_DIG];
+sound/pci/aw2/aw2-alsa.c:					      &chip->pci->dev,
+sound/pci/aw2/aw2-alsa.c:	err = snd_pcm_new(chip->card, "Audiowerk2 capture", 2, 0, 1,
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	pcm_device = &chip->device_capture[NUM_STREAM_CAPTURE_ANA];
+sound/pci/aw2/aw2-alsa.c:					      &chip->pci->dev,
+sound/pci/aw2/aw2-alsa.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&aw2_control, chip));
+sound/pci/aw2/aw2-alsa.c:		dev_err(chip->card->dev, "snd_ctl_add error (0x%X)\n", err);
+sound/pci/aw2/aw2-alsa.c:	if (snd_aw2_saa7146_is_using_digital_input(&chip->saa7146))
+sound/pci/aw2/aw2-alsa.c:	    snd_aw2_saa7146_is_using_digital_input(&chip->saa7146);
+sound/pci/aw2/aw2-alsa.c:		snd_aw2_saa7146_use_digital_input(&chip->saa7146, !is_disgital);
+sound/pci/aw2/aw2-saa7146.c:#define WRITEREG(value, addr) writel((value), chip->base_addr + (addr))
+sound/pci/aw2/aw2-saa7146.c:#define READREG(addr) readl(chip->base_addr + (addr))
+sound/pci/aw2/aw2-saa7146.c:/* chip-specific destructor */
+sound/pci/aw2/aw2-saa7146.c:	chip->base_addr = NULL;
+sound/pci/aw2/aw2-saa7146.c:	chip->base_addr = pci_base_addr;
+sound/pci/aw2/aw2-saa7146.h:/* definition of the chip-specific record */
+sound/pci/azt3328.c:	outb(value, chip->ctrl_io + reg);
+sound/pci/azt3328.c:	return inb(chip->ctrl_io + reg);
+sound/pci/azt3328.c:	return inw(chip->ctrl_io + reg);
+sound/pci/azt3328.c:	outw(value, chip->ctrl_io + reg);
+sound/pci/azt3328.c:	outl(value, chip->ctrl_io + reg);
+sound/pci/azt3328.c:	outb(value, chip->game_io + reg);
+sound/pci/azt3328.c:	outw(value, chip->game_io + reg);
+sound/pci/azt3328.c:	return inb(chip->game_io + reg);
+sound/pci/azt3328.c:	return inw(chip->game_io + reg);
+sound/pci/azt3328.c:	outw(value, chip->mixer_io + reg);
+sound/pci/azt3328.c:	return inw(chip->mixer_io + reg);
+sound/pci/azt3328.c:	unsigned long portbase = chip->mixer_io + reg + 1;
+sound/pci/azt3328.c:	dev_warn(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "snd_azf3328_mixer_ac97_read reg_ac97 %u\n",
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	ac97.pci = chip->pci;
+sound/pci/azt3328.c:	rc = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus);
+sound/pci/azt3328.c:		rc = snd_ac97_mixer(bus, &ac97, &chip->ac97);
+sound/pci/azt3328.c:		dev_err(chip->card->dev, "AC97 init failed, err %d!\n", rc);
+sound/pci/azt3328.c:	unsigned long portbase = chip->mixer_io + reg;
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	if (snd_BUG_ON(!chip || !chip->card))
+sound/pci/azt3328.c:	card = chip->card;
+sound/pci/azt3328.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(sw, chip))) < 0)
+sound/pci/azt3328.c:		chip->shadow_reg_ctrl_6AH |= bitmask;
+sound/pci/azt3328.c:		chip->shadow_reg_ctrl_6AH &= ~bitmask;
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		bitmask, do_mask, chip->shadow_reg_ctrl_6AH);
+sound/pci/azt3328.c:	snd_azf3328_ctrl_outw(chip, IDX_IO_6AH, chip->shadow_reg_ctrl_6AH);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "codec_enable %d\n", enable);
+sound/pci/azt3328.c:	struct snd_azf3328_codec_data *codec = &chip->codecs[codec_type];
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:				((!chip->codecs[peer_codecs[codec_type].other1]
+sound/pci/azt3328.c:			     &&  (!chip->codecs[peer_codecs[codec_type].other2]
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "START PCM %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM STARTED %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM RESUME %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM STOP %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM STOPPED %s\n", codec->name);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "PCM SUSPEND %s\n", codec->name);
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:		chip->game_io+IDX_GAME_HWCONFIG,
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "gameport irq\n");
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "gameport_open, mode %d\n", mode);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "gameport_close\n");
+sound/pci/azt3328.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/azt3328.c:		for (i = 0; i < ARRAY_SIZE(chip->axes); ++i) {
+sound/pci/azt3328.c:			chip->axes[i] = snd_azf3328_game_inw(
+sound/pci/azt3328.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	for (i = 0; i < ARRAY_SIZE(chip->axes); i++) {
+sound/pci/azt3328.c:		axes[i] = chip->axes[i];
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "cooked_read: axes %d %d %d %d buttons %d\n",
+sound/pci/azt3328.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/azt3328.c:		dev_err(chip->card->dev, "cannot alloc memory for gameport\n");
+sound/pci/azt3328.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/azt3328.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/azt3328.c:	gp->io = chip->game_io;
+sound/pci/azt3328.c:	gameport_register_port(chip->gameport);
+sound/pci/azt3328.c:	if (chip->gameport) {
+sound/pci/azt3328.c:		gameport_unregister_port(chip->gameport);
+sound/pci/azt3328.c:		chip->gameport = NULL;
+sound/pci/azt3328.c:	dev_warn(chip->card->dev, "huh, game port IRQ occurred!?\n");
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:			dev_dbg(chip->card->dev, "%s period done (#%x), @ %x\n",
+sound/pci/azt3328.c:			dev_warn(chip->card->dev, "irq handler problem!\n");
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		/* dev_dbg(chip->card->dev, "timer %ld\n",
+sound/pci/azt3328.c:		if (chip->timer)
+sound/pci/azt3328.c:			snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/pci/azt3328.c:                spin_lock(&chip->reg_lock);
+sound/pci/azt3328.c:		spin_unlock(&chip->reg_lock);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "timer IRQ\n");
+sound/pci/azt3328.c:		snd_azf3328_pcm_interrupt(chip, chip->codecs, status);
+sound/pci/azt3328.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "MPU401 IRQ\n");
+sound/pci/azt3328.c:	struct snd_azf3328_codec_data *codec = &chip->codecs[codec_type];
+sound/pci/azt3328.c:	err = snd_pcm_new(chip->card, "AZF3328 DSP", AZF_PCMDEV_STD,
+sound/pci/azt3328.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/azt3328.c:	chip->pcm[AZF_CODEC_PLAYBACK] = pcm;
+sound/pci/azt3328.c:	chip->pcm[AZF_CODEC_CAPTURE] = pcm;
+sound/pci/azt3328.c:					      &chip->pci->dev,
+sound/pci/azt3328.c:	err = snd_pcm_new(chip->card, "AZF3328 I2S OUT", AZF_PCMDEV_I2S_OUT,
+sound/pci/azt3328.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/azt3328.c:	chip->pcm[AZF_CODEC_I2S_OUT] = pcm;
+sound/pci/azt3328.c:					      &chip->pci->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "delay was too low (%d)!\n", delay);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev, "setting timer countdown value %d\n", delay);
+sound/pci/azt3328.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/azt3328.c:	tid.card = chip->card->number;
+sound/pci/azt3328.c:	err = snd_timer_new(chip->card, "AZF3328", &tid, &timer);
+sound/pci/azt3328.c:	chip->timer = timer;
+sound/pci/azt3328.c:	if (chip->irq < 0)
+sound/pci/azt3328.c:	snd_azf3328_timer_stop(chip->timer);
+sound/pci/azt3328.c:	if (chip->irq >= 0)
+sound/pci/azt3328.c:		free_irq(chip->irq, chip);
+sound/pci/azt3328.c:	pci_release_regions(chip->pci);
+sound/pci/azt3328.c:	pci_disable_device(chip->pci);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		chip->ctrl_io, chip->game_io, chip->mpu_io,
+sound/pci/azt3328.c:		chip->opl3_io, chip->mixer_io, chip->irq);
+sound/pci/azt3328.c:	dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:			"mpu_io 0x%04x\n", inb(chip->mpu_io + tmp));
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/azt3328.c:	chip->card = card;
+sound/pci/azt3328.c:	chip->pci = pci;
+sound/pci/azt3328.c:	chip->irq = -1;
+sound/pci/azt3328.c:	chip->ctrl_io  = pci_resource_start(pci, 0);
+sound/pci/azt3328.c:	chip->game_io  = pci_resource_start(pci, 1);
+sound/pci/azt3328.c:	chip->mpu_io   = pci_resource_start(pci, 2);
+sound/pci/azt3328.c:	chip->opl3_io  = pci_resource_start(pci, 3);
+sound/pci/azt3328.c:	chip->mixer_io = pci_resource_start(pci, 4);
+sound/pci/azt3328.c:	codec_setup = &chip->codecs[AZF_CODEC_PLAYBACK];
+sound/pci/azt3328.c:	codec_setup->io_base = chip->ctrl_io + AZF_IO_OFFS_CODEC_PLAYBACK;
+sound/pci/azt3328.c:	codec_setup->lock = &chip->reg_lock;
+sound/pci/azt3328.c:	codec_setup = &chip->codecs[AZF_CODEC_CAPTURE];
+sound/pci/azt3328.c:	codec_setup->io_base = chip->ctrl_io + AZF_IO_OFFS_CODEC_CAPTURE;
+sound/pci/azt3328.c:	codec_setup->lock = &chip->reg_lock;
+sound/pci/azt3328.c:	codec_setup = &chip->codecs[AZF_CODEC_I2S_OUT];
+sound/pci/azt3328.c:	codec_setup->io_base = chip->ctrl_io + AZF_IO_OFFS_CODEC_I2S_OUT;
+sound/pci/azt3328.c:	codec_setup->lock = &chip->reg_lock;
+sound/pci/azt3328.c:	chip->irq = pci->irq;
+sound/pci/azt3328.c:	synchronize_irq(chip->irq);
+sound/pci/azt3328.c:			 &chip->codecs[codec_type];
+sound/pci/azt3328.c:		MPU401_HW_AZT2320, chip->mpu_io,
+sound/pci/azt3328.c:		-1, &chip->rmidi
+sound/pci/azt3328.c:				chip->mpu_io
+sound/pci/azt3328.c:	if (snd_opl3_create(card, chip->opl3_io, chip->opl3_io+2,
+sound/pci/azt3328.c:			   chip->opl3_io, chip->opl3_io+2
+sound/pci/azt3328.c:		card->shortname, chip->ctrl_io, chip->irq);
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev, "suspend: io 0x%04lx: 0x%08x\n",
+sound/pci/azt3328.c:		dev_dbg(chip->card->dev,
+sound/pci/azt3328.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->mixer_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_mixer), chip->saved_regs_mixer);
+sound/pci/azt3328.c:	snd_ac97_resume(chip->ac97);
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_mixer, chip->mixer_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_mixer));
+sound/pci/azt3328.c:	outw(((u16 *)chip->saved_regs_mixer)[1], chip->mixer_io + 2);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->ctrl_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_ctrl), chip->saved_regs_ctrl);
+sound/pci/azt3328.c:	saved_regs_ctrl_u16 = (u16 *)chip->saved_regs_ctrl;
+sound/pci/azt3328.c:	saved_regs_ctrl_u16[IDX_IO_6AH / 2] = chip->shadow_reg_ctrl_6AH;
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->game_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_game), chip->saved_regs_game);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->mpu_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_mpu), chip->saved_regs_mpu);
+sound/pci/azt3328.c:	snd_azf3328_suspend_regs(chip, chip->opl3_io,
+sound/pci/azt3328.c:		ARRAY_SIZE(chip->saved_regs_opl3), chip->saved_regs_opl3);
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_game, chip->game_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_game));
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_mpu, chip->mpu_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_mpu));
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_opl3, chip->opl3_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_opl3));
+sound/pci/azt3328.c:	snd_azf3328_resume_regs(chip, chip->saved_regs_ctrl, chip->ctrl_io,
+sound/pci/azt3328.c:					ARRAY_SIZE(chip->saved_regs_ctrl));
+sound/pci/bt87x.c:	return readl(chip->mmio + reg);
+sound/pci/bt87x.c:	writel(value, chip->mmio + reg);
+sound/pci/bt87x.c:	if (chip->dma_risc.area == NULL) {
+sound/pci/bt87x.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/bt87x.c:					PAGE_ALIGN(MAX_RISC_SIZE), &chip->dma_risc) < 0)
+sound/pci/bt87x.c:	risc = (__le32 *)chip->dma_risc.area;
+sound/pci/bt87x.c:	*risc++ = cpu_to_le32(chip->dma_risc.addr);
+sound/pci/bt87x.c:	chip->line_bytes = period_bytes;
+sound/pci/bt87x.c:	chip->lines = periods;
+sound/pci/bt87x.c:	if (chip->dma_risc.area) {
+sound/pci/bt87x.c:		snd_dma_free_pages(&chip->dma_risc);
+sound/pci/bt87x.c:		chip->dma_risc.area = NULL;
+sound/pci/bt87x.c:	pci_read_config_word(chip->pci, PCI_STATUS, &pci_status);
+sound/pci/bt87x.c:	pci_write_config_word(chip->pci, PCI_STATUS, pci_status);
+sound/pci/bt87x.c:		dev_err(chip->card->dev,
+sound/pci/bt87x.c:		dev_err(chip->card->dev,
+sound/pci/bt87x.c:		chip->pci_parity_errors++;
+sound/pci/bt87x.c:		if (chip->pci_parity_errors > 20) {
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:			chip->interrupt_mask &= ~(INT_PPERR | INT_RIPERR);
+sound/pci/bt87x.c:			snd_bt87x_writel(chip, REG_INT_MASK, chip->interrupt_mask);
+sound/pci/bt87x.c:	irq_status = status & chip->interrupt_mask;
+sound/pci/bt87x.c:			dev_warn(chip->card->dev,
+sound/pci/bt87x.c:			dev_err(chip->card->dev,
+sound/pci/bt87x.c:	if ((irq_status & INT_RISCI) && (chip->reg_control & CTL_ACAP_EN)) {
+sound/pci/bt87x.c:		chip->current_line = (chip->current_line + 1) % chip->lines;
+sound/pci/bt87x.c:		current_block = chip->current_line * 16 / chip->lines;
+sound/pci/bt87x.c:			chip->current_line = (irq_block * chip->lines + 15) / 16;
+sound/pci/bt87x.c:		snd_pcm_period_elapsed(chip->substream);
+sound/pci/bt87x.c:	chip->reg_control |= CTL_DA_IOM_DA | CTL_A_PWRDN;
+sound/pci/bt87x.c:	runtime->hw.rates = snd_pcm_rate_to_rate_bit(chip->board.dig_rate);
+sound/pci/bt87x.c:	runtime->hw.rate_min = chip->board.dig_rate;
+sound/pci/bt87x.c:	runtime->hw.rate_max = chip->board.dig_rate;
+sound/pci/bt87x.c:	chip->reg_control &= ~(CTL_DA_IOM_DA | CTL_A_PWRDN);
+sound/pci/bt87x.c:	if (test_and_set_bit(0, &chip->opened))
+sound/pci/bt87x.c:	chip->substream = substream;
+sound/pci/bt87x.c:	clear_bit(0, &chip->opened);
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->reg_control |= CTL_A_PWRDN;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->substream = NULL;
+sound/pci/bt87x.c:	clear_bit(0, &chip->opened);
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->reg_control &= ~(CTL_DA_SDR_MASK | CTL_DA_SBR);
+sound/pci/bt87x.c:	chip->reg_control |= decimation << CTL_DA_SDR_SHIFT;
+sound/pci/bt87x.c:		chip->reg_control |= CTL_DA_SBR;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	spin_lock(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->current_line = 0;
+sound/pci/bt87x.c:	chip->reg_control |= CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_RISC_STRT_ADD, chip->dma_risc.addr);
+sound/pci/bt87x.c:			 chip->line_bytes | (chip->lines << 16));
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_INT_MASK, chip->interrupt_mask);
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock(&chip->reg_lock);
+sound/pci/bt87x.c:	spin_lock(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->reg_control &= ~(CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN);
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	spin_unlock(&chip->reg_lock);
+sound/pci/bt87x.c:	return (snd_pcm_uframes_t)bytes_to_frames(runtime, chip->current_line * chip->line_bytes);
+sound/pci/bt87x.c:	value->value.integer.value[0] = (chip->reg_control & CTL_A_GAIN_MASK) >> CTL_A_GAIN_SHIFT;
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	old_control = chip->reg_control;
+sound/pci/bt87x.c:	chip->reg_control = (chip->reg_control & ~CTL_A_GAIN_MASK)
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	changed = old_control != chip->reg_control;
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	value->value.integer.value[0] = !! (chip->reg_control & CTL_A_G2X);
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	old_control = chip->reg_control;
+sound/pci/bt87x.c:	chip->reg_control = (chip->reg_control & ~CTL_A_G2X)
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	changed = chip->reg_control != old_control;
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	value->value.enumerated.item[0] = (chip->reg_control & CTL_A_SEL_MASK) >> CTL_A_SEL_SHIFT;
+sound/pci/bt87x.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	old_control = chip->reg_control;
+sound/pci/bt87x.c:	chip->reg_control = (chip->reg_control & ~CTL_A_SEL_MASK)
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	changed = chip->reg_control != old_control;
+sound/pci/bt87x.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/bt87x.c:	if (chip->mmio)
+sound/pci/bt87x.c:	if (chip->irq >= 0)
+sound/pci/bt87x.c:		free_irq(chip->irq, chip);
+sound/pci/bt87x.c:	iounmap(chip->mmio);
+sound/pci/bt87x.c:	pci_release_regions(chip->pci);
+sound/pci/bt87x.c:	pci_disable_device(chip->pci);
+sound/pci/bt87x.c:	err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
+sound/pci/bt87x.c:					      &chip->pci->dev,
+sound/pci/bt87x.c:	chip->card = card;
+sound/pci/bt87x.c:	chip->pci = pci;
+sound/pci/bt87x.c:	chip->irq = -1;
+sound/pci/bt87x.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/bt87x.c:	chip->mmio = pci_ioremap_bar(pci, 0);
+sound/pci/bt87x.c:	if (!chip->mmio) {
+sound/pci/bt87x.c:	chip->reg_control = CTL_A_PWRDN | CTL_DA_ES2 |
+sound/pci/bt87x.c:	chip->interrupt_mask = MY_INTERRUPTS;
+sound/pci/bt87x.c:	snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control);
+sound/pci/bt87x.c:	chip->irq = pci->irq;
+sound/pci/bt87x.c:	synchronize_irq(chip->irq);
+sound/pci/bt87x.c:	memcpy(&chip->board, &snd_bt87x_boards[boardid], sizeof(chip->board));
+sound/pci/bt87x.c:	if (!chip->board.no_digital) {
+sound/pci/bt87x.c:			chip->board.dig_rate = digital_rate[dev];
+sound/pci/bt87x.c:		chip->reg_control |= chip->board.digital_fmt;
+sound/pci/bt87x.c:	if (!chip->board.no_analog) {
+sound/pci/bt87x.c:		   chip->board.no_analog ? "no " : "",
+sound/pci/bt87x.c:		   chip->board.no_digital ? "no " : "", chip->board.dig_rate);
+sound/pci/bt87x.c:		chip->irq);
+sound/pci/ca0106/ca0106.h:// definition of the chip-specific record
+sound/pci/ca0106/ca0106_main.c:	if (chip->spdif_str_bits[idx] != chip->spdif_bits[idx]) {
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[idx] = chip->spdif_bits[idx];
+sound/pci/ca0106/ca0106_main.c:				     chip->spdif_str_bits[idx]);
+sound/pci/ca0106/ca0106_main.c:		dev_dbg(chip->card->dev, "ca0106: unknown channel_id %d\n",
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->spi_dac) {
+sound/pci/ca0106/ca0106_main.c:		const int dac = snd_ca0106_channel_dac(chip, chip->details,
+sound/pci/ca0106/ca0106_main.c:			chip->spi_dac_reg[reg] &= ~bit;
+sound/pci/ca0106/ca0106_main.c:			chip->spi_dac_reg[reg] |= bit;
+sound/pci/ca0106/ca0106_main.c:		return snd_ca0106_spi_write(chip, chip->spi_dac_reg[reg]);
+sound/pci/ca0106/ca0106_main.c:        struct snd_ca0106_channel *channel = &(chip->playback_channels[channel_id]);
+sound/pci/ca0106/ca0106_main.c:	dev_dbg(chip->card->dev, "open:channel_id=%d, chip=%p, channel=%p\n",
+sound/pci/ca0106/ca0106_main.c:	chip->playback_channels[epcm->channel_id].use = 0;
+sound/pci/ca0106/ca0106_main.c:        struct snd_ca0106_channel *channel = &(chip->capture_channels[channel_id]);
+sound/pci/ca0106/ca0106_main.c:	dev_dbg(chip->card->dev, "open:channel_id=%d, chip=%p, channel=%p\n",
+sound/pci/ca0106/ca0106_main.c:	chip->capture_channels[epcm->channel_id].use = 0;
+sound/pci/ca0106/ca0106_main.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/ca0106/ca0106_main.c:	return snd_ac97_mixer(pbus, &ac97, &chip->ac97);
+sound/pci/ca0106/ca0106_main.c:	if (chip->res_port != NULL) {
+sound/pci/ca0106/ca0106_main.c:	if (chip->irq >= 0)
+sound/pci/ca0106/ca0106_main.c:		free_irq(chip->irq, chip);
+sound/pci/ca0106/ca0106_main.c:	if (chip->buffer.area)
+sound/pci/ca0106/ca0106_main.c:		snd_dma_free_pages(&chip->buffer);
+sound/pci/ca0106/ca0106_main.c:	release_and_free_resource(chip->res_port);
+sound/pci/ca0106/ca0106_main.c:	pci_disable_device(chip->pci);
+sound/pci/ca0106/ca0106_main.c:	status = inl(chip->port + IPR);
+sound/pci/ca0106/ca0106_main.c:		pchannel = &(chip->playback_channels[i]);
+sound/pci/ca0106/ca0106_main.c:		pchannel = &(chip->capture_channels[i]);
+sound/pci/ca0106/ca0106_main.c:	if (chip->midi.dev_id &&
+sound/pci/ca0106/ca0106_main.c:	    (status & (chip->midi.ipr_tx|chip->midi.ipr_rx))) {
+sound/pci/ca0106/ca0106_main.c:		if (chip->midi.interrupt)
+sound/pci/ca0106/ca0106_main.c:			chip->midi.interrupt(&chip->midi, status);
+sound/pci/ca0106/ca0106_main.c:			chip->midi.interrupt_disable(&chip->midi, chip->midi.tx_enable | chip->midi.rx_enable);
+sound/pci/ca0106/ca0106_main.c:	outl(status, chip->port+IPR);
+sound/pci/ca0106/ca0106_main.c:	outl(0, chip->port + INTE);
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[0] = chip->spdif_bits[0] = def_bits;
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[1] = chip->spdif_bits[1] = def_bits;
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[2] = chip->spdif_bits[2] = def_bits;
+sound/pci/ca0106/ca0106_main.c:		chip->spdif_str_bits[3] = chip->spdif_bits[3] = def_bits;
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS1, 0, chip->spdif_str_bits[1]);
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS0, 0, chip->spdif_str_bits[0]);
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS2, 0, chip->spdif_str_bits[2]);
+sound/pci/ca0106/ca0106_main.c:	snd_ca0106_ptr_write(chip, SPCS3, 0, chip->spdif_str_bits[3]);
+sound/pci/ca0106/ca0106_main.c:        outb(AC97_REC_GAIN, chip->port + AC97ADDRESS);
+sound/pci/ca0106/ca0106_main.c:        outw(0x8000, chip->port + AC97DATA);
+sound/pci/ca0106/ca0106_main.c:	chip->spdif_enable = 0; /* Set digital SPDIF output off */
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->i2c_adc == 1) {
+sound/pci/ca0106/ca0106_main.c:			chip->capture_source = 3;
+sound/pci/ca0106/ca0106_main.c:	} else if (chip->details->ac97 == 1) {
+sound/pci/ca0106/ca0106_main.c:			chip->capture_source = 4;
+sound/pci/ca0106/ca0106_main.c:			chip->capture_source = 3;
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->gpio_type == 2) {
+sound/pci/ca0106/ca0106_main.c:		outl(0x0, chip->port+GPIO);
+sound/pci/ca0106/ca0106_main.c:		/* outl(0x00f0e000, chip->port+GPIO); */ /* Analog */
+sound/pci/ca0106/ca0106_main.c:		outl(0x005f5301, chip->port+GPIO); /* Analog */
+sound/pci/ca0106/ca0106_main.c:	} else if (chip->details->gpio_type == 1) {
+sound/pci/ca0106/ca0106_main.c:		outl(0x0, chip->port+GPIO);
+sound/pci/ca0106/ca0106_main.c:		/* outl(0x00f0e000, chip->port+GPIO); */ /* Analog */
+sound/pci/ca0106/ca0106_main.c:		outl(0x005f5301, chip->port+GPIO); /* Analog */
+sound/pci/ca0106/ca0106_main.c:		outl(0x0, chip->port+GPIO);
+sound/pci/ca0106/ca0106_main.c:		outl(0x005f03a3, chip->port+GPIO); /* Analog */
+sound/pci/ca0106/ca0106_main.c:		/* outl(0x005f02a2, chip->port+GPIO); */ /* SPDIF */
+sound/pci/ca0106/ca0106_main.c:	/* outl(HCFG_LOCKSOUNDCACHE|HCFG_AUDIOENABLE, chip->port+HCFG); */
+sound/pci/ca0106/ca0106_main.c:	/* outl(0x00001409, chip->port+HCFG); */
+sound/pci/ca0106/ca0106_main.c:	/* outl(0x00000009, chip->port+HCFG); */
+sound/pci/ca0106/ca0106_main.c:	outl(HCFG_AC97 | HCFG_AUDIOENABLE, chip->port+HCFG);
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->i2c_adc == 1) {
+sound/pci/ca0106/ca0106_main.c:			chip->i2c_capture_volume[n][0] = 0xcf;
+sound/pci/ca0106/ca0106_main.c:			chip->i2c_capture_volume[n][1] = 0xcf;
+sound/pci/ca0106/ca0106_main.c:		chip->i2c_capture_source = 2; /* Line in */
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->spi_dac) {
+sound/pci/ca0106/ca0106_main.c:			if (reg < ARRAY_SIZE(chip->spi_dac_reg))
+sound/pci/ca0106/ca0106_main.c:				chip->spi_dac_reg[reg] = spi_dac_init[n];
+sound/pci/ca0106/ca0106_main.c:	outl(0, chip->port + INTE);
+sound/pci/ca0106/ca0106_main.c:	/* outl(HCFG_LOCKSOUNDCACHE, chip->port + HCFG); */
+sound/pci/ca0106/ca0106_main.c:	outl(0, chip->port + HCFG);
+sound/pci/ca0106/ca0106_main.c:	chip->card = card;
+sound/pci/ca0106/ca0106_main.c:	chip->pci = pci;
+sound/pci/ca0106/ca0106_main.c:	chip->irq = -1;
+sound/pci/ca0106/ca0106_main.c:	spin_lock_init(&chip->emu_lock);
+sound/pci/ca0106/ca0106_main.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/ca0106/ca0106_main.c:	chip->res_port = request_region(chip->port, 0x20, "snd_ca0106");
+sound/pci/ca0106/ca0106_main.c:	if (!chip->res_port) {
+sound/pci/ca0106/ca0106_main.c:	chip->irq = pci->irq;
+sound/pci/ca0106/ca0106_main.c:				1024, &chip->buffer) < 0) {
+sound/pci/ca0106/ca0106_main.c:	pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial);
+sound/pci/ca0106/ca0106_main.c:	pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model);
+sound/pci/ca0106/ca0106_main.c:	       chip->model, pci->revision, chip->serial);
+sound/pci/ca0106/ca0106_main.c:		} else if (c->serial == chip->serial)
+sound/pci/ca0106/ca0106_main.c:	chip->details = c;
+sound/pci/ca0106/ca0106_main.c:		       c->name, chip->serial, subsystem[dev]);
+sound/pci/ca0106/ca0106_main.c:		c->name, chip->port, chip->irq);
+sound/pci/ca0106/ca0106_main.c:		midi =  &chip->midi2;
+sound/pci/ca0106/ca0106_main.c:		midi =  &chip->midi;
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->ac97 == 1) {
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->ac97)
+sound/pci/ca0106/ca0106_main.c:		snd_ac97_suspend(chip->ac97);
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->ac97)
+sound/pci/ca0106/ca0106_main.c:		snd_ac97_resume(chip->ac97);
+sound/pci/ca0106/ca0106_main.c:	if (chip->details->spi_dac) {
+sound/pci/ca0106/ca0106_main.c:		for (i = 0; i < ARRAY_SIZE(chip->spi_dac_reg); i++)
+sound/pci/ca0106/ca0106_main.c:			snd_ca0106_spi_write(chip, chip->spi_dac_reg[i]);
+sound/pci/ca0106/ca0106_mixer.c:		chip->saved_vol[i] =
+sound/pci/ca0106/ca0106_mixer.c:				     chip->saved_vol[i]);
+sound/pci/ca0106/ca0106_mixer.c:	ca0106_set_i2c_capture_source(chip, chip->i2c_capture_source, 1);
+sound/pci/ca0106/ca0106_mixer.c:	if (chip->details->i2c_adc)
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:		ucontrol->value.iec958.status[i] = (chip->dig_status >> (i * 8)) & 0xff;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	change = val != chip->dig_status;
+sound/pci/cmipci.c:	chip->dig_status = val;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:		ucontrol->value.iec958.status[i] = (chip->dig_pcm_status >> (i * 8)) & 0xff;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:	change = val != chip->dig_pcm_status;
+sound/pci/cmipci.c:	chip->dig_pcm_status = val;
+sound/pci/cmipci.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cmipci.c:			if (chip->spdif_playback_avail)
+sound/pci/cmipci.c:			if (chip->spdif_playback_avail)
+sound/pci/cmipci.c:	chip->spdif_playback_enabled = ucontrol->value.integer.value[0];
+sound/pci/cs4281.c:        writel(val, chip->ba0 + offset);
+sound/pci/cs4281.c:        return readl(chip->ba0 + offset);
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	spin_lock(&chip->reg_lock);
+sound/pci/cs4281.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:	rec_mono = (chip->dma[1].valDMR & BA0_DMR_MONO) == BA0_DMR_MONO;
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_SRCSA, (chip->src_left_play_slot << 0) |
+sound/pci/cs4281.c:					    (chip->src_right_play_slot << 8) |
+sound/pci/cs4281.c:					    (chip->src_left_rec_slot << 16) |
+sound/pci/cs4281.c:					    ((rec_mono ? 31 : chip->src_right_rec_slot) << 24));
+sound/pci/cs4281.c:		if (dma->left_slot == chip->src_left_play_slot) {
+sound/pci/cs4281.c:			snd_BUG_ON(dma->right_slot != chip->src_right_play_slot);
+sound/pci/cs4281.c:		if (dma->left_slot == chip->src_left_rec_slot) {
+sound/pci/cs4281.c:			snd_BUG_ON(dma->right_slot != chip->src_right_rec_slot);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	dev_dbg(chip->card->dev,
+sound/pci/cs4281.c:	dma = &chip->dma[0];
+sound/pci/cs4281.c:	dma = &chip->dma[1];
+sound/pci/cs4281.c:	err = snd_pcm_new(chip->card, "CS4281", device, 1, 1, &pcm);
+sound/pci/cs4281.c:	chip->pcm = pcm;
+sound/pci/cs4281.c:					      &chip->pci->dev,
+sound/pci/cs4281.c:	chip->ac97_bus = NULL;
+sound/pci/cs4281.c:		chip->ac97_secondary = NULL;
+sound/pci/cs4281.c:		chip->ac97 = NULL;
+sound/pci/cs4281.c:	struct snd_card *card = chip->card;
+sound/pci/cs4281.c:	if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/cs4281.c:	chip->ac97_bus->private_free = snd_cs4281_mixer_free_ac97_bus;
+sound/pci/cs4281.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/cs4281.c:	if (chip->dual_codec) {
+sound/pci/cs4281.c:		if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_secondary)) < 0)
+sound/pci/cs4281.c:	snd_iprintf(buffer, "Spurious half IRQs   : %u\n", chip->spurious_dhtc_irq);
+sound/pci/cs4281.c:	snd_iprintf(buffer, "Spurious end IRQs    : %u\n", chip->spurious_dtc_irq);
+sound/pci/cs4281.c:	if (copy_to_user_fromio(buf, chip->ba0 + pos, count))
+sound/pci/cs4281.c:	if (copy_to_user_fromio(buf, chip->ba1 + pos, count))
+sound/pci/cs4281.c:	snd_card_ro_proc_new(chip->card, "cs4281", chip, snd_cs4281_proc_read);
+sound/pci/cs4281.c:	if (! snd_card_proc_new(chip->card, "cs4281_BA0", &entry)) {
+sound/pci/cs4281.c:	if (! snd_card_proc_new(chip->card, "cs4281_BA1", &entry)) {
+sound/pci/cs4281.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/cs4281.c:		dev_err(chip->card->dev,
+sound/pci/cs4281.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/cs4281.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/cs4281.c:	if (chip->gameport) {
+sound/pci/cs4281.c:		gameport_unregister_port(chip->gameport);
+sound/pci/cs4281.c:		chip->gameport = NULL;
+sound/pci/cs4281.c:	if (chip->irq >= 0)
+sound/pci/cs4281.c:		synchronize_irq(chip->irq);
+sound/pci/cs4281.c:	pci_set_power_state(chip->pci, PCI_D3hot);
+sound/pci/cs4281.c:	if (chip->irq >= 0)
+sound/pci/cs4281.c:		free_irq(chip->irq, chip);
+sound/pci/cs4281.c:	iounmap(chip->ba0);
+sound/pci/cs4281.c:	iounmap(chip->ba1);
+sound/pci/cs4281.c:	pci_release_regions(chip->pci);
+sound/pci/cs4281.c:	pci_disable_device(chip->pci);
+sound/pci/cs4281.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->card = card;
+sound/pci/cs4281.c:	chip->pci = pci;
+sound/pci/cs4281.c:	chip->irq = -1;
+sound/pci/cs4281.c:	chip->dual_codec = dual_codec;
+sound/pci/cs4281.c:	chip->ba0_addr = pci_resource_start(pci, 0);
+sound/pci/cs4281.c:	chip->ba1_addr = pci_resource_start(pci, 1);
+sound/pci/cs4281.c:	chip->ba0 = pci_ioremap_bar(pci, 0);
+sound/pci/cs4281.c:	chip->ba1 = pci_ioremap_bar(pci, 1);
+sound/pci/cs4281.c:	if (!chip->ba0 || !chip->ba1) {
+sound/pci/cs4281.c:	chip->irq = pci->irq;
+sound/pci/cs4281.c:			dev_err(chip->card->dev,
+sound/pci/cs4281.c:		dev_err(chip->card->dev,
+sound/pci/cs4281.c:		dev_err(chip->card->dev,
+sound/pci/cs4281.c:	if (chip->dual_codec)
+sound/pci/cs4281.c:			   (chip->dual_codec ? BA0_SERMC_TCID(chip->dual_codec) : BA0_SERMC_TCID(1)) |
+sound/pci/cs4281.c:	dev_err(chip->card->dev, "DLLRDY not seen\n");
+sound/pci/cs4281.c:	dev_err(chip->card->dev,
+sound/pci/cs4281.c:	if (chip->dual_codec) {
+sound/pci/cs4281.c:		dev_info(chip->card->dev,
+sound/pci/cs4281.c:		chip->dual_codec = 0;
+sound/pci/cs4281.c:	dev_err(chip->card->dev, "never read ISV3 and ISV4 from AC'97\n");
+sound/pci/cs4281.c:		struct cs4281_dma *dma = &chip->dma[tmp];
+sound/pci/cs4281.c:	chip->src_left_play_slot = 0;	/* AC'97 left PCM playback (3) */
+sound/pci/cs4281.c:	chip->src_right_play_slot = 1;	/* AC'97 right PCM playback (4) */
+sound/pci/cs4281.c:	chip->src_left_rec_slot = 10;	/* AC'97 left PCM record (3) */
+sound/pci/cs4281.c:	chip->src_right_rec_slot = 11;	/* AC'97 right PCM record (4) */
+sound/pci/cs4281.c:	chip->dma[0].valFCR = BA0_FCR_FEN | BA0_FCR_LS(0) |
+sound/pci/cs4281.c:		              BA0_FCR_OF(chip->dma[0].fifo_offset);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, chip->dma[0].regFCR, chip->dma[0].valFCR);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_SRCSA, (chip->src_left_play_slot << 0) |
+sound/pci/cs4281.c:					    (chip->src_right_play_slot << 8) |
+sound/pci/cs4281.c:					    (chip->src_left_rec_slot << 16) |
+sound/pci/cs4281.c:					    (chip->src_right_rec_slot << 24));
+sound/pci/cs4281.c:	synchronize_irq(chip->irq);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr | BA0_MIDCR_MRST);
+sound/pci/cs4281.c:	snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c: 	chip->midcr |= BA0_MIDCR_RXE;
+sound/pci/cs4281.c:	chip->midi_input = substream;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_OUTPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->midcr &= ~(BA0_MIDCR_RXE | BA0_MIDCR_RIE);
+sound/pci/cs4281.c:	chip->midi_input = NULL;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_OUTPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	chip->uartm &= ~CS4281_MODE_INPUT;
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->uartm |= CS4281_MODE_OUTPUT;
+sound/pci/cs4281.c:	chip->midcr |= BA0_MIDCR_TXE;
+sound/pci/cs4281.c:	chip->midi_output = substream;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_INPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	chip->midcr &= ~(BA0_MIDCR_TXE | BA0_MIDCR_TIE);
+sound/pci/cs4281.c:	chip->midi_output = NULL;
+sound/pci/cs4281.c:	if (!(chip->uartm & CS4281_MODE_INPUT)) {
+sound/pci/cs4281.c:		snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	chip->uartm &= ~CS4281_MODE_OUTPUT;
+sound/pci/cs4281.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs4281.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs4281.c:		if ((chip->midcr & BA0_MIDCR_RIE) == 0) {
+sound/pci/cs4281.c:			chip->midcr |= BA0_MIDCR_RIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:		if (chip->midcr & BA0_MIDCR_RIE) {
+sound/pci/cs4281.c:			chip->midcr &= ~BA0_MIDCR_RIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs4281.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs4281.c:		if ((chip->midcr & BA0_MIDCR_TIE) == 0) {
+sound/pci/cs4281.c:			chip->midcr |= BA0_MIDCR_TIE;
+sound/pci/cs4281.c:			while ((chip->midcr & BA0_MIDCR_TIE) &&
+sound/pci/cs4281.c:					chip->midcr &= ~BA0_MIDCR_TIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:		if (chip->midcr & BA0_MIDCR_TIE) {
+sound/pci/cs4281.c:			chip->midcr &= ~BA0_MIDCR_TIE;
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs4281.c:	if ((err = snd_rawmidi_new(chip->card, "CS4281", device, 1, 1, &rmidi)) < 0)
+sound/pci/cs4281.c:	chip->rmidi = rmidi;
+sound/pci/cs4281.c:				cdma = &chip->dma[dma];
+sound/pci/cs4281.c:				spin_lock(&chip->reg_lock);
+sound/pci/cs4281.c:					chip->spurious_dhtc_irq++;
+sound/pci/cs4281.c:					spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:					chip->spurious_dtc_irq++;
+sound/pci/cs4281.c:					spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:				spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:	if ((status & BA0_HISR_MIDI) && chip->rmidi) {
+sound/pci/cs4281.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs4281.c:			if ((chip->midcr & BA0_MIDCR_RIE) == 0)
+sound/pci/cs4281.c:			snd_rawmidi_receive(chip->midi_input, &c, 1);
+sound/pci/cs4281.c:			if ((chip->midcr & BA0_MIDCR_TIE) == 0)
+sound/pci/cs4281.c:			if (snd_rawmidi_transmit(chip->midi_output, &c, 1) != 1) {
+sound/pci/cs4281.c:				chip->midcr &= ~BA0_MIDCR_TIE;
+sound/pci/cs4281.c:				snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs4281.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs4281.c:		port = chip->ba0 + BA0_B1AP; /* right port */
+sound/pci/cs4281.c:		port = chip->ba0 + BA0_B0AP; /* left port */
+sound/pci/cs4281.c:		chip->ba0_addr,
+sound/pci/cs4281.c:		chip->irq);
+sound/pci/cs4281.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/cs4281.c:	snd_ac97_suspend(chip->ac97_secondary);
+sound/pci/cs4281.c:			chip->suspend_regs[i] = snd_cs4281_peekBA0(chip, saved_regs[i]);
+sound/pci/cs4281.c:			snd_cs4281_pokeBA0(chip, saved_regs[i], chip->suspend_regs[i]);
+sound/pci/cs4281.c:	snd_ac97_resume(chip->ac97);
+sound/pci/cs4281.c:	snd_ac97_resume(chip->ac97_secondary);
+sound/pci/cs46xx/cs46xx.c:	chip->accept_valid = mmap_valid[dev];
+sound/pci/cs46xx/cs46xx.c:	if (chip->nr_ac97_codecs ==2) {
+sound/pci/cs46xx/cs46xx.c:		chip->ba0_addr,
+sound/pci/cs46xx/cs46xx.c:		chip->ba1_addr,
+sound/pci/cs46xx/cs46xx.c:		chip->irq);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:		dev_warn(chip->card->dev, "ACCTL_VFRM not set 0x%x\n", tmp);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	dst = chip->region.idx[bank+1].remap_addr + offset;
+sound/pci/cs46xx/cs46xx_lib.c:	err = request_firmware(&fw, fw_path, &chip->pci->dev);
+sound/pci/cs46xx/cs46xx_lib.c:	dst = chip->region.idx[bank+1].remap_addr + offset;
+sound/pci/cs46xx/cs46xx_lib.c:	err = request_firmware(&fw, "cs46xx/ba1", &chip->pci->dev);
+sound/pci/cs46xx/cs46xx_lib.c:	if (fw->size != sizeof(*chip->ba1)) {
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ba1 = vmalloc(sizeof(*chip->ba1));
+sound/pci/cs46xx/cs46xx_lib.c:	if (!chip->ba1) {
+sound/pci/cs46xx/cs46xx_lib.c:	memcpy_le32(chip->ba1, fw->data, sizeof(*chip->ba1));
+sound/pci/cs46xx/cs46xx_lib.c:		size += chip->ba1->memory[i].size;
+sound/pci/cs46xx/cs46xx_lib.c:	struct ba1_struct *ba1 = chip->ba1;
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev, "SPCR_RUNFR never reset\n");
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	       chip->capt.hw_buf.area + rec->hw_data, bytes);
+sound/pci/cs46xx/cs46xx_lib.c:	return snd_pcm_indirect_capture_transfer(substream, &chip->capt.pcm_rec,
+sound/pci/cs46xx/cs46xx_lib.c:	size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr;
+sound/pci/cs46xx/cs46xx_lib.c:	return ptr >> chip->capt.shift;
+sound/pci/cs46xx/cs46xx_lib.c:	size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr;
+sound/pci/cs46xx/cs46xx_lib.c:	return snd_pcm_indirect_capture_pointer(substream, &chip->capt.pcm_rec, ptr);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_poke(chip, BA1_PCTL, chip->play_ctl | tmp);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_poke(chip, BA1_CCTL, chip->capt.ctl | tmp);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		 mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		if (runtime->dma_area != chip->capt.hw_buf.area)
+sound/pci/cs46xx/cs46xx_lib.c:		runtime->dma_area = chip->capt.hw_buf.area;
+sound/pci/cs46xx/cs46xx_lib.c:		runtime->dma_addr = chip->capt.hw_buf.addr;
+sound/pci/cs46xx/cs46xx_lib.c:		runtime->dma_bytes = chip->capt.hw_buf.bytes;
+sound/pci/cs46xx/cs46xx_lib.c:		if (runtime->dma_area == chip->capt.hw_buf.area) {
+sound/pci/cs46xx/cs46xx_lib.c:	if (runtime->dma_area != chip->capt.hw_buf.area)
+sound/pci/cs46xx/cs46xx_lib.c:	snd_cs46xx_poke(chip, BA1_CBA, chip->capt.hw_buf.addr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.shift = 2;
+sound/pci/cs46xx/cs46xx_lib.c:	memset(&chip->capt.pcm_rec, 0, sizeof(chip->capt.pcm_rec));
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.pcm_rec.hw_buffer_size = runtime->period_size * CS46XX_FRAGS << 2;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:					if (chip->capt.substream)
+sound/pci/cs46xx/cs46xx_lib.c:						snd_pcm_period_elapsed(chip->capt.substream);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((status1 & HISR_VC0) && chip->playback_pcm) {
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->playback_pcm->substream)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_pcm_period_elapsed(chip->playback_pcm->substream);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((status1 & HISR_VC1) && chip->pcm) {
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->capt.substream)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_pcm_period_elapsed(chip->capt.substream);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((status1 & HISR_MIDI) && chip->rmidi) {
+sound/pci/cs46xx/cs46xx_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:			if ((chip->midcr & MIDCR_RIE) == 0)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_rawmidi_receive(chip->midi_input, &c, 1);
+sound/pci/cs46xx/cs46xx_lib.c:			if ((chip->midcr & MIDCR_TIE) == 0)
+sound/pci/cs46xx/cs46xx_lib.c:			if (snd_rawmidi_transmit(chip->midi_output, &c, 1) != 1) {
+sound/pci/cs46xx/cs46xx_lib.c:				chip->midcr &= ~MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:				snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->playback_pcm = cpcm; /* HACK */
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->accept_valid)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "open raw iec958 channel\n");
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "close raw iec958 channel\n");
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:				PAGE_SIZE, &chip->capt.hw_buf) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.substream = substream;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->accept_valid)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->playback_pcm = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.substream = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	snd_dma_free_pages(&chip->capt.hw_buf);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx", device, MAX_PLAYBACK_CHANNELS, 1, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx - Rear", device, MAX_PLAYBACK_CHANNELS, 0, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm_rear = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx - Center LFE", device, MAX_PLAYBACK_CHANNELS, 0, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm_center_lfe = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_pcm_new(chip->card, "CS46xx - IEC958", device, 1, 0, &pcm)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pcm_iec958 = pcm;
+sound/pci/cs46xx/cs46xx_lib.c:					      &chip->pci->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ac97_bus = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	if (snd_BUG_ON(ac97 != chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] &&
+sound/pci/cs46xx/cs46xx_lib.c:		       ac97 != chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]))
+sound/pci/cs46xx/cs46xx_lib.c:	if (ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]) {
+sound/pci/cs46xx/cs46xx_lib.c:		chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		chip->eapd_switch = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[0] = chip->dsp_spos_instance->dac_volume_left;
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[1] = chip->dsp_spos_instance->dac_volume_right;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance->dac_volume_right != ucontrol->value.integer.value[0] ||
+sound/pci/cs46xx/cs46xx_lib.c:	    chip->dsp_spos_instance->dac_volume_left != ucontrol->value.integer.value[1]) {
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[0] = chip->dsp_spos_instance->spdif_input_volume_left;
+sound/pci/cs46xx/cs46xx_lib.c:	ucontrol->value.integer.value[1] = chip->dsp_spos_instance->spdif_input_volume_right;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance->spdif_input_volume_left  != ucontrol->value.integer.value[0] ||
+sound/pci/cs46xx/cs46xx_lib.c:	    chip->dsp_spos_instance->spdif_input_volume_right!= ucontrol->value.integer.value[1]) {
+sound/pci/cs46xx/cs46xx_lib.c:		ucontrol->value.integer.value[0] = (chip->dsp_spos_instance->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED);
+sound/pci/cs46xx/cs46xx_lib.c:		ucontrol->value.integer.value[0] = chip->dsp_spos_instance->spdif_status_in;
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		change = (chip->dsp_spos_instance->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED);
+sound/pci/cs46xx/cs46xx_lib.c:		res = (change != (chip->dsp_spos_instance->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED));
+sound/pci/cs46xx/cs46xx_lib.c:		mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:		change = chip->dsp_spos_instance->spdif_status_in;
+sound/pci/cs46xx/cs46xx_lib.c:		res = (change != chip->dsp_spos_instance->spdif_status_in);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	val = snd_ac97_read(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX], AC97_CSR_ACMODE);
+sound/pci/cs46xx/cs46xx_lib.c:	return snd_ac97_update_bits(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX],
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier_ctrl == amp_voyetra)
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97[codec]);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "codec %d detection timeout\n", codec);
+sound/pci/cs46xx/cs46xx_lib.c:	struct snd_card *card = chip->card;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->nr_ac97_codecs = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "detecting primary codec\n");
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ac97_bus->private_free = snd_cs46xx_mixer_free_ac97_bus;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->nr_ac97_codecs = 1;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "detecting secondary codec\n");
+sound/pci/cs46xx/cs46xx_lib.c:		chip->nr_ac97_codecs = 2;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->eapd_switch = snd_ctl_find_id(chip->card, &id);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->nr_ac97_codecs == 1) {
+sound/pci/cs46xx/cs46xx_lib.c:		unsigned int id2 = chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]->id & 0xffff;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_ac97_write_cache(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX],
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->mixer_init) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "calling chip->mixer_init(chip);\n");
+sound/pci/cs46xx/cs46xx_lib.c:		chip->mixer_init(chip);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm |= CS46XX_MODE_INPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr |= MIDCR_RXE;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_input = substream;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_OUTPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr &= ~(MIDCR_RXE | MIDCR_RIE);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_input = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_OUTPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm &= ~CS46XX_MODE_INPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm |= CS46XX_MODE_OUTPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr |= MIDCR_TXE;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_output = substream;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_INPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midcr &= ~(MIDCR_TXE | MIDCR_TIE);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->midi_output = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:	if (!(chip->uartm & CS46XX_MODE_INPUT)) {
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->uartm &= ~CS46XX_MODE_OUTPUT;
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:		if ((chip->midcr & MIDCR_RIE) == 0) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr |= MIDCR_RIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->midcr & MIDCR_RIE) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr &= ~MIDCR_RIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:		if ((chip->midcr & MIDCR_TIE) == 0) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr |= MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:			while ((chip->midcr & MIDCR_TIE) &&
+sound/pci/cs46xx/cs46xx_lib.c:					chip->midcr &= ~MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->midcr & MIDCR_TIE) {
+sound/pci/cs46xx/cs46xx_lib.c:			chip->midcr &= ~MIDCR_TIE;
+sound/pci/cs46xx/cs46xx_lib.c:			snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr);
+sound/pci/cs46xx/cs46xx_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/cs46xx_lib.c:	if ((err = snd_rawmidi_new(chip->card, "CS46XX", device, 1, 1, &rmidi)) < 0)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->rmidi = rmidi;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/cs46xx/cs46xx_lib.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->gameport) {
+sound/pci/cs46xx/cs46xx_lib.c:		gameport_unregister_port(chip->gameport);
+sound/pci/cs46xx/cs46xx_lib.c:		chip->gameport = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		struct snd_cs46xx_region *region = &chip->region.idx[idx];
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->active_ctrl)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier_ctrl)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl(chip, -chip->amplifier); /* force to off */
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->region.idx[0].resource)
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->irq >= 0)
+sound/pci/cs46xx/cs46xx_lib.c:		free_irq(chip->irq, chip);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->active_ctrl)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl(chip, -chip->amplifier);
+sound/pci/cs46xx/cs46xx_lib.c:		struct snd_cs46xx_region *region = &chip->region.idx[idx];
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance) {
+sound/pci/cs46xx/cs46xx_lib.c:		chip->dsp_spos_instance = NULL;
+sound/pci/cs46xx/cs46xx_lib.c:		free_module_desc(chip->modules[idx]);
+sound/pci/cs46xx/cs46xx_lib.c:	vfree(chip->ba1);
+sound/pci/cs46xx/cs46xx_lib.c:	kfree(chip->saved_regs);
+sound/pci/cs46xx/cs46xx_lib.c:	pci_disable_device(chip->pci);
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev, "never read ISV3 & ISV4 from AC'97\n");
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		err = load_firmware(chip, &chip->modules[i], module_names[i]);
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev, "firmware load error [%s]\n",
+sound/pci/cs46xx/cs46xx_lib.c:		err = cs46xx_dsp_load_module(chip, chip->modules[i]);
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev, "image download error [%s]\n",
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev, "image download error\n");
+sound/pci/cs46xx/cs46xx_lib.c:	chip->play_ctl = tmp & 0xffff0000;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.ctl = tmp & 0x0000ffff;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "cs46xx_setup_eapd_slot()+\n");
+sound/pci/cs46xx/cs46xx_lib.c:	if(chip->nr_ac97_codecs != 2) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "FIFO is busy\n");
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:	int old = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier) {
+sound/pci/cs46xx/cs46xx_lib.c:		if (chip->eapd_switch)
+sound/pci/cs46xx/cs46xx_lib.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/cs46xx/cs46xx_lib.c:				       &chip->eapd_switch->id);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier && !old) {
+sound/pci/cs46xx/cs46xx_lib.c:	int old = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier && !old) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "Hercules amplifier ON\n");
+sound/pci/cs46xx/cs46xx_lib.c:	} else if (old && !chip->amplifier) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_dbg(chip->card->dev, "Hercules amplifier OFF\n");
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "initializing Voyetra mixer\n");
+sound/pci/cs46xx/cs46xx_lib.c:	struct snd_card *card = chip->card;
+sound/pci/cs46xx/cs46xx_lib.c:	dev_dbg(chip->card->dev, "initializing Hercules mixer\n");
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->in_suspend)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier) {
+sound/pci/cs46xx/cs46xx_lib.c:	if (!chip->acpi_port)
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier += change;
+sound/pci/cs46xx/cs46xx_lib.c:	nval = control = inw(chip->acpi_port + 0x10);
+sound/pci/cs46xx/cs46xx_lib.c:	if (! chip->amplifier)
+sound/pci/cs46xx/cs46xx_lib.c:		outw(nval, chip->acpi_port + 0x10);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->acpi_port = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->acpi_port = pp << 8;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->in_suspend = 1;
+sound/pci/cs46xx/cs46xx_lib.c:	// chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL);
+sound/pci/cs46xx/cs46xx_lib.c:	// chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_suspend(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_suspend(chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:		chip->saved_regs[i] = snd_cs46xx_peekBA0(chip, saved_regs[i]);
+sound/pci/cs46xx/cs46xx_lib.c:	amp_saved = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier_ctrl(chip, -chip->amplifier);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -chip->amplifier);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier = amp_saved; /* restore the status */
+sound/pci/cs46xx/cs46xx_lib.c:	amp_saved = chip->amplifier;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1); /* force to on */
+sound/pci/cs46xx/cs46xx_lib.c:		snd_cs46xx_pokeBA0(chip, saved_regs[i], chip->saved_regs[i]);
+sound/pci/cs46xx/cs46xx_lib.c:			       chip->ac97_general_purpose);
+sound/pci/cs46xx/cs46xx_lib.c:			       chip->ac97_powerdown);
+sound/pci/cs46xx/cs46xx_lib.c:			       chip->ac97_powerdown);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_resume(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:	snd_ac97_resume(chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->capt.ctl = tmp & 0x0000ffff;
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl(chip, 1); /* turn amp on */
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl(chip, -1); /* disable CLKRUN */
+sound/pci/cs46xx/cs46xx_lib.c:	chip->amplifier = amp_saved;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->in_suspend = 0;
+sound/pci/cs46xx/cs46xx_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/cs46xx/cs46xx_lib.c:	mutex_init(&chip->spos_mutex);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->card = card;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->pci = pci;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->irq = -1;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ba0_addr = pci_resource_start(pci, 0);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->ba1_addr = pci_resource_start(pci, 1);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->ba0_addr == 0 || chip->ba0_addr == (unsigned long)~0 ||
+sound/pci/cs46xx/cs46xx_lib.c:	    chip->ba1_addr == 0 || chip->ba1_addr == (unsigned long)~0) {
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			   chip->ba0_addr, chip->ba1_addr);
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.ba0;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba0_addr;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.data0;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_DMEM0;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.data1;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_DMEM1;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.pmem;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_PMEM;
+sound/pci/cs46xx/cs46xx_lib.c:	region = &chip->region.name.reg;
+sound/pci/cs46xx/cs46xx_lib.c:	region->base = chip->ba1_addr + BA1_SP_REG;
+sound/pci/cs46xx/cs46xx_lib.c:			dev_dbg(chip->card->dev, "hack for %s enabled\n",
+sound/pci/cs46xx/cs46xx_lib.c:			chip->amplifier_ctrl = cp->amp;
+sound/pci/cs46xx/cs46xx_lib.c:			chip->active_ctrl = cp->active;
+sound/pci/cs46xx/cs46xx_lib.c:			chip->mixer_init = cp->mixer_init;
+sound/pci/cs46xx/cs46xx_lib.c:		dev_info(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl = amp_voyetra;
+sound/pci/cs46xx/cs46xx_lib.c:		dev_info(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl = clkrun_hack;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->amplifier_ctrl == NULL)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->amplifier_ctrl = amp_none;
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->active_ctrl == NULL)
+sound/pci/cs46xx/cs46xx_lib.c:		chip->active_ctrl = amp_none;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, 1); /* enable CLKRUN */
+sound/pci/cs46xx/cs46xx_lib.c:		region = &chip->region.idx[idx];
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/cs46xx_lib.c:		dev_err(chip->card->dev, "unable to grab IRQ %d\n", pci->irq);
+sound/pci/cs46xx/cs46xx_lib.c:	chip->irq = pci->irq;
+sound/pci/cs46xx/cs46xx_lib.c:	chip->dsp_spos_instance = cs46xx_dsp_spos_create(chip);
+sound/pci/cs46xx/cs46xx_lib.c:	if (chip->dsp_spos_instance == NULL) {
+sound/pci/cs46xx/cs46xx_lib.c:	chip->saved_regs = kmalloc_array(ARRAY_SIZE(saved_regs),
+sound/pci/cs46xx/cs46xx_lib.c:					 sizeof(*chip->saved_regs),
+sound/pci/cs46xx/cs46xx_lib.c:	if (!chip->saved_regs) {
+sound/pci/cs46xx/cs46xx_lib.c:	chip->active_ctrl(chip, -1); /* disable CLKRUN */
+sound/pci/cs46xx/cs46xx_lib.h:	writel(val, chip->region.idx[bank+1].remap_addr + offset);
+sound/pci/cs46xx/cs46xx_lib.h:	return readl(chip->region.idx[bank+1].remap_addr + offset);
+sound/pci/cs46xx/cs46xx_lib.h:	writel(val, chip->region.name.ba0.remap_addr + offset);
+sound/pci/cs46xx/cs46xx_lib.h:	return readl(chip->region.name.ba0.remap_addr + offset);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:						dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:							dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:						dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev, "dsp_spos: symbol table is full\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "dsp_spos: clearing parameter area\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "dsp_spos: clearing sample area\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "dsp_spos: clearing code area\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	dev_err(chip->card->dev, "dsp_spos: symbol <%s> type %02x not found\n",
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	/*struct dsp_spos_instance * ins = chip->dsp_spos_instance; */
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *dst = chip->region.idx[2].remap_addr;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *spdst = chip->region.idx[1].remap_addr + 
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "addr %p, val %08x\n",
+sound/pci/cs46xx/dsp_spos.c:	void __iomem *spdst = chip->region.idx[1].remap_addr + 
+sound/pci/cs46xx/dsp_spos.c:		dev_dbg(chip->card->dev, "addr %p, val %08x\n",
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev, "dsp_spos: failed to map SCB\n");
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev, "dsp_spos: failed to map TASK\n");
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	if (snd_BUG_ON(chip->nr_ac97_codecs != 1 && chip->nr_ac97_codecs != 2))
+sound/pci/cs46xx/dsp_spos.c:	if (chip->nr_ac97_codecs == 1) {
+sound/pci/cs46xx/dsp_spos.c:	if (chip->nr_ac97_codecs == 2) {
+sound/pci/cs46xx/dsp_spos.c:	dev_err(chip->card->dev, "dsp_spos: failed to setup SCB's in DSP\n");
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	chip->active_ctrl(chip, 1);
+sound/pci/cs46xx/dsp_spos.c:	chip->amplifier_ctrl(chip, 1);
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/cs46xx/dsp_spos.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	chip->active_ctrl(chip, -1);
+sound/pci/cs46xx/dsp_spos.c:	chip->amplifier_ctrl(chip, -1);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos.c:	if (chip->dsp_spos_instance->spdif_status_in) {
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	mutex_lock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	mutex_unlock(&chip->spos_mutex);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	void __iomem *dst = chip->region.idx[2].remap_addr + sample_buffer_addr;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);    
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	dev_dbg(chip->card->dev, "dsp_spos: creating SCB <%s>\n", name);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	dev_dbg(chip->card->dev, "dsp_spos: setting %s rate to %u\n",
+sound/pci/cs46xx/dsp_spos_scb_lib.c:				dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_dbg(chip->card->dev, "IEC958 pass through\n");
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_err(chip->card->dev, "dsp_spos: no free PCM channel\n");
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:			dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	dev_dbg(chip->card->dev, "dsp_spos: creating PCM \"%s\" (%d)\n",
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_err(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		dev_dbg(chip->card->dev,
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		       chip->dsp_spos_instance->npcm_channels <= 0))
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:  	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs46xx/dsp_spos_scb_lib.c:	struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+sound/pci/cs5530.c:	pci_release_regions(chip->pci);
+sound/pci/cs5530.c:	pci_disable_device(chip->pci);
+sound/pci/cs5530.c:	chip->card = card;
+sound/pci/cs5530.c:	chip->pci = pci;
+sound/pci/cs5530.c:	chip->pci_base = pci_resource_start(pci, 0);
+sound/pci/cs5530.c:						dma16, SB_HW_CS5530, &chip->sb);
+sound/pci/cs5530.c:	err = snd_sb16dsp_pcm(chip->sb, 0);
+sound/pci/cs5530.c:	err = snd_sbmixer_new(chip->sb);
+sound/pci/cs5530.c:	sprintf(card->longname, "%s at 0x%lx", card->shortname, chip->pci_base);
+sound/pci/echoaudio/darla20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/darla20_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/darla20_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/darla20_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/darla20_dsp.c:	chip->dsp_code_to_load = FW_DARLA20_DSP;
+sound/pci/echoaudio/darla20_dsp.c:	chip->spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/darla20_dsp.c:	chip->clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/darla20_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/darla20_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/darla20_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/darla20_dsp.c:	if (chip->clock_state == clock_state)
+sound/pci/echoaudio/darla20_dsp.c:	if (spdif_status == chip->spdif_status)
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->gd_clock_state = clock_state;
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->gd_spdif_status = spdif_status;
+sound/pci/echoaudio/darla20_dsp.c:	chip->comm_page->gd_resampler_state = 3;	/* magic number - should always be 3 */
+sound/pci/echoaudio/darla20_dsp.c:		chip->clock_state = clock_state;
+sound/pci/echoaudio/darla20_dsp.c:		chip->spdif_status = spdif_status;
+sound/pci/echoaudio/darla20_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/darla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/darla24_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/darla24_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/darla24_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/darla24_dsp.c:	chip->dsp_code_to_load = FW_DARLA24_DSP;
+sound/pci/echoaudio/darla24_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/darla24_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/darla24_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/darla24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/darla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/darla24_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/darla24_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/darla24_dsp.c:	if (chip->input_clock == ECHO_CLOCK_ESYNC)
+sound/pci/echoaudio/darla24_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP ? */
+sound/pci/echoaudio/darla24_dsp.c:	chip->comm_page->gd_clock_state = clock;
+sound/pci/echoaudio/darla24_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/darla24_dsp.c:	return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/echo3g.c:#define PX_DIGITAL_OUT	chip->px_digital_out
+sound/pci/echoaudio/echo3g.c:#define PX_ANALOG_IN	chip->px_analog_in
+sound/pci/echoaudio/echo3g.c:#define PX_DIGITAL_IN	chip->px_digital_in
+sound/pci/echoaudio/echo3g.c:#define PX_NUM		chip->px_num
+sound/pci/echoaudio/echo3g.c:#define BX_DIGITAL_OUT	chip->bx_digital_out
+sound/pci/echoaudio/echo3g.c:#define BX_ANALOG_IN	chip->bx_analog_in
+sound/pci/echoaudio/echo3g.c:#define BX_DIGITAL_IN	chip->bx_digital_in
+sound/pci/echoaudio/echo3g.c:#define BX_NUM		chip->bx_num
+sound/pci/echoaudio/echo3g_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echo3g_dsp.c:	chip->comm_page->e3g_frq_register =
+sound/pci/echoaudio/echo3g_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->has_midi = true;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->dsp_code_to_load = FW_ECHO3G_DSP;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->input_clock_types =	ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/echo3g_dsp.c:		chip->card_name = "Gina3G";
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_out = chip->bx_digital_out = 6;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_analog_in = chip->bx_analog_in = 14;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_in = chip->bx_digital_in = 16;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_num = chip->bx_num = 24;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->has_phantom_power = true;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->hasnt_input_nominal_level = true;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->input_clock_types =	ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/echo3g_dsp.c:		chip->card_name = "Layla3G";
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_out = chip->bx_digital_out = 8;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_analog_in = chip->bx_analog_in = 16;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_digital_in = chip->bx_digital_in = 24;
+sound/pci/echoaudio/echo3g_dsp.c:		chip->px_num = chip->bx_num = 32;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->digital_modes =	ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_RCA |
+sound/pci/echoaudio/echo3g_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->non_audio_spdif = false;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/echo3g_dsp.c:	chip->phantom_power = false;
+sound/pci/echoaudio/echo3g_dsp.c:	u32 control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echo3g_dsp.c:	chip->phantom_power = on;
+sound/pci/echoaudio/echo3g_dsp.c:				 le32_to_cpu(chip->comm_page->e3g_frq_register),
+sound/pci/echoaudio/echoaudio.c:	if (chip->fw_cache[fw_index]) {
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		*fw_entry = chip->fw_cache[fw_index];
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:	err = request_firmware(fw_entry, name, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		chip->fw_cache[fw_index] = *fw_entry;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "firmware not released (kept in cache)\n");
+sound/pci/echoaudio/echoaudio.c:		if (chip->fw_cache[i]) {
+sound/pci/echoaudio/echoaudio.c:			release_firmware(chip->fw_cache[i]);
+sound/pci/echoaudio/echoaudio.c:			dev_dbg(chip->card->dev, "release_firmware(%d)\n", i);
+sound/pci/echoaudio/echoaudio.c:	if (!chip->can_set_rate) {
+sound/pci/echoaudio/echoaudio.c:		fixed.min = fixed.max = chip->sample_rate;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "max_channels=%d\n", max_channels);
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_mode == DIGITAL_MODE_ADAT) {
+sound/pci/echoaudio/echoaudio.c:				       &chip->pci->dev,
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "s-g list allocation failed\n");
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_analog_in_open  cs=%d  oc=%d  r=%d\n",
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, atomic_read(&chip->opencount),
+sound/pci/echoaudio/echoaudio.c:		chip->sample_rate);
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_analog_out_open  cs=%d  oc=%d  r=%d\n",
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, atomic_read(&chip->opencount),
+sound/pci/echoaudio/echoaudio.c:		chip->sample_rate);
+sound/pci/echoaudio/echoaudio.c:	mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio.c:	atomic_inc(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	if (atomic_read(&chip->opencount) > 1 && chip->rate_set)
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate=0;
+sound/pci/echoaudio/echoaudio.c:	mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	atomic_dec(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	oc = atomic_read(&chip->opencount);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_close  oc=%d  cs=%d  rs=%d\n", oc,
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, chip->rate_set);
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate = 1;
+sound/pci/echoaudio/echoaudio.c:		chip->rate_set = 0;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "pcm_close2 oc=%d  cs=%d  rs=%d\n", oc,
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate, chip->rate_set);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev, "hwp_ie free(%d)\n", pipe->index);
+sound/pci/echoaudio/echoaudio.c:		chip->substream[pipe->index] = NULL;
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "allocate_pipes(%d) err=%d\n",
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "allocate_pipes()=%d\n", pipe_index);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "malloc_pages err=%d\n", err);
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	 * initialized before chip->substream
+sound/pci/echoaudio/echoaudio.c:	chip->last_period[pipe_index] = 0;
+sound/pci/echoaudio/echoaudio.c:	chip->substream[pipe_index] = substream;
+sound/pci/echoaudio/echoaudio.c:	chip->rate_set = 1;
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev, "pcm_hw_free(%d)\n", pipe->index);
+sound/pci/echoaudio/echoaudio.c:		chip->substream[pipe->index] = NULL;
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(chip->card->dev, "Prepare rate=%d format=%d channels=%d\n",
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:			if (s == chip->substream[i]) {
+sound/pci/echoaudio/echoaudio.c:	spin_lock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:				pipe = chip->substream[i]->runtime->private_data;
+sound/pci/echoaudio/echoaudio.c:					chip->last_period[i] = 0;
+sound/pci/echoaudio/echoaudio.c:				      chip->pipe_cyclic_mask);
+sound/pci/echoaudio/echoaudio.c:				pipe = chip->substream[i]->runtime->private_data;
+sound/pci/echoaudio/echoaudio.c:				pipe = chip->substream[i]->runtime->private_data;
+sound/pci/echoaudio/echoaudio.c:	spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "PCM", 0, num_pipes_out(chip),
+sound/pci/echoaudio/echoaudio.c:	chip->analog_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "Digital PCM", 1, 0,
+sound/pci/echoaudio/echoaudio.c:	chip->digital_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "Analog PCM", 0,
+sound/pci/echoaudio/echoaudio.c:	chip->analog_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_pcm_new(chip->card, "Digital PCM", 1,
+sound/pci/echoaudio/echoaudio.c:	chip->digital_pcm = pcm;
+sound/pci/echoaudio/echoaudio.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/echoaudio/echoaudio.c:	snd_echo_preallocate_pages(pcm, &chip->pci->dev);
+sound/pci/echoaudio/echoaudio.c:		ucontrol->value.integer.value[c] = chip->output_gain[c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->output_gain[c] != gain) {
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		ucontrol->value.integer.value[c] = chip->input_gain[c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->input_gain[c] != gain) {
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		ucontrol->value.integer.value[c] = chip->nominal_level[c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->nominal_level[c] != ucontrol->value.integer.value[c]) {
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:			chip->nominal_level[bx_analog_in(chip) + c];
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		if (chip->nominal_level[bx_analog_in(chip) + c] !=
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.integer.value[0] = chip->monitor_gain[out][in];
+sound/pci/echoaudio/echoaudio.c:	if (chip->monitor_gain[out][in] != gain) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		chip->vmixer_gain[ucontrol->id.index / num_pipes_out(chip)]
+sound/pci/echoaudio/echoaudio.c:	if (chip->vmixer_gain[out][vch] != ucontrol->value.integer.value[0]) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	return snd_ctl_enum_info(uinfo, 1, chip->num_digital_modes, names);
+sound/pci/echoaudio/echoaudio.c:	mode = chip->digital_mode;
+sound/pci/echoaudio/echoaudio.c:	for (i = chip->num_digital_modes - 1; i >= 0; i--)
+sound/pci/echoaudio/echoaudio.c:		if (mode == chip->digital_mode_list[i]) {
+sound/pci/echoaudio/echoaudio.c:	if (emode >= chip->num_digital_modes)
+sound/pci/echoaudio/echoaudio.c:	dmode = chip->digital_mode_list[emode];
+sound/pci/echoaudio/echoaudio.c:	if (dmode != chip->digital_mode) {
+sound/pci/echoaudio/echoaudio.c:		mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		if (atomic_read(&chip->opencount)) {
+sound/pci/echoaudio/echoaudio.c:			if (changed > 0 && chip->clock_src_ctl) {
+sound/pci/echoaudio/echoaudio.c:				snd_ctl_notify(chip->card,
+sound/pci/echoaudio/echoaudio.c:					       &chip->clock_src_ctl->id);
+sound/pci/echoaudio/echoaudio.c:				dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:		mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.enumerated.item[0] = !!chip->professional_spdif;
+sound/pci/echoaudio/echoaudio.c:	if (mode != chip->professional_spdif) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	return snd_ctl_enum_info(uinfo, 1, chip->num_clock_sources, names);
+sound/pci/echoaudio/echoaudio.c:	clock = chip->input_clock;
+sound/pci/echoaudio/echoaudio.c:	for (i = 0; i < chip->num_clock_sources; i++)
+sound/pci/echoaudio/echoaudio.c:		if (clock == chip->clock_source_list[i])
+sound/pci/echoaudio/echoaudio.c:	if (eclock >= chip->input_clock_types)
+sound/pci/echoaudio/echoaudio.c:	dclock = chip->clock_source_list[eclock];
+sound/pci/echoaudio/echoaudio.c:	if (chip->input_clock != dclock) {
+sound/pci/echoaudio/echoaudio.c:		mutex_lock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		mutex_unlock(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.integer.value[0] = chip->phantom_power;
+sound/pci/echoaudio/echoaudio.c:	if (chip->phantom_power != power) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	ucontrol->value.integer.value[0] = chip->digital_in_automute;
+sound/pci/echoaudio/echoaudio.c:	if (chip->digital_in_automute != automute) {
+sound/pci/echoaudio/echoaudio.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	src = chip->num_clock_sources - 1;
+sound/pci/echoaudio/echoaudio.c:				if (bit == chip->clock_source_list[src]) {
+sound/pci/echoaudio/echoaudio.c:	spin_lock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		substream = chip->substream[ss];
+sound/pci/echoaudio/echoaudio.c:			if (period != chip->last_period[ss]) {
+sound/pci/echoaudio/echoaudio.c:				chip->last_period[ss] = period;
+sound/pci/echoaudio/echoaudio.c:				spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:				spin_lock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	if (st > 0 && chip->midi_in) {
+sound/pci/echoaudio/echoaudio.c:		snd_rawmidi_receive(chip->midi_in, chip->midi_buffer, st);
+sound/pci/echoaudio/echoaudio.c:		dev_dbg(chip->card->dev, "rawmidi_iread=%d\n", st);
+sound/pci/echoaudio/echoaudio.c:	if (chip->comm_page)
+sound/pci/echoaudio/echoaudio.c:	if (chip->irq >= 0)
+sound/pci/echoaudio/echoaudio.c:		free_irq(chip->irq, chip);
+sound/pci/echoaudio/echoaudio.c:	if (chip->comm_page)
+sound/pci/echoaudio/echoaudio.c:		snd_dma_free_pages(&chip->commpage_dma_buf);
+sound/pci/echoaudio/echoaudio.c:	iounmap(chip->dsp_registers);
+sound/pci/echoaudio/echoaudio.c:	release_and_free_resource(chip->iores);
+sound/pci/echoaudio/echoaudio.c:	pci_disable_device(chip->pci);
+sound/pci/echoaudio/echoaudio.c:		spin_lock_init(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		chip->card = card;
+sound/pci/echoaudio/echoaudio.c:		chip->pci = pci;
+sound/pci/echoaudio/echoaudio.c:		chip->irq = -1;
+sound/pci/echoaudio/echoaudio.c:		atomic_set(&chip->opencount, 0);
+sound/pci/echoaudio/echoaudio.c:		mutex_init(&chip->mode_mutex);
+sound/pci/echoaudio/echoaudio.c:		chip->can_set_rate = 1;
+sound/pci/echoaudio/echoaudio.c:	chip->dsp_registers_phys = pci_resource_start(pci, 0);
+sound/pci/echoaudio/echoaudio.c:	if ((chip->iores = request_mem_region(chip->dsp_registers_phys, sz,
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot get memory region\n");
+sound/pci/echoaudio/echoaudio.c:	chip->dsp_registers = (volatile u32 __iomem *)
+sound/pci/echoaudio/echoaudio.c:		ioremap_nocache(chip->dsp_registers_phys, sz);
+sound/pci/echoaudio/echoaudio.c:	if (!chip->dsp_registers) {
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "ioremap failed\n");
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot grab irq\n");
+sound/pci/echoaudio/echoaudio.c:	chip->irq = pci->irq;
+sound/pci/echoaudio/echoaudio.c:		chip->pci, chip->irq, chip->pci->subsystem_device);
+sound/pci/echoaudio/echoaudio.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/echoaudio/echoaudio.c:				&chip->commpage_dma_buf) < 0) {
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot allocate the comm page\n");
+sound/pci/echoaudio/echoaudio.c:	chip->comm_page_phys = chip->commpage_dma_buf.addr;
+sound/pci/echoaudio/echoaudio.c:	chip->comm_page = (struct comm_page *)chip->commpage_dma_buf.area;
+sound/pci/echoaudio/echoaudio.c:	err = init_hw(chip, chip->pci->device, chip->pci->subsystem_device);
+sound/pci/echoaudio/echoaudio.c:	strcpy(card->shortname, chip->card_name);
+sound/pci/echoaudio/echoaudio.c:		chip->dsp_registers_phys, chip->irq);
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "new pcm error %d\n", err);
+sound/pci/echoaudio/echoaudio.c:	if (chip->has_midi) {	/* Some Mia's do not have midi */
+sound/pci/echoaudio/echoaudio.c:			dev_err(chip->card->dev, "new midi error %d\n", err);
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_vmixer, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	err = snd_ctl_add(chip->card,
+sound/pci/echoaudio/echoaudio.c:	err = snd_ctl_add(chip->card,
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_line_input_gain, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if (!chip->hasnt_input_nominal_level)
+sound/pci/echoaudio/echoaudio.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_intput_nominal_level, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_output_nominal_level, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_vumeters_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_vumeters, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_monitor_mixer, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_automute_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_channels_info, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	chip->num_digital_modes = 0;
+sound/pci/echoaudio/echoaudio.c:		if (chip->digital_modes & (1 << i))
+sound/pci/echoaudio/echoaudio.c:			chip->digital_mode_list[chip->num_digital_modes++] = i;
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_digital_mode_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	chip->num_clock_sources = 0;
+sound/pci/echoaudio/echoaudio.c:		if (chip->input_clock_types & (1 << i))
+sound/pci/echoaudio/echoaudio.c:			chip->clock_source_list[chip->num_clock_sources++] = i;
+sound/pci/echoaudio/echoaudio.c:	if (chip->num_clock_sources > 1) {
+sound/pci/echoaudio/echoaudio.c:		chip->clock_src_ctl = snd_ctl_new1(&snd_echo_clock_source_switch, chip);
+sound/pci/echoaudio/echoaudio.c:		if ((err = snd_ctl_add(chip->card, chip->clock_src_ctl)) < 0)
+sound/pci/echoaudio/echoaudio.c:	if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_spdif_mode_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if (chip->has_phantom_power)
+sound/pci/echoaudio/echoaudio.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_echo_phantom_power_switch, chip))) < 0)
+sound/pci/echoaudio/echoaudio.c:	if (chip->midi_out)
+sound/pci/echoaudio/echoaudio.c:		snd_echo_midi_output_trigger(chip->midi_out, 0);
+sound/pci/echoaudio/echoaudio.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio.c:	chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio.c:	free_irq(chip->irq, chip);
+sound/pci/echoaudio/echoaudio.c:	chip->irq = -1;
+sound/pci/echoaudio/echoaudio.c:	commpage = chip->comm_page;
+sound/pci/echoaudio/echoaudio.c:	err = init_hw(chip, chip->pci->device, chip->pci->subsystem_device);
+sound/pci/echoaudio/echoaudio.c:	/* Temporarily set chip->pipe_alloc_mask=0 otherwise
+sound/pci/echoaudio/echoaudio.c:	pipe_alloc_mask = chip->pipe_alloc_mask;
+sound/pci/echoaudio/echoaudio.c:	chip->pipe_alloc_mask = 0;
+sound/pci/echoaudio/echoaudio.c:	chip->pipe_alloc_mask = pipe_alloc_mask;
+sound/pci/echoaudio/echoaudio.c:		dev_err(chip->card->dev, "cannot grab irq\n");
+sound/pci/echoaudio/echoaudio.c:	chip->irq = pci->irq;
+sound/pci/echoaudio/echoaudio.c:	dev_dbg(dev, "resume irq=%d\n", chip->irq);
+sound/pci/echoaudio/echoaudio.c:	if (chip->midi_input_enabled)
+sound/pci/echoaudio/echoaudio.c:	if (chip->midi_out)
+sound/pci/echoaudio/echoaudio.c:		snd_echo_midi_output_trigger(chip->midi_out, 1);
+sound/pci/echoaudio/echoaudio.c:		snd_card_free(chip->card);
+sound/pci/echoaudio/echoaudio.h:	chip->comm_page->handshake = 0;
+sound/pci/echoaudio/echoaudio.h:	return readl(&chip->dsp_registers[index]);
+sound/pci/echoaudio/echoaudio.h:	writel(value, &chip->dsp_registers[index]);
+sound/pci/echoaudio/echoaudio.h:/* Pipe and bus indexes. PX_* and BX_* are defined as chip->px_* and chip->bx_*
+sound/pci/echoaudio/echoaudio_3g.c:	chip->comm_page->ext_box_status = cpu_to_le32(E3G_ASIC_NOT_LOADED);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->asic_loaded = false;
+sound/pci/echoaudio/echoaudio_3g.c:		chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio_3g.c:	box_status = le32_to_cpu(chip->comm_page->ext_box_status);
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev, "box_status=%x\n", box_status);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/echoaudio_3g.c:	return le32_to_cpu(chip->comm_page->e3g_frq_register);
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	if (ctl_reg != chip->comm_page->control_register ||
+sound/pci/echoaudio/echoaudio_3g.c:	    frq_reg != chip->comm_page->e3g_frq_register || force) {
+sound/pci/echoaudio/echoaudio_3g.c:		chip->comm_page->e3g_frq_register = frq_reg;
+sound/pci/echoaudio/echoaudio_3g.c:		chip->comm_page->control_register = ctl_reg;
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev, "WriteControlReg: not written, no change\n");
+sound/pci/echoaudio/echoaudio_3g.c:	if (snd_BUG_ON(chip->pipe_alloc_mask))
+sound/pci/echoaudio/echoaudio_3g.c:	if (snd_BUG_ON(!(chip->digital_modes & (1 << mode))))
+sound/pci/echoaudio/echoaudio_3g.c:	previous_mode = chip->digital_mode;
+sound/pci/echoaudio/echoaudio_3g.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:						 chip->monitor_gain[o][i]);
+sound/pci/echoaudio/echoaudio_3g.c:			set_input_gain(chip, i, chip->input_gain[i]);
+sound/pci/echoaudio/echoaudio_3g.c:			set_output_gain(chip, o, chip->output_gain[o]);
+sound/pci/echoaudio/echoaudio_3g.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->professional_spdif)
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->professional_spdif)
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->non_audio_spdif)
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = set_spdif_bits(chip, control_reg, chip->sample_rate);
+sound/pci/echoaudio/echoaudio_3g.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/echoaudio_3g.c:	switch(chip->digital_mode) {
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/echoaudio_3g.c:	chip->asic_code = FW_3G_ASIC;
+sound/pci/echoaudio/echoaudio_3g.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/echoaudio_3g.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/echoaudio_3g.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/echoaudio_3g.c:		set_input_clock(chip, chip->input_clock);
+sound/pci/echoaudio/echoaudio_3g.c:		       chip->digital_mode == DIGITAL_MODE_ADAT))
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/echoaudio_3g.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/echoaudio_3g.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/echoaudio_3g.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/echoaudio_3g.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/echoaudio_3g.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	chip->input_clock = clock;
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/echoaudio_3g.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/echoaudio_3g.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_3g.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/echoaudio_3g.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_3g.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_3g.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/echoaudio_3g.c:	dev_dbg(chip->card->dev, "set_digital_mode(%d)\n", chip->digital_mode);
+sound/pci/echoaudio/echoaudio_dsp.c:		if (chip->comm_page->handshake) {
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "wait_handshake(): Timeout waiting for DSP\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "timeout on send_vector\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;		/* Set true until DSP re-loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev, "write_dsp: Set bad_board to true\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;		/* Set true until DSP re-loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "read_dsp: Set bad_board to true\n");
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_warn(chip->card->dev, "Firmware not found !\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "failed on write_dsp\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->device_id != DEVICE_ID_56361)
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_warn(chip->card->dev, "Firmware not found !\n");
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev, "Resident loader failed to set HF5\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev, "Resident loader successfully installed\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->dsp_code == code) {
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_warn(chip->card->dev, "DSP is already loaded!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;		/* Set true until DSP loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->dsp_code = NULL;		/* Current DSP code not loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->asic_loaded = false;	/* Loading the DSP code will reset the ASIC */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev, "load_dsp: Set bad_board to true\n");
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			if (write_dsp(chip, chip->comm_page_phys) < 0) {
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:				dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:			chip->dsp_code = code;		/* Show which DSP code loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:			chip->bad_board = false;	/* DSP OK */
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	if (snd_BUG_ON(!chip->comm_page))
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->dsp_code) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio_dsp.c:	err = get_firmware(&fw, chip, chip->dsp_code_to_load);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->nominal_level[index] = consumer;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->nominal_level_mask |= cpu_to_le32(1 << index);
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->nominal_level_mask &= ~cpu_to_le32(1 << index);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->output_gain[channel] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->line_out_level[channel] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->monitor_gain[output][input] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->monitors[monitor_index(chip, output, input)] = gain;
+sound/pci/echoaudio/echoaudio_dsp.c:	if (on && !chip->meters_enabled) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->meters_enabled = 1;
+sound/pci/echoaudio/echoaudio_dsp.c:	} else if (!on && chip->meters_enabled) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->meters_enabled = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:		memset((s8 *)chip->comm_page->vu_meter, ECHOGAIN_MUTED,
+sound/pci/echoaudio/echoaudio_dsp.c:		memset((s8 *)chip->comm_page->peak_meter, ECHOGAIN_MUTED,
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->vu_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->peak_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->vu_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->peak_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->vu_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:		meters[n++] = chip->comm_page->peak_meter[m];
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->gd_clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->gd_spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->handshake = cpu_to_le32(0xffffffff);
+sound/pci/echoaudio/echoaudio_dsp.c:		err = set_output_gain(chip, i, chip->output_gain[i]);
+sound/pci/echoaudio/echoaudio_dsp.c:						chip->vmixer_gain[o][i]);
+sound/pci/echoaudio/echoaudio_dsp.c:						chip->monitor_gain[o][i]);
+sound/pci/echoaudio/echoaudio_dsp.c:		err = set_input_gain(chip, i, chip->input_gain[i]);
+sound/pci/echoaudio/echoaudio_dsp.c:	err = set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->meters_enabled) {
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_digital_mode(chip, chip->digital_mode) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_professional_spdif(chip, chip->professional_spdif) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_phantom_power(chip, chip->phantom_power) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_input_clock(chip, chip->input_clock) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (set_output_clock(chip, chip->output_clock) < 0)
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->audio_format[pipe_index] = cpu_to_le16(dsp_format);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_start |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->comm_page->cmd_start) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->active_mask |= channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_start = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_err(chip->card->dev, "start_transport: No pipes to start!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_stop |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_reset = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->comm_page->cmd_stop) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->active_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_stop = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_reset = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_warn(chip->card->dev, "pause_transport: No pipes to stop!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_stop |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->cmd_reset |= cpu_to_le32(channel_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->comm_page->cmd_reset) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->active_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_stop = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->cmd_reset = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_warn(chip->card->dev, "stop_transport: No pipes to stop!\n");
+sound/pci/echoaudio/echoaudio_dsp.c:	return (chip->pipe_alloc_mask & (1 << pipe_index));
+sound/pci/echoaudio/echoaudio_dsp.c:	stop_transport(chip, chip->active_mask);
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->dsp_code) {
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->dsp_code = NULL;
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->card_name = ECHOCARD_NAME;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->bad_board = true;	/* Set true until DSP loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->dsp_code = NULL;	/* Current DSP code not loaded */
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->asic_loaded = false;
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->comm_page, 0, sizeof(struct comm_page));
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->comm_size =
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->handshake = cpu_to_le32(0xffffffff);
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->midi_out_free_count =
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(44100);
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->comm_page->monitors, ECHOGAIN_MUTED, MONITOR_ARRAY_SIZE);
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->comm_page->vmixer, ECHOGAIN_MUTED, VMIXER_ARRAY_SIZE);
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->output_gain, ECHOGAIN_MUTED, sizeof(chip->output_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->input_gain, ECHOGAIN_MUTED, sizeof(chip->input_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->monitor_gain, ECHOGAIN_MUTED, sizeof(chip->monitor_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	memset(chip->vmixer_gain, ECHOGAIN_MUTED, sizeof(chip->vmixer_gain));
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->output_clock = ECHO_CLOCK_WORD;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->sample_rate = 44100;
+sound/pci/echoaudio/echoaudio_dsp.c:		if (chip->comm_page->midi_input[0])	/* The count is at index 0 */
+sound/pci/echoaudio/echoaudio_dsp.c:		chip->comm_page->midi_input[0] = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->bad_board)
+sound/pci/echoaudio/echoaudio_dsp.c:	if (chip->pipe_alloc_mask & channel_mask) {
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->position[pipe_index] = 0;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_alloc_mask |= channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_cyclic_mask |= channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	pipe->dma_counter = (__le32 *)&chip->comm_page->position[pipe_index];
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_alloc_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->pipe_cyclic_mask &= ~channel_mask;
+sound/pci/echoaudio/echoaudio_dsp.c:	chip->comm_page->sglist_addr[pipe->index].addr =
+sound/pci/echoaudio/echoaudio_dsp.c:		dev_err(chip->card->dev, "SGlist: too many fragments\n");
+sound/pci/echoaudio/echoaudio_gml.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/echoaudio_gml.c:		chip->asic_loaded = false;
+sound/pci/echoaudio/echoaudio_gml.c:	chip->asic_loaded = (asic_status == ASIC_ALREADY_LOADED);
+sound/pci/echoaudio/echoaudio_gml.c:	return chip->asic_loaded ? 0 : -EIO;
+sound/pci/echoaudio/echoaudio_gml.c:	if (chip->digital_in_automute)
+sound/pci/echoaudio/echoaudio_gml.c:	dev_dbg(chip->card->dev, "write_control_reg: 0x%x\n", value);
+sound/pci/echoaudio/echoaudio_gml.c:	if (reg_value != chip->comm_page->control_register || force) {
+sound/pci/echoaudio/echoaudio_gml.c:		chip->comm_page->control_register = reg_value;
+sound/pci/echoaudio/echoaudio_gml.c:	dev_dbg(chip->card->dev, "set_input_auto_mute %d\n", automute);
+sound/pci/echoaudio/echoaudio_gml.c:	chip->digital_in_automute = automute;
+sound/pci/echoaudio/echoaudio_gml.c:	return set_input_clock(chip, chip->input_clock);
+sound/pci/echoaudio/echoaudio_gml.c:	if (chip->bad_board)
+sound/pci/echoaudio/echoaudio_gml.c:	if (snd_BUG_ON(chip->pipe_alloc_mask))
+sound/pci/echoaudio/echoaudio_gml.c:	if (snd_BUG_ON(!(chip->digital_modes & (1 << mode))))
+sound/pci/echoaudio/echoaudio_gml.c:	previous_mode = chip->digital_mode;
+sound/pci/echoaudio/echoaudio_gml.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_gml.c:						 chip->monitor_gain[o][i]);
+sound/pci/echoaudio/echoaudio_gml.c:			set_input_gain(chip, i, chip->input_gain[i]);
+sound/pci/echoaudio/echoaudio_gml.c:			set_output_gain(chip, o, chip->output_gain[o]);
+sound/pci/echoaudio/echoaudio_gml.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/echoaudio_gml.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/echoaudio_gml.c:		switch (chip->sample_rate) {
+sound/pci/echoaudio/echoaudio_gml.c:		switch (chip->sample_rate) {
+sound/pci/echoaudio/echoaudio_gml.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/echoaudio_gml.c:	dev_dbg(chip->card->dev, "set_professional_spdif to %s\n",
+sound/pci/echoaudio/gina20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina20_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/gina20_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/gina20_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/gina20_dsp.c:	chip->dsp_code_to_load = FW_GINA20_DSP;
+sound/pci/echoaudio/gina20_dsp.c:	chip->spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:	chip->clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/gina20_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/gina20_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/gina20_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/gina20_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/gina20_dsp.c:	if (chip->clock_state == clock_state)
+sound/pci/echoaudio/gina20_dsp.c:	if (spdif_status == chip->spdif_status)
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->gd_clock_state = clock_state;
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->gd_spdif_status = spdif_status;
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->gd_resampler_state = 3;	/* magic number - should always be 3 */
+sound/pci/echoaudio/gina20_dsp.c:		chip->clock_state = clock_state;
+sound/pci/echoaudio/gina20_dsp.c:		chip->spdif_status = spdif_status;
+sound/pci/echoaudio/gina20_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/gina20_dsp.c:		chip->clock_state = GD_CLOCK_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:		chip->spdif_status = GD_SPDIF_STATUS_UNDEF;
+sound/pci/echoaudio/gina20_dsp.c:		set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/gina20_dsp.c:		chip->input_clock = clock;
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->gd_clock_state = GD_CLOCK_SPDIFIN;
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->gd_spdif_status = GD_SPDIF_STATUS_NOCHANGE;
+sound/pci/echoaudio/gina20_dsp.c:		chip->clock_state = GD_CLOCK_SPDIFIN;
+sound/pci/echoaudio/gina20_dsp.c:		chip->input_clock = clock;
+sound/pci/echoaudio/gina20_dsp.c:	chip->input_gain[input] = gain;
+sound/pci/echoaudio/gina20_dsp.c:	chip->comm_page->line_in_level[input] = gain;
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/gina20_dsp.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/gina20_dsp.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/gina24_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/gina24_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/gina24_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->device_id == DEVICE_ID_56361) {
+sound/pci/echoaudio/gina24_dsp.c:		chip->dsp_code_to_load = FW_GINA24_361_DSP;
+sound/pci/echoaudio/gina24_dsp.c:		chip->digital_modes =
+sound/pci/echoaudio/gina24_dsp.c:		chip->dsp_code_to_load = FW_GINA24_301_DSP;
+sound/pci/echoaudio/gina24_dsp.c:		chip->digital_modes =
+sound/pci/echoaudio/gina24_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/gina24_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/gina24_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/gina24_dsp.c:	chip->digital_in_automute = true;
+sound/pci/echoaudio/gina24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/gina24_dsp.c:	chip->asic_code = asic;
+sound/pci/echoaudio/gina24_dsp.c:		       chip->digital_mode == DIGITAL_MODE_ADAT))
+sound/pci/echoaudio/gina24_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/gina24_dsp.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/gina24_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/gina24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/gina24_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/gina24_dsp.c:	dev_dbg(chip->card->dev, "set_sample_rate: %d clock %d\n", rate, clock);
+sound/pci/echoaudio/gina24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/gina24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/gina24_dsp.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/gina24_dsp.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/gina24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/gina24_dsp.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/gina24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/gina24_dsp.c:		if (chip->device_id == DEVICE_ID_56301)
+sound/pci/echoaudio/gina24_dsp.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/gina24_dsp.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/gina24_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/gina24_dsp.c:		"set_digital_mode to %d\n", chip->digital_mode);
+sound/pci/echoaudio/indigo_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigo_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigo_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigo_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigo_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_DSP;
+sound/pci/echoaudio/indigo_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigo_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigo_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigo_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigo_dsp.c:	if (control_reg != le32_to_cpu(chip->comm_page->control_register)) {
+sound/pci/echoaudio/indigo_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/indigo_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/indigo_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/indigo_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigo_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigo_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigo_express_dsp.c:	old_control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/indigo_express_dsp.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigo_express_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/indigo_express_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/indigo_express_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigo_express_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigo_express_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigodj_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigodj_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_DJ_DSP;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigodj_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigodj_dsp.c:	if (control_reg != le32_to_cpu(chip->comm_page->control_register)) {
+sound/pci/echoaudio/indigodj_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/indigodj_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/indigodj_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigodj_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigodj_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigodjx_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_DJX_DSP;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigodjx_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigoio_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigoio_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_IO_DSP;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/indigoio_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/indigoio_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/indigoio_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/indigoiox_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->dsp_code_to_load = FW_INDIGO_IOX_DSP;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL;
+sound/pci/echoaudio/indigoiox_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/layla20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/layla20_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/layla20_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/layla20_dsp.c:	chip->has_midi = true;
+sound/pci/echoaudio/layla20_dsp.c:	chip->dsp_code_to_load = FW_LAYLA20_DSP;
+sound/pci/echoaudio/layla20_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/layla20_dsp.c:	chip->output_clock_types =
+sound/pci/echoaudio/layla20_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/layla20_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/layla20_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/layla20_dsp.c:	chip->asic_loaded = false;
+sound/pci/echoaudio/layla20_dsp.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:				chip->asic_loaded = true;
+sound/pci/echoaudio/layla20_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/layla20_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/layla20_dsp.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/layla20_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/layla20_dsp.c:	dev_dbg(chip->card->dev, "set_sample_rate(%d)\n", rate);
+sound/pci/echoaudio/layla20_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/layla20_dsp.c:		rate = chip->sample_rate;
+sound/pci/echoaudio/layla20_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla20_dsp.c:	chip->input_clock = clock_source;
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->input_clock = cpu_to_le16(clock);
+sound/pci/echoaudio/layla20_dsp.c:		dev_err(chip->card->dev, "set_output_clock wrong clock\n");
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->output_clock = cpu_to_le16(clock);
+sound/pci/echoaudio/layla20_dsp.c:	chip->output_clock = clock;
+sound/pci/echoaudio/layla20_dsp.c:	chip->input_gain[input] = gain;
+sound/pci/echoaudio/layla20_dsp.c:	chip->comm_page->line_in_level[input] = gain;
+sound/pci/echoaudio/layla20_dsp.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/layla20_dsp.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/layla20_dsp.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/layla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/layla24_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/layla24_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/layla24_dsp.c:	chip->has_midi = true;
+sound/pci/echoaudio/layla24_dsp.c:	chip->dsp_code_to_load = FW_LAYLA24_DSP;
+sound/pci/echoaudio/layla24_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_modes =
+sound/pci/echoaudio/layla24_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/layla24_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_in_automute = true;
+sound/pci/echoaudio/layla24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/layla24_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/layla24_dsp.c:	chip->asic_code = FW_LAYLA24_2S_ASIC;
+sound/pci/echoaudio/layla24_dsp.c:		       chip->digital_mode == DIGITAL_MODE_ADAT))
+sound/pci/echoaudio/layla24_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/layla24_dsp.c:		dev_warn(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/layla24_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/layla24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/layla24_dsp.c:		chip->comm_page->sample_rate =
+sound/pci/echoaudio/layla24_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP ? */
+sound/pci/echoaudio/layla24_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/layla24_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/layla24_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/layla24_dsp.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/layla24_dsp.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/layla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/layla24_dsp.c:	if (asic != chip->asic_code) {
+sound/pci/echoaudio/layla24_dsp.c:		monitors = kmemdup(chip->comm_page->monitors,
+sound/pci/echoaudio/layla24_dsp.c:		memset(chip->comm_page->monitors, ECHOGAIN_MUTED,
+sound/pci/echoaudio/layla24_dsp.c:			memcpy(chip->comm_page->monitors, monitors,
+sound/pci/echoaudio/layla24_dsp.c:		chip->asic_code = asic;
+sound/pci/echoaudio/layla24_dsp.c:		memcpy(chip->comm_page->monitors, monitors, MONITOR_ARRAY_SIZE);
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/layla24_dsp.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/layla24_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/layla24_dsp.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/layla24_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/layla24_dsp.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/layla24_dsp.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/layla24_dsp.c:	dev_dbg(chip->card->dev, "set_digital_mode to %d\n", mode);
+sound/pci/echoaudio/mia_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mia_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/mia_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/mia_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/mia_dsp.c:	chip->dsp_code_to_load = FW_MIA_DSP;
+sound/pci/echoaudio/mia_dsp.c:	chip->asic_loaded = true;
+sound/pci/echoaudio/mia_dsp.c:		chip->has_midi = true;
+sound/pci/echoaudio/mia_dsp.c:	chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL |
+sound/pci/echoaudio/mia_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/mia_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/mia_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mia_dsp.c:	if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/mia_dsp.c:	if (control_reg != le32_to_cpu(chip->comm_page->control_register)) {
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->control_register = cpu_to_le32(control_reg);
+sound/pci/echoaudio/mia_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/mia_dsp.c:	dev_dbg(chip->card->dev, "set_input_clock(%d)\n", clock);
+sound/pci/echoaudio/mia_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/mia_dsp.c:	return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/mia_dsp.c:	chip->vmixer_gain[output][pipe] = gain;
+sound/pci/echoaudio/mia_dsp.c:	chip->comm_page->vmixer[index] = gain;
+sound/pci/echoaudio/mia_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/mia_dsp.c:	dev_dbg(chip->card->dev, "set_professional_spdif %d\n", prof);
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/mia_dsp.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/mia_dsp.c:	chip->professional_spdif = prof;
+sound/pci/echoaudio/midi.c:	dev_dbg(chip->card->dev, "enable_midi_input(%d)\n", enable);
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_NORMAL;
+sound/pci/echoaudio/midi.c:		chip->comm_page->flags |=
+sound/pci/echoaudio/midi.c:		chip->comm_page->flags &=
+sound/pci/echoaudio/midi.c:	chip->comm_page->midi_output[0] = bytes;
+sound/pci/echoaudio/midi.c:	memcpy(&chip->comm_page->midi_output[1], data, bytes);
+sound/pci/echoaudio/midi.c:	chip->comm_page->midi_out_free_count = 0;
+sound/pci/echoaudio/midi.c:	dev_dbg(chip->card->dev, "write_midi: %d\n", bytes);
+sound/pci/echoaudio/midi.c:	switch (chip->mtc_state) {
+sound/pci/echoaudio/midi.c:			chip->mtc_state = MIDI_IN_STATE_TS_HIGH;
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_TS_LOW;
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_F1_DATA;
+sound/pci/echoaudio/midi.c:		chip->mtc_state = MIDI_IN_STATE_NORMAL;
+sound/pci/echoaudio/midi.c:	count = le16_to_cpu(chip->comm_page->midi_input[0]);
+sound/pci/echoaudio/midi.c:		midi_byte = le16_to_cpu(chip->comm_page->midi_input[i]);
+sound/pci/echoaudio/midi.c:		chip->midi_buffer[received++] = (u8)midi_byte;
+sound/pci/echoaudio/midi.c:	chip->midi_in = substream;
+sound/pci/echoaudio/midi.c:	if (up != chip->midi_input_enabled) {
+sound/pci/echoaudio/midi.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:		chip->midi_input_enabled = up;
+sound/pci/echoaudio/midi.c:	chip->midi_in = NULL;
+sound/pci/echoaudio/midi.c:	chip->tinuse = 0;
+sound/pci/echoaudio/midi.c:	chip->midi_full = 0;
+sound/pci/echoaudio/midi.c:	chip->midi_out = substream;
+sound/pci/echoaudio/midi.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/pci/echoaudio/midi.c:	chip->midi_full = 0;
+sound/pci/echoaudio/midi.c:	if (!snd_rawmidi_transmit_empty(chip->midi_out)) {
+sound/pci/echoaudio/midi.c:		bytes = snd_rawmidi_transmit_peek(chip->midi_out, buf,
+sound/pci/echoaudio/midi.c:		dev_dbg(chip->card->dev, "Try to send %d bytes...\n", bytes);
+sound/pci/echoaudio/midi.c:			dev_err(chip->card->dev,
+sound/pci/echoaudio/midi.c:			chip->midi_full = 1;
+sound/pci/echoaudio/midi.c:			dev_dbg(chip->card->dev, "%d bytes sent\n", sent);
+sound/pci/echoaudio/midi.c:			snd_rawmidi_transmit_ack(chip->midi_out, sent);
+sound/pci/echoaudio/midi.c:			dev_dbg(chip->card->dev, "Full\n");
+sound/pci/echoaudio/midi.c:			chip->midi_full = 1;
+sound/pci/echoaudio/midi.c:	if (!snd_rawmidi_transmit_empty(chip->midi_out) && chip->tinuse) {
+sound/pci/echoaudio/midi.c:		mod_timer(&chip->timer, jiffies + (time * HZ + 999) / 1000);
+sound/pci/echoaudio/midi.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/midi.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/pci/echoaudio/midi.c:	dev_dbg(chip->card->dev, "snd_echo_midi_output_trigger(%d)\n", up);
+sound/pci/echoaudio/midi.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:		if (!chip->tinuse) {
+sound/pci/echoaudio/midi.c:			timer_setup(&chip->timer, snd_echo_midi_output_write,
+sound/pci/echoaudio/midi.c:			chip->tinuse = 1;
+sound/pci/echoaudio/midi.c:		if (chip->tinuse) {
+sound/pci/echoaudio/midi.c:			chip->tinuse = 0;
+sound/pci/echoaudio/midi.c:			spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:			del_timer_sync(&chip->timer);
+sound/pci/echoaudio/midi.c:			dev_dbg(chip->card->dev, "Timer removed\n");
+sound/pci/echoaudio/midi.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/midi.c:	if (up && !chip->midi_full)
+sound/pci/echoaudio/midi.c:		snd_echo_midi_output_write(&chip->timer);
+sound/pci/echoaudio/midi.c:	chip->midi_out = NULL;
+sound/pci/echoaudio/midi.c:				   &chip->rmidi)) < 0)
+sound/pci/echoaudio/midi.c:	strcpy(chip->rmidi->name, card->shortname);
+sound/pci/echoaudio/midi.c:	chip->rmidi->private_data = chip;
+sound/pci/echoaudio/midi.c:	snd_rawmidi_set_ops(chip->rmidi, SNDRV_RAWMIDI_STREAM_INPUT,
+sound/pci/echoaudio/midi.c:	snd_rawmidi_set_ops(chip->rmidi, SNDRV_RAWMIDI_STREAM_OUTPUT,
+sound/pci/echoaudio/midi.c:	chip->rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT |
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	chip->device_id = device_id;
+sound/pci/echoaudio/mona_dsp.c:	chip->subdevice_id = subdevice_id;
+sound/pci/echoaudio/mona_dsp.c:	chip->bad_board = true;
+sound/pci/echoaudio/mona_dsp.c:	chip->input_clock_types =
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_modes =
+sound/pci/echoaudio/mona_dsp.c:	if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:		chip->dsp_code_to_load = FW_MONA_361_DSP;
+sound/pci/echoaudio/mona_dsp.c:		chip->dsp_code_to_load = FW_MONA_301_DSP;
+sound/pci/echoaudio/mona_dsp.c:	chip->bad_board = false;
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
+sound/pci/echoaudio/mona_dsp.c:	chip->professional_spdif = false;
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_in_automute = true;
+sound/pci/echoaudio/mona_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/mona_dsp.c:	if (chip->asic_loaded)
+sound/pci/echoaudio/mona_dsp.c:	if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:	chip->asic_code = asic;
+sound/pci/echoaudio/mona_dsp.c:	if (chip->device_id == DEVICE_ID_56361) {
+sound/pci/echoaudio/mona_dsp.c:	if (asic != chip->asic_code) {
+sound/pci/echoaudio/mona_dsp.c:		chip->asic_code = asic;
+sound/pci/echoaudio/mona_dsp.c:	if (chip->input_clock != ECHO_CLOCK_INTERNAL) {
+sound/pci/echoaudio/mona_dsp.c:		dev_dbg(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:		chip->comm_page->sample_rate = cpu_to_le32(rate);
+sound/pci/echoaudio/mona_dsp.c:		chip->sample_rate = rate;
+sound/pci/echoaudio/mona_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:		if (chip->device_id == DEVICE_ID_56361)
+sound/pci/echoaudio/mona_dsp.c:	if (asic != chip->asic_code) {
+sound/pci/echoaudio/mona_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		chip->asic_code = asic;
+sound/pci/echoaudio/mona_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	chip->comm_page->sample_rate = cpu_to_le32(rate);	/* ignored by the DSP */
+sound/pci/echoaudio/mona_dsp.c:	chip->sample_rate = rate;
+sound/pci/echoaudio/mona_dsp.c:	dev_dbg(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	if (atomic_read(&chip->opencount))
+sound/pci/echoaudio/mona_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register) &
+sound/pci/echoaudio/mona_dsp.c:	clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks);
+sound/pci/echoaudio/mona_dsp.c:		chip->input_clock = ECHO_CLOCK_INTERNAL;
+sound/pci/echoaudio/mona_dsp.c:		return set_sample_rate(chip, chip->sample_rate);
+sound/pci/echoaudio/mona_dsp.c:		if (chip->digital_mode == DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		dev_dbg(chip->card->dev, "Set Mona clock to ADAT\n");
+sound/pci/echoaudio/mona_dsp.c:		if (chip->digital_mode != DIGITAL_MODE_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	chip->input_clock = clock;
+sound/pci/echoaudio/mona_dsp.c:		if (chip->input_clock == ECHO_CLOCK_ADAT)
+sound/pci/echoaudio/mona_dsp.c:		if (chip->input_clock == ECHO_CLOCK_SPDIF)
+sound/pci/echoaudio/mona_dsp.c:		dev_err(chip->card->dev,
+sound/pci/echoaudio/mona_dsp.c:	spin_lock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:		chip->sample_rate = 48000;
+sound/pci/echoaudio/mona_dsp.c:	control_reg = le32_to_cpu(chip->comm_page->control_register);
+sound/pci/echoaudio/mona_dsp.c:		if (chip->asic_code == FW_MONA_361_1_ASIC96 ||
+sound/pci/echoaudio/mona_dsp.c:		    chip->asic_code == FW_MONA_301_1_ASIC96) {
+sound/pci/echoaudio/mona_dsp.c:	spin_unlock_irq(&chip->lock);
+sound/pci/echoaudio/mona_dsp.c:	chip->digital_mode = mode;
+sound/pci/echoaudio/mona_dsp.c:	dev_dbg(chip->card->dev, "set_digital_mode to %d\n", mode);
+sound/pci/emu10k1/emu10k1x.c:// definition of the chip-specific record
+sound/pci/emu10k1/emu10k1x.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/emu10k1/emu10k1x.c:	return snd_ac97_mixer(pbus, &ac97, &chip->ac97);
+sound/pci/emu10k1/emu10k1x.c:	outl(0, chip->port + INTE);
+sound/pci/emu10k1/emu10k1x.c:	outl(HCFG_LOCKSOUNDCACHE, chip->port + HCFG);
+sound/pci/emu10k1/emu10k1x.c:	if (chip->irq >= 0)
+sound/pci/emu10k1/emu10k1x.c:		free_irq(chip->irq, chip);
+sound/pci/emu10k1/emu10k1x.c:	release_and_free_resource(chip->res_port);
+sound/pci/emu10k1/emu10k1x.c:	if (chip->dma_buffer.area) {
+sound/pci/emu10k1/emu10k1x.c:		snd_dma_free_pages(&chip->dma_buffer);
+sound/pci/emu10k1/emu10k1x.c:	pci_disable_device(chip->pci);
+sound/pci/emu10k1/emu10k1x.c:	struct emu10k1x_voice *pvoice = chip->voices;
+sound/pci/emu10k1/emu10k1x.c:	status = inl(chip->port + IPR);
+sound/pci/emu10k1/emu10k1x.c:		struct emu10k1x_voice *cap_voice = &chip->capture_voice;
+sound/pci/emu10k1/emu10k1x.c:		if (chip->midi.interrupt)
+sound/pci/emu10k1/emu10k1x.c:			chip->midi.interrupt(chip, status);
+sound/pci/emu10k1/emu10k1x.c:	outl(status, chip->port + IPR);
+sound/pci/emu10k1/emu10k1x.c:	/* dev_dbg(chip->card->dev, "interrupt %08x\n", status); */
+sound/pci/emu10k1/emu10k1x.c:	chip->card = card;
+sound/pci/emu10k1/emu10k1x.c:	chip->pci = pci;
+sound/pci/emu10k1/emu10k1x.c:	chip->irq = -1;
+sound/pci/emu10k1/emu10k1x.c:	spin_lock_init(&chip->emu_lock);
+sound/pci/emu10k1/emu10k1x.c:	spin_lock_init(&chip->voice_lock);
+sound/pci/emu10k1/emu10k1x.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/emu10k1/emu10k1x.c:	if ((chip->res_port = request_region(chip->port, 8,
+sound/pci/emu10k1/emu10k1x.c:			chip->port);
+sound/pci/emu10k1/emu10k1x.c:	chip->irq = pci->irq;
+sound/pci/emu10k1/emu10k1x.c:				4 * 1024, &chip->dma_buffer) < 0) {
+sound/pci/emu10k1/emu10k1x.c:	chip->revision = pci->revision;
+sound/pci/emu10k1/emu10k1x.c:	pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial);
+sound/pci/emu10k1/emu10k1x.c:	pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model);
+sound/pci/emu10k1/emu10k1x.c:	dev_info(card->dev, "Model %04x Rev %08x Serial %08x\n", chip->model,
+sound/pci/emu10k1/emu10k1x.c:		   chip->revision, chip->serial);
+sound/pci/emu10k1/emu10k1x.c:	outl(0, chip->port + INTE);	
+sound/pci/emu10k1/emu10k1x.c:		chip->voices[ch].emu = chip;
+sound/pci/emu10k1/emu10k1x.c:		chip->voices[ch].number = ch;
+sound/pci/emu10k1/emu10k1x.c:			       chip->spdif_bits[0] = 
+sound/pci/emu10k1/emu10k1x.c:			       chip->spdif_bits[1] = 
+sound/pci/emu10k1/emu10k1x.c:			       chip->spdif_bits[2] = 
+sound/pci/emu10k1/emu10k1x.c:	outl(HCFG_LOCKSOUNDCACHE|HCFG_AUDIOENABLE, chip->port+HCFG);
+sound/pci/emu10k1/emu10k1x.c:		card->shortname, chip->port, chip->irq);
+sound/pci/emu10k1/p16v.c:	if (chip->p16v_buffer.area) {
+sound/pci/emu10k1/p16v.c:		snd_dma_free_pages(&chip->p16v_buffer);
+sound/pci/emu10k1/p16v.c:		dev_dbg(chip->card->dev, "period lables free: %p\n",
+sound/pci/emu10k1/p16v.c:			   &chip->p16v_buffer);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Mixer reg %02x set to %02x\n", reg, val);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Mixer reg %02x now is %02x\n", reg, data);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->mixer_lock, flags);
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->mixer_lock, flags);
+sound/pci/es1938.c:	dev_err(chip->card->dev,
+sound/pci/es1938.c:	dev_err(chip->card->dev, "get_byte timeout: status 0x02%x\n", v);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Reg %02x set to %02x\n", reg, val);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1938.c:	dev_dbg(chip->card->dev, "Reg %02x now is %02x\n", reg, val);
+sound/pci/es1938.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1938.c:		dev_dbg(chip->card->dev, "Reg %02x was %02x, set to %02x\n",
+sound/pci/es1938.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1938.c:	dev_err(chip->card->dev, "ESS Solo-1 reset failed\n");
+sound/pci/es1938.c:	outl(chip->dma2_start, SLIO_REG(chip, AUDIO2DMAADDR));
+sound/pci/es1938.c:	outw(chip->dma2_size, SLIO_REG(chip, AUDIO2DMACOUNT));
+sound/pci/es1938.c:	outl(chip->dma1_start, SLDM_REG(chip, DMAADDR));
+sound/pci/es1938.c:	outw(chip->dma1_size - 1, SLDM_REG(chip, DMACOUNT));
+sound/pci/es1938.c:	outl(chip->dma1_start, SLDM_REG(chip, DMAADDR));
+sound/pci/es1938.c:	chip->last_capture_dmaaddr = chip->dma1_start;
+sound/pci/es1938.c:	outw(chip->dma1_size - 1, SLDM_REG(chip, DMACOUNT));
+sound/pci/es1938.c:		chip->active |= ADC1;
+sound/pci/es1938.c:		chip->active &= ~ADC1;
+sound/pci/es1938.c:		chip->active |= DAC2;
+sound/pci/es1938.c:		chip->active &= ~DAC2;
+sound/pci/es1938.c:		chip->active |= DAC1;
+sound/pci/es1938.c:		chip->active &= ~DAC1;
+sound/pci/es1938.c:	chip->dma1_size = size;
+sound/pci/es1938.c:	chip->dma1_start = runtime->dma_addr;
+sound/pci/es1938.c:	chip->dma1_shift = 2 - mono - is8;
+sound/pci/es1938.c:	chip->dma2_size = size;
+sound/pci/es1938.c:	chip->dma2_start = runtime->dma_addr;
+sound/pci/es1938.c:	chip->dma2_shift = 2 - mono - is8;
+sound/pci/es1938.c:	chip->dma1_size = size;
+sound/pci/es1938.c:	chip->dma1_start = runtime->dma_addr;
+sound/pci/es1938.c:	chip->dma1_shift = 2 - mono - is8;
+sound/pci/es1938.c:	ptr = chip->dma1_size - 1 - new;
+sound/pci/es1938.c:	diff = chip->dma1_start + chip->dma1_size - ptr - count;
+sound/pci/es1938.c:	if (diff > 3 || ptr < chip->dma1_start
+sound/pci/es1938.c:	      || ptr >= chip->dma1_start+chip->dma1_size)
+sound/pci/es1938.c:	  ptr = chip->last_capture_dmaaddr;            /* bad, use last saved */
+sound/pci/es1938.c:	  chip->last_capture_dmaaddr = ptr;            /* good, remember it */
+sound/pci/es1938.c:	ptr -= chip->dma1_start;
+sound/pci/es1938.c:	return ptr >> chip->dma1_shift;
+sound/pci/es1938.c:	ptr = chip->dma2_size - inw(SLIO_REG(chip, AUDIO2DMACOUNT));
+sound/pci/es1938.c:	ptr = inl(SLIO_REG(chip, AUDIO2DMAADDR)) - chip->dma2_start;
+sound/pci/es1938.c:	return ptr >> chip->dma2_shift;
+sound/pci/es1938.c:	ptr = chip->dma1_size - 1 - new;
+sound/pci/es1938.c:	ptr = inl(SLDM_REG(chip, DMAADDR)) - chip->dma1_start;
+sound/pci/es1938.c:	return ptr >> chip->dma1_shift;
+sound/pci/es1938.c:	if (snd_BUG_ON(pos + count > chip->dma1_size))
+sound/pci/es1938.c:	if (pos + count < chip->dma1_size) {
+sound/pci/es1938.c:	if (snd_BUG_ON(pos + count > chip->dma1_size))
+sound/pci/es1938.c:	if (pos + count < chip->dma1_size) {
+sound/pci/es1938.c:	if (chip->playback2_substream)
+sound/pci/es1938.c:	chip->capture_substream = substream;
+sound/pci/es1938.c:		chip->playback1_substream = substream;
+sound/pci/es1938.c:		if (chip->capture_substream)
+sound/pci/es1938.c:		chip->playback2_substream = substream;
+sound/pci/es1938.c:	chip->capture_substream = NULL;
+sound/pci/es1938.c:		chip->playback1_substream = NULL;
+sound/pci/es1938.c:		chip->playback2_substream = NULL;
+sound/pci/es1938.c:	if ((err = snd_pcm_new(chip->card, "es-1938-1946", device, 2, 1, &pcm)) < 0)
+sound/pci/es1938.c:					      &chip->pci->dev,
+sound/pci/es1938.c:	chip->pcm = pcm;
+sound/pci/es1938.c:	chip->master_volume = NULL;
+sound/pci/es1938.c:	chip->master_switch = NULL;
+sound/pci/es1938.c:	chip->hw_volume = NULL;
+sound/pci/es1938.c:	chip->hw_switch = NULL;
+sound/pci/es1938.c:	pci_set_master(chip->pci);
+sound/pci/es1938.c:	pci_write_config_word(chip->pci, SL_PCI_LEGACYCONTROL, 0x805f);
+sound/pci/es1938.c:	pci_write_config_word(chip->pci, SL_PCI_DDMACONTROL, chip->ddma_port | 1);
+sound/pci/es1938.c:	pci_write_config_dword(chip->pci, SL_PCI_CONFIG, 0);
+sound/pci/es1938.c:	for (s = saved_regs, d = chip->saved_regs; *s; s++, d++)
+sound/pci/es1938.c:	if (chip->irq >= 0) {
+sound/pci/es1938.c:		free_irq(chip->irq, chip);
+sound/pci/es1938.c:		chip->irq = -1;
+sound/pci/es1938.c:	chip->irq = pci->irq;
+sound/pci/es1938.c:	for (s = saved_regs, d = chip->saved_regs; *s; s++, d++) {
+sound/pci/es1938.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/es1938.c:		dev_err(chip->card->dev,
+sound/pci/es1938.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/es1938.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/es1938.c:	gp->io = chip->game_port;
+sound/pci/es1938.c:	if (chip->gameport) {
+sound/pci/es1938.c:		gameport_unregister_port(chip->gameport);
+sound/pci/es1938.c:		chip->gameport = NULL;
+sound/pci/es1938.c:	if (chip->rmidi)
+sound/pci/es1938.c:	if (chip->irq >= 0)
+sound/pci/es1938.c:		free_irq(chip->irq, chip);
+sound/pci/es1938.c:	pci_release_regions(chip->pci);
+sound/pci/es1938.c:	pci_disable_device(chip->pci);
+sound/pci/es1938.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/es1938.c:	spin_lock_init(&chip->mixer_lock);
+sound/pci/es1938.c:	chip->card = card;
+sound/pci/es1938.c:	chip->pci = pci;
+sound/pci/es1938.c:	chip->irq = -1;
+sound/pci/es1938.c:	chip->io_port = pci_resource_start(pci, 0);
+sound/pci/es1938.c:	chip->sb_port = pci_resource_start(pci, 1);
+sound/pci/es1938.c:	chip->vc_port = pci_resource_start(pci, 2);
+sound/pci/es1938.c:	chip->mpu_port = pci_resource_start(pci, 3);
+sound/pci/es1938.c:	chip->game_port = pci_resource_start(pci, 4);
+sound/pci/es1938.c:	chip->irq = pci->irq;
+sound/pci/es1938.c:		   chip->io_port, chip->sb_port, chip->vc_port, chip->mpu_port, chip->game_port);
+sound/pci/es1938.c:	chip->ddma_port = chip->vc_port + 0x00;		/* fix from Thomas Sailer */
+sound/pci/es1938.c:	dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		if (chip->active & ADC1)
+sound/pci/es1938.c:			snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/es1938.c:		else if (chip->active & DAC1)
+sound/pci/es1938.c:			snd_pcm_period_elapsed(chip->playback2_substream);
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		dev_dbg(chip->card->dev,
+sound/pci/es1938.c:		if (chip->active & DAC2)
+sound/pci/es1938.c:			snd_pcm_period_elapsed(chip->playback1_substream);
+sound/pci/es1938.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->hw_switch->id);
+sound/pci/es1938.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->hw_volume->id);
+sound/pci/es1938.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/es1938.c:				       &chip->master_switch->id);
+sound/pci/es1938.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/es1938.c:				       &chip->master_volume->id);
+sound/pci/es1938.c:		if (chip->rmidi) {
+sound/pci/es1938.c:			snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/es1938.c:	card = chip->card;
+sound/pci/es1938.c:				chip->master_volume = kctl;
+sound/pci/es1938.c:				chip->master_switch = kctl;
+sound/pci/es1938.c:				chip->hw_volume = kctl;
+sound/pci/es1938.c:				chip->hw_switch = kctl;
+sound/pci/es1938.c:		chip->revision,
+sound/pci/es1938.c:		chip->irq);
+sound/pci/es1938.c:				chip->mpu_port,
+sound/pci/es1938.c:				-1, &chip->rmidi) < 0) {
+sound/pci/es1968.c:	outw(reg, chip->io_port + ESM_INDEX);
+sound/pci/es1968.c:	outw(data, chip->io_port + ESM_DATA);
+sound/pci/es1968.c:	chip->maestro_map[reg] = data;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:		outw(reg, chip->io_port + ESM_INDEX);
+sound/pci/es1968.c:		chip->maestro_map[reg] = inw(chip->io_port + ESM_DATA);
+sound/pci/es1968.c:	return chip->maestro_map[reg];
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:		if (!(inb(chip->io_port + ESM_AC97_INDEX) & 1))
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "ac97 timeout\n");
+sound/pci/es1968.c:		if (!(inb(chip->io_port + ESM_AC97_INDEX) & 1))
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "ac97 timeout\n");
+sound/pci/es1968.c:	outw(val, chip->io_port + ESM_AC97_DATA);
+sound/pci/es1968.c:	outb(reg, chip->io_port + ESM_AC97_INDEX);
+sound/pci/es1968.c:	outb(reg | 0x80, chip->io_port + ESM_AC97_INDEX);
+sound/pci/es1968.c:		data = inw(chip->io_port + ESM_AC97_DATA);
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "APU register select failed. (Timeout)\n");
+sound/pci/es1968.c:	dev_dbg(chip->card->dev, "APU register set probably failed (Timeout)!\n");
+sound/pci/es1968.c:	chip->apu_map[channel][reg] = data;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outl(reg, chip->io_port + ASSP_INDEX);
+sound/pci/es1968.c:	outl(value, chip->io_port + ASSP_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outl(reg, chip->io_port + ASSP_INDEX);
+sound/pci/es1968.c:	value = inl(chip->io_port + ASSP_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(reg, chip->io_port + WC_INDEX);
+sound/pci/es1968.c:	outw(value, chip->io_port + WC_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(reg, chip->io_port + WC_INDEX);
+sound/pci/es1968.c:	value = inw(chip->io_port + WC_DATA);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:		if (chip->bob_freq > (ESS_SYSCLK >> (prescale + 9)))
+sound/pci/es1968.c:		if (chip->bob_freq >
+sound/pci/es1968.c:	chip->bobclient++;
+sound/pci/es1968.c:	if (chip->bobclient == 1) {
+sound/pci/es1968.c:		chip->bob_freq = freq;
+sound/pci/es1968.c:	} else if (chip->bob_freq < freq) {
+sound/pci/es1968.c:		chip->bob_freq = freq;
+sound/pci/es1968.c:	chip->bobclient--;
+sound/pci/es1968.c:	if (chip->bobclient <= 0)
+sound/pci/es1968.c:	else if (chip->bob_freq > ESM_BOB_FREQ) {
+sound/pci/es1968.c:		list_for_each_entry(es, &chip->substream_list, list) {
+sound/pci/es1968.c:		if (max_freq != chip->bob_freq) {
+sound/pci/es1968.c:			chip->bob_freq = max_freq;
+sound/pci/es1968.c:	u32 rate = (freq << 16) / chip->clock;
+sound/pci/es1968.c:	spin_lock(&chip->reg_lock);
+sound/pci/es1968.c:	spin_unlock(&chip->reg_lock);
+sound/pci/es1968.c:	spin_lock(&chip->reg_lock);
+sound/pci/es1968.c:	spin_unlock(&chip->reg_lock);
+sound/pci/es1968.c:		pa -= chip->dma.addr;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(1, chip->io_port + 0x04);
+sound/pci/es1968.c:	outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	pa -= chip->dma.addr;
+sound/pci/es1968.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/es1968.c:	outw(1, chip->io_port + 0x04);
+sound/pci/es1968.c:	outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/es1968.c:	spin_lock(&chip->substream_lock);
+sound/pci/es1968.c:	spin_unlock(&chip->substream_lock);
+sound/pci/es1968.c:	mutex_lock(&chip->memory_mutex);
+sound/pci/es1968.c:	list_for_each_entry(buf, &chip->buf_list, list) {
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	mutex_lock(&chip->memory_mutex);
+sound/pci/es1968.c:	list_for_each_entry(buf, &chip->buf_list, list) {
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:			mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	mutex_lock(&chip->memory_mutex);
+sound/pci/es1968.c:	if (buf->list.prev != &chip->buf_list) {
+sound/pci/es1968.c:	if (buf->list.next != &chip->buf_list) {
+sound/pci/es1968.c:	mutex_unlock(&chip->memory_mutex);
+sound/pci/es1968.c:	if (! chip->dma.area)
+sound/pci/es1968.c:	snd_dma_free_pages(&chip->dma);
+sound/pci/es1968.c:	while ((p = chip->buf_list.next) != &chip->buf_list) {
+sound/pci/es1968.c:					   &chip->pci->dev,
+sound/pci/es1968.c:					   chip->total_bufsize, &chip->dma);
+sound/pci/es1968.c:	if (err < 0 || ! chip->dma.area) {
+sound/pci/es1968.c:		dev_err(chip->card->dev,
+sound/pci/es1968.c:			   chip->total_bufsize);
+sound/pci/es1968.c:	if ((chip->dma.addr + chip->dma.bytes - 1) & ~((1 << 28) - 1)) {
+sound/pci/es1968.c:		snd_dma_free_pages(&chip->dma);
+sound/pci/es1968.c:		dev_err(chip->card->dev, "DMA buffer beyond 256MB.\n");
+sound/pci/es1968.c:	INIT_LIST_HEAD(&chip->buf_list);
+sound/pci/es1968.c:	memset(chip->dma.area, 0, ESM_MEM_ALIGN);
+sound/pci/es1968.c:	chunk->buf = chip->dma;
+sound/pci/es1968.c:	list_add(&chunk->list, &chip->buf_list);
+sound/pci/es1968.c:		dev_dbg(chip->card->dev,
+sound/pci/es1968.c:		if (chip->apu[apu] == ESM_APU_FREE &&
+sound/pci/es1968.c:		    chip->apu[apu + 1] == ESM_APU_FREE) {
+sound/pci/es1968.c:			chip->apu[apu] = chip->apu[apu + 1] = type;
+sound/pci/es1968.c:	chip->apu[apu] = chip->apu[apu + 1] = ESM_APU_FREE;
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	list_add(&es->list, &chip->substream_list);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	list_add(&es->list, &chip->substream_list);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->substream_lock);
+sound/pci/es1968.c:	if (chip->clock == 0)
+sound/pci/es1968.c:		chip->clock = 48000; /* default clock value */
+sound/pci/es1968.c:		dev_err(chip->card->dev, "Hmm, cannot find empty APU pair!?\n");
+sound/pci/es1968.c:		dev_warn(chip->card->dev,
+sound/pci/es1968.c:			 chip->clock);
+sound/pci/es1968.c:	pa = (unsigned int)((memory->buf.addr - chip->dma.addr) >> 1);
+sound/pci/es1968.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	outw(1, chip->io_port + 0x04); /* clear WP interrupts */
+sound/pci/es1968.c:	outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ); /* enable WP ints */
+sound/pci/es1968.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	snd_es1968_apu_set_freq(chip, apu, ((unsigned int)48000 << 16) / chip->clock); /* 48000 Hz */
+sound/pci/es1968.c:	chip->in_measurement = 1;
+sound/pci/es1968.c:	chip->measure_apu = apu;
+sound/pci/es1968.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	chip->in_measurement = 0;
+sound/pci/es1968.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/es1968.c:	offset += chip->measure_count * (CLOCK_MEASURE_BUFSIZE/2);
+sound/pci/es1968.c:		dev_err(chip->card->dev, "?? calculation error..\n");
+sound/pci/es1968.c:				chip->clock = (chip->clock * offset) / 48000;
+sound/pci/es1968.c:		dev_info(chip->card->dev, "clocking to %d\n", chip->clock);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FC, chip->dma.addr >> 12);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FD, chip->dma.addr >> 12);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FE, chip->dma.addr >> 12);
+sound/pci/es1968.c:	wave_set_register(chip, 0x01FF, chip->dma.addr >> 12);
+sound/pci/es1968.c:	if ((err = snd_pcm_new(chip->card, "ESS Maestro", device,
+sound/pci/es1968.c:			       chip->playback_streams,
+sound/pci/es1968.c:			       chip->capture_streams, &pcm)) < 0)
+sound/pci/es1968.c:	chip->pcm = pcm;
+sound/pci/es1968.c:		spin_unlock(&chip->substream_lock);
+sound/pci/es1968.c:		spin_lock(&chip->substream_lock);
+sound/pci/es1968.c:	x = inb(chip->io_port + 0x1c) & 0xee;
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1c);
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1d);
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1e);
+sound/pci/es1968.c:	outb(0x88, chip->io_port + 0x1f);
+sound/pci/es1968.c:	if (chip->in_suspend)
+sound/pci/es1968.c:	if (! chip->master_switch || ! chip->master_volume)
+sound/pci/es1968.c:	val = snd_ac97_read(chip->ac97, AC97_MASTER);
+sound/pci/es1968.c:	if (snd_ac97_update(chip->ac97, AC97_MASTER, val))
+sound/pci/es1968.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/es1968.c:			       &chip->master_volume->id);
+sound/pci/es1968.c:	if (!chip->input_dev)
+sound/pci/es1968.c:		input_report_key(chip->input_dev, val, 1);
+sound/pci/es1968.c:		input_sync(chip->input_dev);
+sound/pci/es1968.c:		input_report_key(chip->input_dev, val, 0);
+sound/pci/es1968.c:		input_sync(chip->input_dev);
+sound/pci/es1968.c:	if (!(event = inb(chip->io_port + 0x1A)))
+sound/pci/es1968.c:	outw(inw(chip->io_port + 4) & 1, chip->io_port + 4);
+sound/pci/es1968.c:		schedule_work(&chip->hwvol_work);
+sound/pci/es1968.c:	outb(0xFF, chip->io_port + 0x1A);
+sound/pci/es1968.c:	if ((event & ESM_MPU401_IRQ) && chip->rmidi) {
+sound/pci/es1968.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/es1968.c:		spin_lock(&chip->substream_lock);
+sound/pci/es1968.c:		list_for_each_entry(es, &chip->substream_list, list) {
+sound/pci/es1968.c:		spin_unlock(&chip->substream_lock);
+sound/pci/es1968.c:		if (chip->in_measurement) {
+sound/pci/es1968.c:			unsigned int curp = __apu_get_register(chip, chip->measure_apu, 5);
+sound/pci/es1968.c:			if (curp < chip->measure_lastpos)
+sound/pci/es1968.c:				chip->measure_count++;
+sound/pci/es1968.c:			chip->measure_lastpos = curp;
+sound/pci/es1968.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/es1968.c:	if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97)) < 0)
+sound/pci/es1968.c:	chip->master_switch = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/es1968.c:	chip->master_volume = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/es1968.c:	unsigned long ioaddr = chip->io_port;
+sound/pci/es1968.c:	pci_read_config_word(chip->pci, 0x58, &w);	/* something magical with gpio and bus arb. */
+sound/pci/es1968.c:	pci_read_config_dword(chip->pci, PCI_SUBSYSTEM_VENDOR_ID, &vend);
+sound/pci/es1968.c:	dev_info(chip->card->dev, "trying software reset\n");
+sound/pci/es1968.c:	     chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	outw(0x0000, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	struct pci_dev *pci = chip->pci;
+sound/pci/es1968.c:	unsigned long iobase  = chip->io_port;
+sound/pci/es1968.c:	if (chip->rmidi)
+sound/pci/es1968.c:	outb(w, chip->io_port + 0x1A);
+sound/pci/es1968.c:	outw(w, chip->io_port + ESM_PORT_HOST_IRQ);
+sound/pci/es1968.c:	if (! chip->do_pm)
+sound/pci/es1968.c:	chip->in_suspend = 1;
+sound/pci/es1968.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/es1968.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/es1968.c:	if (! chip->do_pm)
+sound/pci/es1968.c:	if (chip->dma.addr) {
+sound/pci/es1968.c:		wave_set_register(chip, 0x01FC, chip->dma.addr >> 12);
+sound/pci/es1968.c:	snd_ac97_resume(chip->ac97);
+sound/pci/es1968.c:	list_for_each_entry(es, &chip->substream_list, list) {
+sound/pci/es1968.c:	if (chip->bobclient)
+sound/pci/es1968.c:	chip->in_suspend = 0;
+sound/pci/es1968.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/es1968.c:		dev_err(chip->card->dev,
+sound/pci/es1968.c:	pci_read_config_word(chip->pci, ESM_LEGACY_AUDIO_CONTROL, &val);
+sound/pci/es1968.c:	pci_write_config_word(chip->pci, ESM_LEGACY_AUDIO_CONTROL, val | 0x04);
+sound/pci/es1968.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/es1968.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/es1968.c:	if (chip->gameport) {
+sound/pci/es1968.c:		struct resource *r = gameport_get_port_data(chip->gameport);
+sound/pci/es1968.c:		gameport_unregister_port(chip->gameport);
+sound/pci/es1968.c:		chip->gameport = NULL;
+sound/pci/es1968.c:	snprintf(chip->phys, sizeof(chip->phys), "pci-%s/input0",
+sound/pci/es1968.c:		 pci_name(chip->pci));
+sound/pci/es1968.c:	input_dev->name = chip->card->driver;
+sound/pci/es1968.c:	input_dev->phys = chip->phys;
+sound/pci/es1968.c:	input_dev->id.vendor  = chip->pci->vendor;
+sound/pci/es1968.c:	input_dev->id.product = chip->pci->device;
+sound/pci/es1968.c:	input_dev->dev.parent = &chip->pci->dev;
+sound/pci/es1968.c:	chip->input_dev = input_dev;
+sound/pci/es1968.c:	outw(val, chip->io_port + GPIO_DATA);
+sound/pci/es1968.c:	u16 val = inw(chip->io_port + GPIO_DATA);
+sound/pci/es1968.c:	unsigned long io = chip->io_port + GPIO_DATA;
+sound/pci/es1968.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/es1968.c:	if (chip->input_dev)
+sound/pci/es1968.c:		input_unregister_device(chip->input_dev);
+sound/pci/es1968.c:	if (chip->io_port) {
+sound/pci/es1968.c:		if (chip->irq >= 0)
+sound/pci/es1968.c:			synchronize_irq(chip->irq);
+sound/pci/es1968.c:		outw(1, chip->io_port + 0x04); /* clear WP interrupts */
+sound/pci/es1968.c:		outw(0, chip->io_port + ESM_PORT_HOST_IRQ); /* disable IRQ */
+sound/pci/es1968.c:	snd_tea575x_exit(&chip->tea);
+sound/pci/es1968.c:	v4l2_device_unregister(&chip->v4l2_dev);
+sound/pci/es1968.c:	if (chip->irq >= 0)
+sound/pci/es1968.c:		free_irq(chip->irq, chip);
+sound/pci/es1968.c:	pci_release_regions(chip->pci);
+sound/pci/es1968.c:	pci_disable_device(chip->pci);
+sound/pci/es1968.c:	chip->type = chip_type;
+sound/pci/es1968.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/es1968.c:	spin_lock_init(&chip->substream_lock);
+sound/pci/es1968.c:	INIT_LIST_HEAD(&chip->buf_list);
+sound/pci/es1968.c:	INIT_LIST_HEAD(&chip->substream_list);
+sound/pci/es1968.c:	mutex_init(&chip->memory_mutex);
+sound/pci/es1968.c:	INIT_WORK(&chip->hwvol_work, es1968_update_hw_volume);
+sound/pci/es1968.c:	chip->card = card;
+sound/pci/es1968.c:	chip->pci = pci;
+sound/pci/es1968.c:	chip->irq = -1;
+sound/pci/es1968.c:	chip->total_bufsize = total_bufsize;	/* in bytes */
+sound/pci/es1968.c:	chip->playback_streams = play_streams;
+sound/pci/es1968.c:	chip->capture_streams = capt_streams;
+sound/pci/es1968.c:	chip->io_port = pci_resource_start(pci, 0);
+sound/pci/es1968.c:	chip->irq = pci->irq;
+sound/pci/es1968.c:		chip->maestro_map[i] = 0;
+sound/pci/es1968.c:		chip->apu[i] = ESM_APU_FREE;
+sound/pci/es1968.c:		pci_read_config_word(chip->pci, PCI_SUBSYSTEM_VENDOR_ID, &vend);
+sound/pci/es1968.c:			if (chip->type == pm_whitelist[i].type &&
+sound/pci/es1968.c:	chip->do_pm = do_pm;
+sound/pci/es1968.c:	if (chip->pci->subsystem_vendor != 0x125d)
+sound/pci/es1968.c:	err = v4l2_device_register(&pci->dev, &chip->v4l2_dev);
+sound/pci/es1968.c:	chip->tea.v4l2_dev = &chip->v4l2_dev;
+sound/pci/es1968.c:	chip->tea.private_data = chip;
+sound/pci/es1968.c:	chip->tea.radio_nr = radio_nr;
+sound/pci/es1968.c:	chip->tea.ops = &snd_es1968_tea_ops;
+sound/pci/es1968.c:	sprintf(chip->tea.bus_info, "PCI:%s", pci_name(pci));
+sound/pci/es1968.c:		chip->tea575x_tuner = i;
+sound/pci/es1968.c:		if (!snd_tea575x_init(&chip->tea, THIS_MODULE)) {
+sound/pci/es1968.c:			strlcpy(chip->tea.card, get_tea575x_gpio(chip)->name,
+sound/pci/es1968.c:				sizeof(chip->tea.card));
+sound/pci/es1968.c:	switch (chip->type) {
+sound/pci/es1968.c:		pci_read_config_word(chip->pci, PCI_SUBSYSTEM_VENDOR_ID, &vend);
+sound/pci/es1968.c:			if (chip->type == mpu_blacklist[i].type &&
+sound/pci/es1968.c:					       chip->io_port + ESM_MPU401_PORT,
+sound/pci/es1968.c:					       -1, &chip->rmidi)) < 0) {
+sound/pci/es1968.c:	chip->clock = clock[dev];
+sound/pci/es1968.c:	if (! chip->clock)
+sound/pci/es1968.c:		card->shortname, chip->io_port, chip->irq);
+sound/pci/fm801.c:#define fm801_writew(chip,reg,value)	outw((value), chip->port + FM801_##reg)
+sound/pci/fm801.c:#define fm801_readw(chip,reg)		inw(chip->port + FM801_##reg)
+sound/pci/fm801.c:#define fm801_writel(chip,reg,value)	outl((value), chip->port + FM801_##reg)
+sound/pci/fm801.c:	outw(value, chip->port + offset);
+sound/pci/fm801.c:	return inw(chip->port + offset);
+sound/pci/fm801.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/fm801.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface is busy (1)\n");
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface #%d is busy (2)\n",
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface is busy (1)\n");
+sound/pci/fm801.c:		dev_err(chip->card->dev, "AC'97 interface #%d is busy (2)\n",
+sound/pci/fm801.c:		dev_err(chip->card->dev,
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->ply_ctrl &= ~(FM801_BUF1_LAST |
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_START |
+sound/pci/fm801.c:		chip->ply_ctrl &= ~(FM801_START | FM801_PAUSE);
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_PAUSE;
+sound/pci/fm801.c:		chip->ply_ctrl &= ~FM801_PAUSE;
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	fm801_writew(chip, PLY_CTRL, chip->ply_ctrl);
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->cap_ctrl &= ~(FM801_BUF1_LAST |
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_START |
+sound/pci/fm801.c:		chip->cap_ctrl &= ~(FM801_START | FM801_PAUSE);
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_PAUSE;
+sound/pci/fm801.c:		chip->cap_ctrl &= ~FM801_PAUSE;
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	fm801_writew(chip, CAP_CTRL, chip->cap_ctrl);
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	chip->ply_size = snd_pcm_lib_buffer_bytes(substream);
+sound/pci/fm801.c:	chip->ply_count = snd_pcm_lib_period_bytes(substream);
+sound/pci/fm801.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->ply_ctrl &= ~(FM801_START | FM801_16BIT |
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_16BIT;
+sound/pci/fm801.c:		chip->ply_ctrl |= FM801_STEREO;
+sound/pci/fm801.c:			chip->ply_ctrl |= FM801_CHANNELS_4;
+sound/pci/fm801.c:			chip->ply_ctrl |= FM801_CHANNELS_6;
+sound/pci/fm801.c:	chip->ply_ctrl |= snd_fm801_rate_bits(runtime->rate) << FM801_RATE_SHIFT;
+sound/pci/fm801.c:	chip->ply_buf = 0;
+sound/pci/fm801.c:	fm801_writew(chip, PLY_CTRL, chip->ply_ctrl);
+sound/pci/fm801.c:	fm801_writew(chip, PLY_COUNT, chip->ply_count - 1);
+sound/pci/fm801.c:	chip->ply_buffer = runtime->dma_addr;
+sound/pci/fm801.c:	chip->ply_pos = 0;
+sound/pci/fm801.c:	fm801_writel(chip, PLY_BUF1, chip->ply_buffer);
+sound/pci/fm801.c:		     chip->ply_buffer + (chip->ply_count % chip->ply_size));
+sound/pci/fm801.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->cap_size = snd_pcm_lib_buffer_bytes(substream);
+sound/pci/fm801.c:	chip->cap_count = snd_pcm_lib_period_bytes(substream);
+sound/pci/fm801.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->cap_ctrl &= ~(FM801_START | FM801_16BIT |
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_16BIT;
+sound/pci/fm801.c:		chip->cap_ctrl |= FM801_STEREO;
+sound/pci/fm801.c:	chip->cap_ctrl |= snd_fm801_rate_bits(runtime->rate) << FM801_RATE_SHIFT;
+sound/pci/fm801.c:	chip->cap_buf = 0;
+sound/pci/fm801.c:	fm801_writew(chip, CAP_CTRL, chip->cap_ctrl);
+sound/pci/fm801.c:	fm801_writew(chip, CAP_COUNT, chip->cap_count - 1);
+sound/pci/fm801.c:	chip->cap_buffer = runtime->dma_addr;
+sound/pci/fm801.c:	chip->cap_pos = 0;
+sound/pci/fm801.c:	fm801_writel(chip, CAP_BUF1, chip->cap_buffer);
+sound/pci/fm801.c:		     chip->cap_buffer + (chip->cap_count % chip->cap_size));
+sound/pci/fm801.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	if (!(chip->ply_ctrl & FM801_START))
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:	ptr = chip->ply_pos + (chip->ply_count - 1) - fm801_readw(chip, PLY_COUNT);
+sound/pci/fm801.c:		ptr += chip->ply_count;
+sound/pci/fm801.c:		ptr %= chip->ply_size;
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	if (!(chip->cap_ctrl & FM801_START))
+sound/pci/fm801.c:	spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:	ptr = chip->cap_pos + (chip->cap_count - 1) - fm801_readw(chip, CAP_COUNT);
+sound/pci/fm801.c:		ptr += chip->cap_count;
+sound/pci/fm801.c:		ptr %= chip->cap_size;
+sound/pci/fm801.c:	spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:	if (chip->pcm && (status & FM801_IRQ_PLAYBACK) && chip->playback_substream) {
+sound/pci/fm801.c:		spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->ply_buf++;
+sound/pci/fm801.c:		chip->ply_pos += chip->ply_count;
+sound/pci/fm801.c:		chip->ply_pos %= chip->ply_size;
+sound/pci/fm801.c:		tmp = chip->ply_pos + chip->ply_count;
+sound/pci/fm801.c:		tmp %= chip->ply_size;
+sound/pci/fm801.c:		if (chip->ply_buf & 1)
+sound/pci/fm801.c:			fm801_writel(chip, PLY_BUF1, chip->ply_buffer + tmp);
+sound/pci/fm801.c:			fm801_writel(chip, PLY_BUF2, chip->ply_buffer + tmp);
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/pci/fm801.c:	if (chip->pcm && (status & FM801_IRQ_CAPTURE) && chip->capture_substream) {
+sound/pci/fm801.c:		spin_lock(&chip->reg_lock);
+sound/pci/fm801.c:		chip->cap_buf++;
+sound/pci/fm801.c:		chip->cap_pos += chip->cap_count;
+sound/pci/fm801.c:		chip->cap_pos %= chip->cap_size;
+sound/pci/fm801.c:		tmp = chip->cap_pos + chip->cap_count;
+sound/pci/fm801.c:		tmp %= chip->cap_size;
+sound/pci/fm801.c:		if (chip->cap_buf & 1)
+sound/pci/fm801.c:			fm801_writel(chip, CAP_BUF1, chip->cap_buffer + tmp);
+sound/pci/fm801.c:			fm801_writel(chip, CAP_BUF2, chip->cap_buffer + tmp);
+sound/pci/fm801.c:		spin_unlock(&chip->reg_lock);
+sound/pci/fm801.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/pci/fm801.c:	if (chip->rmidi && (status & FM801_IRQ_MPU))
+sound/pci/fm801.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/fm801.c:	chip->playback_substream = substream;
+sound/pci/fm801.c:	if (chip->multichannel) {
+sound/pci/fm801.c:	chip->capture_substream = substream;
+sound/pci/fm801.c:	chip->playback_substream = NULL;
+sound/pci/fm801.c:	chip->capture_substream = NULL;
+sound/pci/fm801.c:	struct pci_dev *pdev = to_pci_dev(chip->dev);
+sound/pci/fm801.c:	if ((err = snd_pcm_new(chip->card, "FM801", device, 1, 1, &pcm)) < 0)
+sound/pci/fm801.c:	chip->pcm = pcm;
+sound/pci/fm801.c:					      chip->multichannel ? 128*1024 : 64*1024, 128*1024);
+sound/pci/fm801.c:				     chip->multichannel ? 6 : 2, 0,
+sound/pci/fm801.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/fm801.c:	chip->ac97_bus = NULL;
+sound/pci/fm801.c:		chip->ac97 = NULL;
+sound/pci/fm801.c:		chip->ac97_sec = NULL;
+sound/pci/fm801.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/fm801.c:	chip->ac97_bus->private_free = snd_fm801_mixer_free_ac97_bus;
+sound/pci/fm801.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/fm801.c:	if (chip->secondary) {
+sound/pci/fm801.c:		ac97.addr = chip->secondary_addr;
+sound/pci/fm801.c:		if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_sec)) < 0)
+sound/pci/fm801.c:		err = snd_ctl_add(chip->card,
+sound/pci/fm801.c:	if (chip->multichannel) {
+sound/pci/fm801.c:			err = snd_ctl_add(chip->card,
+sound/pci/fm801.c:	if (chip->multichannel) {
+sound/pci/fm801.c:		if (chip->secondary_addr) {
+sound/pci/fm801.c:			wait_for_codec(chip, chip->secondary_addr,
+sound/pci/fm801.c:						chip->secondary = 1;
+sound/pci/fm801.c:						chip->secondary_addr = i;
+sound/pci/fm801.c:	if (chip->irq < 0)
+sound/pci/fm801.c:	if (chip->irq < 0)
+sound/pci/fm801.c:	devm_free_irq(chip->dev, chip->irq, chip);
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
+sound/pci/fm801.c:		snd_tea575x_exit(&chip->tea);
+sound/pci/fm801.c:		v4l2_device_unregister(&chip->v4l2_dev);
+sound/pci/fm801.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/fm801.c:	chip->card = card;
+sound/pci/fm801.c:	chip->dev = &pci->dev;
+sound/pci/fm801.c:	chip->irq = -1;
+sound/pci/fm801.c:	chip->tea575x_tuner = tea575x_tuner;
+sound/pci/fm801.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/fm801.c:		chip->multichannel = 1;
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_ONLY)) {
+sound/pci/fm801.c:			dev_info(chip->card->dev,
+sound/pci/fm801.c:			chip->tea575x_tuner = 3 | TUNER_ONLY;
+sound/pci/fm801.c:	if ((chip->tea575x_tuner & TUNER_ONLY) == 0) {
+sound/pci/fm801.c:		chip->irq = pci->irq;
+sound/pci/fm801.c:	err = v4l2_device_register(&pci->dev, &chip->v4l2_dev);
+sound/pci/fm801.c:	chip->tea.v4l2_dev = &chip->v4l2_dev;
+sound/pci/fm801.c:	chip->tea.radio_nr = radio_nr;
+sound/pci/fm801.c:	chip->tea.private_data = chip;
+sound/pci/fm801.c:	chip->tea.ops = &snd_fm801_tea_ops;
+sound/pci/fm801.c:	sprintf(chip->tea.bus_info, "PCI:%s", pci_name(pci));
+sound/pci/fm801.c:	if ((chip->tea575x_tuner & TUNER_TYPE_MASK) > 0 &&
+sound/pci/fm801.c:	    (chip->tea575x_tuner & TUNER_TYPE_MASK) < 4) {
+sound/pci/fm801.c:		if (snd_tea575x_init(&chip->tea, THIS_MODULE)) {
+sound/pci/fm801.c:	} else if ((chip->tea575x_tuner & TUNER_TYPE_MASK) == 0) {
+sound/pci/fm801.c:		unsigned int tuner_only = chip->tea575x_tuner & TUNER_ONLY;
+sound/pci/fm801.c:			chip->tea575x_tuner = tea575x_tuner;
+sound/pci/fm801.c:			if (!snd_tea575x_init(&chip->tea, THIS_MODULE)) {
+sound/pci/fm801.c:			chip->tea575x_tuner = TUNER_DISABLED;
+sound/pci/fm801.c:		chip->tea575x_tuner |= tuner_only;
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
+sound/pci/fm801.c:		strlcpy(chip->tea.card, get_tea575x_gpio(chip)->name,
+sound/pci/fm801.c:			sizeof(chip->tea.card));
+sound/pci/fm801.c:	strcat(card->shortname, chip->multichannel ? "AU" : "AS");
+sound/pci/fm801.c:		card->shortname, chip->port, chip->irq);
+sound/pci/fm801.c:	if (chip->tea575x_tuner & TUNER_ONLY)
+sound/pci/fm801.c:				       chip->port + FM801_MPU401_DATA,
+sound/pci/fm801.c:				       -1, &chip->rmidi)) < 0) {
+sound/pci/fm801.c:	if ((err = snd_opl3_create(card, chip->port + FM801_OPL3_BANK0,
+sound/pci/fm801.c:				   chip->port + FM801_OPL3_BANK1,
+sound/pci/fm801.c:		chip->saved_regs[i] = fm801_ioread16(chip, saved_regs[i]);
+sound/pci/fm801.c:	if (chip->tea575x_tuner & TUNER_ONLY) {
+sound/pci/fm801.c:		snd_ac97_suspend(chip->ac97);
+sound/pci/fm801.c:		snd_ac97_suspend(chip->ac97_sec);
+sound/pci/fm801.c:	if (chip->tea575x_tuner & TUNER_ONLY) {
+sound/pci/fm801.c:		snd_ac97_resume(chip->ac97);
+sound/pci/fm801.c:		snd_ac97_resume(chip->ac97_sec);
+sound/pci/fm801.c:		fm801_iowrite16(chip, saved_regs[i], chip->saved_regs[i]);
+sound/pci/fm801.c:	if (!(chip->tea575x_tuner & TUNER_DISABLED))
+sound/pci/fm801.c:		snd_tea575x_set_freq(&chip->tea);
+sound/pci/hda/hda_controller.c:	mutex_lock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_controller.c:	if ((chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND) &&
+sound/pci/hda/hda_controller.c:	    stream_tag > chip->capture_streams)
+sound/pci/hda/hda_controller.c:		stream_tag -= chip->capture_streams;
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_OLD_SSYNC)
+sound/pci/hda/hda_controller.c:	if (chip->get_position[stream])
+sound/pci/hda/hda_controller.c:		pos = chip->get_position[stream](chip, azx_dev);
+sound/pci/hda/hda_controller.c:		if (chip->get_delay[stream])
+sound/pci/hda/hda_controller.c:			delay += chip->get_delay[stream](chip, azx_dev, pos);
+sound/pci/hda/hda_controller.c:			dev_err(chip->card->dev, "GTSCC capture Timedout!\n");
+sound/pci/hda/hda_controller.c:		dev_err_ratelimited(chip->card->dev,
+sound/pci/hda/hda_controller.c:	mutex_lock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	if (chip->gts_present)
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND)
+sound/pci/hda/hda_controller.c:	if (chip->align_buffer_size)
+sound/pci/hda/hda_controller.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/hda/hda_controller.c:	if (chip->ops->pcm_mmap_prepare)
+sound/pci/hda/hda_controller.c:		chip->ops->pcm_mmap_prepare(substream, area);
+sound/pci/hda/hda_controller.c:	list_for_each_entry(apcm, &chip->pcm_list, list) {
+sound/pci/hda/hda_controller.c:			dev_err(chip->card->dev, "PCM %d already exists\n",
+sound/pci/hda/hda_controller.c:	err = snd_pcm_new(chip->card, cpcm->name, pcm_dev,
+sound/pci/hda/hda_controller.c:		snd_device_free(chip->card, pcm);
+sound/pci/hda/hda_controller.c:	list_add_tail(&apcm->list, &chip->pcm_list);
+sound/pci/hda/hda_controller.c:	if (chip->uc_buffer)
+sound/pci/hda/hda_controller.c:					      chip->card->dev,
+sound/pci/hda/hda_controller.c:	struct hda_bus *hbus = &chip->bus;
+sound/pci/hda/hda_controller.c:				dev_dbg_ratelimited(chip->card->dev,
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev,
+sound/pci/hda/hda_controller.c:		dev_warn(chip->card->dev,
+sound/pci/hda/hda_controller.c:	if (chip->msi) {
+sound/pci/hda/hda_controller.c:		dev_warn(chip->card->dev,
+sound/pci/hda/hda_controller.c:		if (chip->ops->disable_msi_reset_irq &&
+sound/pci/hda/hda_controller.c:		    chip->ops->disable_msi_reset_irq(chip) < 0)
+sound/pci/hda/hda_controller.c:	if (chip->probing) {
+sound/pci/hda/hda_controller.c:	if (!chip->fallback_to_single_cmd)
+sound/pci/hda/hda_controller.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_controller.c:	dev_err(chip->card->dev,
+sound/pci/hda/hda_controller.c:	chip->single_cmd = 1;
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev, "get_response timeout: IRS=0x%x\n",
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev,
+sound/pci/hda/hda_controller.c: * current setting of chip->single_cmd.
+sound/pci/hda/hda_controller.c:	if (chip->disabled)
+sound/pci/hda/hda_controller.c:	if (chip->single_cmd)
+sound/pci/hda/hda_controller.c:	if (chip->disabled)
+sound/pci/hda/hda_controller.c:	if (chip->single_cmd)
+sound/pci/hda/hda_controller.c:		if (s->index == chip->playback_index_offset)
+sound/pci/hda/hda_controller.c:		chip->saved_azx_dev = *azx_dev;
+sound/pci/hda/hda_controller.c:			*azx_dev = chip->saved_azx_dev;
+sound/pci/hda/hda_controller.c:		*azx_dev = chip->saved_azx_dev;
+sound/pci/hda/hda_controller.c:		if (chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND)
+sound/pci/hda/hda_controller.c:	if (!chip->ops->position_check ||
+sound/pci/hda/hda_controller.c:	    chip->ops->position_check(chip, azx_dev)) {
+sound/pci/hda/hda_controller.c:		if (!pm_runtime_active(chip->card->dev))
+sound/pci/hda/hda_controller.c:	if (chip->disabled)
+sound/pci/hda/hda_controller.c:				if (chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND)
+sound/pci/hda/hda_controller.c:	chip->probing = 1;
+sound/pci/hda/hda_controller.c:	chip->probing = 0;
+sound/pci/hda/hda_controller.c:	dev_dbg(chip->card->dev, "codec #%d probed OK\n", addr);
+sound/pci/hda/hda_controller.c:	struct hda_bus *bus = &chip->bus;
+sound/pci/hda/hda_controller.c:	err = snd_hdac_bus_init(&bus->core, chip->card->dev, &bus_core_ops);
+sound/pci/hda/hda_controller.c:	bus->card = chip->card;
+sound/pci/hda/hda_controller.c:	bus->pci = chip->pci;
+sound/pci/hda/hda_controller.c:	if (chip->get_position[0] != azx_get_pos_lpib ||
+sound/pci/hda/hda_controller.c:	    chip->get_position[1] != azx_get_pos_lpib)
+sound/pci/hda/hda_controller.c:	bus->core.bdl_pos_adj = chip->bdl_pos_adj;
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_CORBRP_SELF_CLEAR)
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_4K_BDLE_BOUNDARY)
+sound/pci/hda/hda_controller.c:	if (chip->driver_caps & AZX_DCAPS_SYNC_WRITE) {
+sound/pci/hda/hda_controller.c:		dev_dbg(chip->card->dev, "Enable sync_write for stable communication\n");
+sound/pci/hda/hda_controller.c:		if ((bus->codec_mask & (1 << c)) & chip->codec_probe_mask) {
+sound/pci/hda/hda_controller.c:				dev_warn(chip->card->dev,
+sound/pci/hda/hda_controller.c:		if ((bus->codec_mask & (1 << c)) & chip->codec_probe_mask) {
+sound/pci/hda/hda_controller.c:			err = snd_hda_codec_new(&chip->bus, chip->card, c, &codec);
+sound/pci/hda/hda_controller.c:			codec->jackpoll_interval = chip->jackpoll_interval;
+sound/pci/hda/hda_controller.c:			codec->beep_mode = chip->beep_mode;
+sound/pci/hda/hda_controller.c:		dev_err(chip->card->dev, "no codecs initialized\n");
+sound/pci/hda/hda_controller.c:	list_for_each_codec_safe(codec, next, &chip->bus) {
+sound/pci/hda/hda_controller.c:	if (index >= chip->capture_index_offset &&
+sound/pci/hda/hda_controller.c:	    index < chip->capture_index_offset + chip->capture_streams)
+sound/pci/hda/hda_controller.c:	for (i = 0; i < chip->num_streams; i++) {
+sound/pci/hda/hda_controller.c:		if (chip->driver_caps & AZX_DCAPS_SEPARATE_STREAM_TAG)
+sound/pci/hda/hda_controller.h:	return !IS_ENABLED(CONFIG_X86) || chip->snoop;
+sound/pci/hda/hda_intel.c:	if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Clearing TCSEL\n");
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci, AZX_PCIREG_TCSEL, 0x07, 0);
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Setting ATI snoop: %d\n",
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Setting Nvidia snoop: %d\n",
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		update_pci_byte(chip->pci,
+sound/pci/hda/hda_intel.c:		pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
+sound/pci/hda/hda_intel.c:			pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC, snoop);
+sound/pci/hda/hda_intel.c:			pci_read_config_word(chip->pci,
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "SCH snoop: %s\n",
+sound/pci/hda/hda_intel.c:	dev_warn(chip->card->dev, "set audio clock frequency to 6MHz");
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL) {
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL) {
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:		chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY;
+sound/pci/hda/hda_intel.c:		chip->get_delay[stream] = NULL;
+sound/pci/hda/hda_intel.c:	if (chip->get_position[stream])
+sound/pci/hda/hda_intel.c:		pos = chip->get_position[stream](chip, azx_dev);
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:			chip->get_position[stream] = azx_get_pos_lpib;
+sound/pci/hda/hda_intel.c:			if (chip->get_position[0] == azx_get_pos_lpib &&
+sound/pci/hda/hda_intel.c:			    chip->get_position[1] == azx_get_pos_lpib)
+sound/pci/hda/hda_intel.c:			chip->get_delay[stream] = NULL;
+sound/pci/hda/hda_intel.c:			chip->get_position[stream] = azx_get_pos_posbuf;
+sound/pci/hda/hda_intel.c:			if (chip->driver_caps & AZX_DCAPS_COUNT_LPIB_DELAY)
+sound/pci/hda/hda_intel.c:				chip->get_delay[stream] = azx_get_delay_from_lpib;
+sound/pci/hda/hda_intel.c:		return chip->bdl_pos_adj ? 0 : -1;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:			 chip->card->number);
+sound/pci/hda/hda_intel.c:	if (request_irq(chip->pci->irq, azx_interrupt,
+sound/pci/hda/hda_intel.c:			chip->msi ? 0 : IRQF_SHARED,
+sound/pci/hda/hda_intel.c:			chip->card->irq_descr, chip)) {
+sound/pci/hda/hda_intel.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_intel.c:			chip->pci->irq);
+sound/pci/hda/hda_intel.c:			snd_card_disconnect(chip->card);
+sound/pci/hda/hda_intel.c:	bus->irq = chip->pci->irq;
+sound/pci/hda/hda_intel.c:	pci_intx(chip->pci, !chip->msi);
+sound/pci/hda/hda_intel.c:		if (!hda->probe_continued || chip->disabled)
+sound/pci/hda/hda_intel.c:		snd_hda_set_power_save(&chip->bus, power_save * 1000);
+sound/pci/hda/hda_intel.c:	if (chip->disabled || hda->init_failed || !chip->running)
+sound/pci/hda/hda_intel.c:		list_for_each_codec(codec, &chip->bus)
+sound/pci/hda/hda_intel.c:	if (chip->msi)
+sound/pci/hda/hda_intel.c:		pci_disable_msi(chip->pci);
+sound/pci/hda/hda_intel.c:	if (chip->msi)
+sound/pci/hda/hda_intel.c:		if (pci_enable_msi(chip->pci) < 0)
+sound/pci/hda/hda_intel.c:			chip->msi = 0;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL)
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL)
+sound/pci/hda/hda_intel.c:	if (chip->disabled || hda->init_failed)
+sound/pci/hda/hda_intel.c:	    azx_bus(chip)->codec_powered || !chip->running)
+sound/pci/hda/hda_intel.c:	if (chip->disabled == disabled)
+sound/pci/hda/hda_intel.c:		chip->disabled = disabled;
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:				dev_err(chip->card->dev, "initialization error\n");
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "%s via vga_switcheroo\n",
+sound/pci/hda/hda_intel.c:			list_for_each_codec(codec, &chip->bus) {
+sound/pci/hda/hda_intel.c:			chip->disabled = true;
+sound/pci/hda/hda_intel.c:			if (snd_hda_lock_devices(&chip->bus))
+sound/pci/hda/hda_intel.c:				dev_warn(chip->card->dev,
+sound/pci/hda/hda_intel.c:			snd_hda_unlock_devices(&chip->bus);
+sound/pci/hda/hda_intel.c:			chip->disabled = false;
+sound/pci/hda/hda_intel.c:			list_for_each_codec(codec, &chip->bus) {
+sound/pci/hda/hda_intel.c:	if (chip->disabled || !hda->probe_continued)
+sound/pci/hda/hda_intel.c:	if (snd_hda_lock_devices(&chip->bus))
+sound/pci/hda/hda_intel.c:	snd_hda_unlock_devices(&chip->bus);
+sound/pci/hda/hda_intel.c:		list_for_each_codec(codec, &chip->bus)
+sound/pci/hda/hda_intel.c:		if (chip->running)
+sound/pci/hda/hda_intel.c:		chip->bus.keep_power = 0;
+sound/pci/hda/hda_intel.c:	struct pci_dev *p = get_bound_vga(chip->pci);
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:		chip->bus.keep_power = parent ? !pci_pr3_present(parent) : 1;
+sound/pci/hda/hda_intel.c:		chip->driver_caps |= AZX_DCAPS_PM_RUNTIME;
+sound/pci/hda/hda_intel.c:	p = get_bound_vga(chip->pci);
+sound/pci/hda/hda_intel.c:	err = vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, p);
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	if (azx_has_pm_runtime(chip) && chip->running)
+sound/pci/hda/hda_intel.c:	chip->running = 0;
+sound/pci/hda/hda_intel.c:		if (chip->disabled && hda->probe_continued)
+sound/pci/hda/hda_intel.c:			snd_hda_unlock_devices(&chip->bus);
+sound/pci/hda/hda_intel.c:			vga_switcheroo_unregister_client(chip->pci);
+sound/pci/hda/hda_intel.c:	if (chip->msi)
+sound/pci/hda/hda_intel.c:		pci_disable_msi(chip->pci);
+sound/pci/hda/hda_intel.c:	if (chip->region_requested)
+sound/pci/hda/hda_intel.c:		pci_release_regions(chip->pci);
+sound/pci/hda/hda_intel.c:	pci_disable_device(chip->pci);
+sound/pci/hda/hda_intel.c:	release_firmware(chip->fw);
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT)
+sound/pci/hda/hda_intel.c:	chip->bus.shutdown = 1;
+sound/pci/hda/hda_intel.c:	q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_VIA) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using VIACOMBO position fix\n");
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using FIFO position fix\n");
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_POSFIX_LPIB) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using LPIB position fix\n");
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Using SKL position fix\n");
+sound/pci/hda/hda_intel.c:	chip->get_position[0] = chip->get_position[1] = callbacks[fix];
+sound/pci/hda/hda_intel.c:		chip->get_position[1] = NULL;
+sound/pci/hda/hda_intel.c:	    (chip->driver_caps & AZX_DCAPS_COUNT_LPIB_DELAY)) {
+sound/pci/hda/hda_intel.c:		chip->get_delay[0] = chip->get_delay[1] =
+sound/pci/hda/hda_intel.c:		chip->get_delay[0] = chip->get_delay[1] =
+sound/pci/hda/hda_intel.c:	chip->codec_probe_mask = probe_mask[dev];
+sound/pci/hda/hda_intel.c:	if (chip->codec_probe_mask == -1) {
+sound/pci/hda/hda_intel.c:		q = snd_pci_quirk_lookup(chip->pci, probe_mask_list);
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:			chip->codec_probe_mask = q->value;
+sound/pci/hda/hda_intel.c:	if (chip->codec_probe_mask != -1 &&
+sound/pci/hda/hda_intel.c:	    (chip->codec_probe_mask & AZX_FORCE_CODEC_MASK)) {
+sound/pci/hda/hda_intel.c:		azx_bus(chip)->codec_mask = chip->codec_probe_mask & 0xff;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "codec_mask forced to 0x%x\n",
+sound/pci/hda/hda_intel.c:		chip->msi = !!enable_msi;
+sound/pci/hda/hda_intel.c:	chip->msi = 1;	/* enable MSI as default */
+sound/pci/hda/hda_intel.c:	q = snd_pci_quirk_lookup(chip->pci, msi_black_list);
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev,
+sound/pci/hda/hda_intel.c:		chip->msi = q->value;
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_NO_MSI) {
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "Disabling MSI\n");
+sound/pci/hda/hda_intel.c:		chip->msi = 0;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "Force to %s mode by module option\n",
+sound/pci/hda/hda_intel.c:		chip->snoop = snoop;
+sound/pci/hda/hda_intel.c:		chip->uc_buffer = !snoop;
+sound/pci/hda/hda_intel.c:	    chip->driver_type == AZX_DRIVER_VIA) {
+sound/pci/hda/hda_intel.c:		pci_read_config_byte(chip->pci, 0x42, &val);
+sound/pci/hda/hda_intel.c:		if (!(val & 0x80) && (chip->pci->revision == 0x30 ||
+sound/pci/hda/hda_intel.c:				      chip->pci->revision == 0x20))
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_SNOOP_OFF)
+sound/pci/hda/hda_intel.c:	chip->snoop = snoop;
+sound/pci/hda/hda_intel.c:		dev_info(chip->card->dev, "Force to non-snoop mode\n");
+sound/pci/hda/hda_intel.c:		if (chip->driver_type != AZX_DRIVER_CMEDIA)
+sound/pci/hda/hda_intel.c:			chip->uc_buffer = true;
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_INTEL) {
+sound/pci/hda/hda_intel.c:		switch (chip->pci->device) {
+sound/pci/hda/hda_intel.c:	switch (chip->driver_type) {
+sound/pci/hda/hda_intel.c:	mutex_init(&chip->open_mutex);
+sound/pci/hda/hda_intel.c:	chip->card = card;
+sound/pci/hda/hda_intel.c:	chip->pci = pci;
+sound/pci/hda/hda_intel.c:	chip->ops = &pci_hda_ops;
+sound/pci/hda/hda_intel.c:	chip->driver_caps = driver_caps;
+sound/pci/hda/hda_intel.c:	chip->driver_type = driver_caps & 0xff;
+sound/pci/hda/hda_intel.c:	chip->dev_index = dev;
+sound/pci/hda/hda_intel.c:		chip->jackpoll_interval = msecs_to_jiffies(jackpoll_ms[dev]);
+sound/pci/hda/hda_intel.c:	INIT_LIST_HEAD(&chip->pcm_list);
+sound/pci/hda/hda_intel.c:		chip->fallback_to_single_cmd = 1;
+sound/pci/hda/hda_intel.c:		chip->single_cmd = single_cmd;
+sound/pci/hda/hda_intel.c:		chip->bdl_pos_adj = default_bdl_pos_adj(chip);
+sound/pci/hda/hda_intel.c:		chip->bdl_pos_adj = bdl_pos_adj[dev];
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_NVIDIA) {
+sound/pci/hda/hda_intel.c:		dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n");
+sound/pci/hda/hda_intel.c:		chip->bus.needs_damn_long_delay = 1;
+sound/pci/hda/hda_intel.c:	int dev = chip->dev_index;
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	struct snd_card *card = chip->card;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_ULI) {
+sound/pci/hda/hda_intel.c:	chip->region_requested = 1;
+sound/pci/hda/hda_intel.c:	if (chip->driver_type == AZX_DRIVER_SKL)
+sound/pci/hda/hda_intel.c:	chip->gts_present = false;
+sound/pci/hda/hda_intel.c:		chip->gts_present = true;
+sound/pci/hda/hda_intel.c:	if (chip->msi) {
+sound/pci/hda/hda_intel.c:		if (chip->driver_caps & AZX_DCAPS_NO_MSI64) {
+sound/pci/hda/hda_intel.c:			chip->msi = 0;
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_AMD)
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_ATI) {
+sound/pci/hda/hda_intel.c:	if (chip->pci->vendor == PCI_VENDOR_ID_NVIDIA)
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_NO_64BIT) {
+sound/pci/hda/hda_intel.c:		chip->align_buffer_size = !!align_buffer_size;
+sound/pci/hda/hda_intel.c:		if (chip->driver_caps & AZX_DCAPS_NO_ALIGN_BUFSIZE)
+sound/pci/hda/hda_intel.c:			chip->align_buffer_size = 0;
+sound/pci/hda/hda_intel.c:			chip->align_buffer_size = 1;
+sound/pci/hda/hda_intel.c:	chip->capture_streams = (gcap >> 8) & 0x0f;
+sound/pci/hda/hda_intel.c:	chip->playback_streams = (gcap >> 12) & 0x0f;
+sound/pci/hda/hda_intel.c:	if (!chip->playback_streams && !chip->capture_streams) {
+sound/pci/hda/hda_intel.c:		switch (chip->driver_type) {
+sound/pci/hda/hda_intel.c:			chip->playback_streams = ULI_NUM_PLAYBACK;
+sound/pci/hda/hda_intel.c:			chip->capture_streams = ULI_NUM_CAPTURE;
+sound/pci/hda/hda_intel.c:			chip->playback_streams = ATIHDMI_NUM_PLAYBACK;
+sound/pci/hda/hda_intel.c:			chip->capture_streams = ATIHDMI_NUM_CAPTURE;
+sound/pci/hda/hda_intel.c:			chip->playback_streams = ICH6_NUM_PLAYBACK;
+sound/pci/hda/hda_intel.c:			chip->capture_streams = ICH6_NUM_CAPTURE;
+sound/pci/hda/hda_intel.c:	chip->capture_index_offset = 0;
+sound/pci/hda/hda_intel.c:	chip->playback_index_offset = chip->capture_streams;
+sound/pci/hda/hda_intel.c:	chip->num_streams = chip->playback_streams + chip->capture_streams;
+sound/pci/hda/hda_intel.c:	if (chip->num_streams > 15 &&
+sound/pci/hda/hda_intel.c:	    (chip->driver_caps & AZX_DCAPS_SEPARATE_STREAM_TAG) == 0) {
+sound/pci/hda/hda_intel.c:		dev_warn(chip->card->dev, "number of I/O streams is %d, "
+sound/pci/hda/hda_intel.c:			 "forcing separate stream tags", chip->num_streams);
+sound/pci/hda/hda_intel.c:		chip->driver_caps |= AZX_DCAPS_SEPARATE_STREAM_TAG;
+sound/pci/hda/hda_intel.c:	strlcpy(card->shortname, driver_short_names[chip->driver_type],
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	chip->fw = fw;
+sound/pci/hda/hda_intel.c:	if (!chip->disabled) {
+sound/pci/hda/hda_intel.c:	pci_disable_msi(chip->pci);
+sound/pci/hda/hda_intel.c:	chip->msi = 0;
+sound/pci/hda/hda_intel.c:	if (chip->uc_buffer)
+sound/pci/hda/hda_intel.c:		chip->disabled = true;
+sound/pci/hda/hda_intel.c:	schedule_probe = !chip->disabled;
+sound/pci/hda/hda_intel.c:	if (chip->disabled)
+sound/pci/hda/hda_intel.c:		q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
+sound/pci/hda/hda_intel.c:			dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
+sound/pci/hda/hda_intel.c:	snd_hda_set_power_save(&chip->bus, val * 1000);
+sound/pci/hda/hda_intel.c:	struct pci_dev *pci = chip->pci;
+sound/pci/hda/hda_intel.c:	int dev = chip->dev_index;
+sound/pci/hda/hda_intel.c:	if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT) {
+sound/pci/hda/hda_intel.c:				dev_err(chip->card->dev,
+sound/pci/hda/hda_intel.c:				chip->driver_caps &= ~AZX_DCAPS_I915_COMPONENT;
+sound/pci/hda/hda_intel.c:	chip->beep_mode = beep_mode[dev];
+sound/pci/hda/hda_intel.c:	err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]);
+sound/pci/hda/hda_intel.c:	if (chip->fw) {
+sound/pci/hda/hda_intel.c:		err = snd_hda_load_patch(&chip->bus, chip->fw->size,
+sound/pci/hda/hda_intel.c:					 chip->fw->data);
+sound/pci/hda/hda_intel.c:		release_firmware(chip->fw); /* no longer needed */
+sound/pci/hda/hda_intel.c:		chip->fw = NULL;
+sound/pci/hda/hda_intel.c:	err = snd_card_register(chip->card);
+sound/pci/hda/hda_intel.c:	chip->running = 1;
+sound/pci/hda/hda_intel.c:	if (chip && chip->running)
+sound/pci/hda/hda_tegra.c:	if (chip && chip->running) {
+sound/pci/hda/hda_tegra.c:	if (chip && chip->running) {
+sound/pci/hda/hda_tegra.c:	chip->bus.shutdown = 1;
+sound/pci/hda/hda_tegra.c:	struct snd_card *card = chip->card;
+sound/pci/hda/hda_tegra.c:	err = devm_request_irq(chip->card->dev, irq_id, azx_interrupt,
+sound/pci/hda/hda_tegra.c:		dev_err(chip->card->dev,
+sound/pci/hda/hda_tegra.c:	chip->capture_streams = (gcap >> 8) & 0x0f;
+sound/pci/hda/hda_tegra.c:	chip->playback_streams = (gcap >> 12) & 0x0f;
+sound/pci/hda/hda_tegra.c:	if (!chip->playback_streams && !chip->capture_streams) {
+sound/pci/hda/hda_tegra.c:		chip->playback_streams = NUM_PLAYBACK_SD;
+sound/pci/hda/hda_tegra.c:		chip->capture_streams = NUM_CAPTURE_SD;
+sound/pci/hda/hda_tegra.c:	chip->capture_index_offset = 0;
+sound/pci/hda/hda_tegra.c:	chip->playback_index_offset = chip->capture_streams;
+sound/pci/hda/hda_tegra.c:	chip->num_streams = chip->playback_streams + chip->capture_streams;
+sound/pci/hda/hda_tegra.c:	mutex_init(&chip->open_mutex);
+sound/pci/hda/hda_tegra.c:	chip->card = card;
+sound/pci/hda/hda_tegra.c:	chip->ops = &hda_tegra_ops;
+sound/pci/hda/hda_tegra.c:	chip->driver_caps = driver_caps;
+sound/pci/hda/hda_tegra.c:	chip->driver_type = driver_caps & 0xff;
+sound/pci/hda/hda_tegra.c:	chip->dev_index = 0;
+sound/pci/hda/hda_tegra.c:	INIT_LIST_HEAD(&chip->pcm_list);
+sound/pci/hda/hda_tegra.c:	chip->codec_probe_mask = -1;
+sound/pci/hda/hda_tegra.c:	chip->single_cmd = false;
+sound/pci/hda/hda_tegra.c:	chip->snoop = true;
+sound/pci/hda/hda_tegra.c:	chip->bus.needs_damn_long_delay = 1;
+sound/pci/hda/hda_tegra.c:	err = snd_card_register(chip->card);
+sound/pci/hda/hda_tegra.c:	chip->running = 1;
+sound/pci/hda/hda_tegra.c:	snd_hda_set_power_save(&chip->bus, power_save * 1000);
+sound/pci/hda/hda_tegra.c:	if (chip && chip->running)
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		changed |= wm8776_write_bits(chip->ice, wm, vol->regs[ch],
+sound/pci/ice1712/maya44.c:			wm8776_write_bits(chip->ice, wm, WM8776_REG_ADC_MUX,
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:		&chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	changed = wm8776_write_bits(chip->ice, wm,
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	val = (snd_ice1712_gpio_read(chip->ice) >> shift) & 1;
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	changed = maya_set_gpio_bits(chip->ice, mask, val);
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	wm8776_write_bits(chip->ice, &chip->wm[idx], WM8776_REG_ADC_MUX,
+sound/pci/ice1712/maya44.c:	if (snd_ice1712_gpio_read(chip->ice) & (1 << GPIO_MIC_RELAY))
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	changed = maya_set_gpio_bits(chip->ice, 1 << GPIO_MIC_RELAY,
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		snd_ice1724_get_route_val(chip->ice, maya_pb_route_shift(idx));
+sound/pci/ice1712/maya44.c:	return snd_ice1724_put_route_val(chip->ice,
+sound/pci/ice1712/maya44.c:	mutex_lock(&chip->mutex);
+sound/pci/ice1712/maya44.c:		wm8776_write_bits(ice, &chip->wm[i],
+sound/pci/ice1712/maya44.c:	mutex_unlock(&chip->mutex);
+sound/pci/ice1712/maya44.c:	mutex_init(&chip->mutex);
+sound/pci/ice1712/maya44.c:	chip->ice = ice;
+sound/pci/ice1712/maya44.c:		wm8776_init(ice, &chip->wm[i], wm8776_addr[i]);
+sound/pci/intel8x0.c:	return ioread8(chip->bmaddr + offset);
+sound/pci/intel8x0.c:	return ioread16(chip->bmaddr + offset);
+sound/pci/intel8x0.c:	return ioread32(chip->bmaddr + offset);
+sound/pci/intel8x0.c:	iowrite8(val, chip->bmaddr + offset);
+sound/pci/intel8x0.c:	iowrite16(val, chip->bmaddr + offset);
+sound/pci/intel8x0.c:	iowrite32(val, chip->bmaddr + offset);
+sound/pci/intel8x0.c:	return ioread16(chip->addr + offset);
+sound/pci/intel8x0.c:	iowrite16(val, chip->addr + offset);
+sound/pci/intel8x0.c:	if (chip->in_sdin_init) {
+sound/pci/intel8x0.c:		codec = chip->codec_isr_bits;
+sound/pci/intel8x0.c:		codec = chip->codec_bit[chip->ac97_sdin[codec]];
+sound/pci/intel8x0.c:	if (chip->buggy_semaphore)
+sound/pci/intel8x0.c:	dev_err(chip->card->dev,
+sound/pci/intel8x0.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0.c:				  ~(chip->codec_ready_bits | ICH_GSCI));
+sound/pci/intel8x0.c:			if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:				dev_err(chip->card->dev,
+sound/pci/intel8x0.c:				  ~(chip->codec_ready_bits | ICH_GSCI));
+sound/pci/intel8x0.c:	if (! chip->in_ac97_init)
+sound/pci/intel8x0.c:		dev_warn(chip->card->dev, "AC97 codec ready timeout.\n");
+sound/pci/intel8x0.c:	if (chip->buggy_semaphore)
+sound/pci/intel8x0.c:	if (! time && ! chip->in_ac97_init)
+sound/pci/intel8x0.c:		dev_warn(chip->card->dev, "ali_codec_semaphore timeout\n");
+sound/pci/intel8x0.c:			dev_dbg(chip->card->dev, "bdbar[%i] = 0x%x [0x%x]\n",
+sound/pci/intel8x0.c:	dev_dbg(chip->card->dev,
+sound/pci/intel8x0.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/intel8x0.c:	if (! chip->in_measurement)
+sound/pci/intel8x0.c:	dev_dbg(chip->card->dev,
+sound/pci/intel8x0.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/intel8x0.c:	status = igetdword(chip, chip->int_sta_reg);
+sound/pci/intel8x0.c:	if ((status & chip->int_sta_mask) == 0) {
+sound/pci/intel8x0.c:			iputdword(chip, chip->int_sta_reg, status);
+sound/pci/intel8x0.c:			if (! chip->buggy_irq)
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:	iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask);
+sound/pci/intel8x0.c:		if (ichdev->ichd == ICHD_PCMOUT && chip->spdif_idx < 0)
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	switch (chip->device_type) {
+sound/pci/intel8x0.c:		if (chip->device_type == DEVICE_NFORCE) {
+sound/pci/intel8x0.c:				spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:				spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:		} else if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:		if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	spin_lock(&chip->reg_lock);
+sound/pci/intel8x0.c:		if (chip->inside_vm)
+sound/pci/intel8x0.c:	spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_SIS) {
+sound/pci/intel8x0.c:	err = snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCMOUT]);
+sound/pci/intel8x0.c:	if (chip->multi8) {
+sound/pci/intel8x0.c:	} else if (chip->multi6) {
+sound/pci/intel8x0.c:	} else if (chip->multi4) {
+sound/pci/intel8x0.c:	if (chip->dra) {
+sound/pci/intel8x0.c:	if (chip->smp20bit) {
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMOUT].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCMIN]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMIN].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_MIC]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_MIC].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_MIC2]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_MIC2].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCM2IN]);
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCM2IN].substream = NULL;
+sound/pci/intel8x0.c:	int idx = chip->device_type == DEVICE_NFORCE ? NVD_SPBAR : ICHD_SPBAR;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[idx]);
+sound/pci/intel8x0.c:	int idx = chip->device_type == DEVICE_NFORCE ? NVD_SPBAR : ICHD_SPBAR;
+sound/pci/intel8x0.c:	chip->ichd[idx].substream = NULL;
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_AC97SPDIFOUT]);
+sound/pci/intel8x0.c:	chip->ichd[ALID_AC97SPDIFOUT].substream = NULL;
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_SPDIFIN]);
+sound/pci/intel8x0.c:	chip->ichd[ALID_SPDIFIN].substream = NULL;
+sound/pci/intel8x0.c:	return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_SPDIFOUT]);
+sound/pci/intel8x0.c:	chip->ichd[ALID_SPDIFOUT].substream = NULL;
+sound/pci/intel8x0.c:	err = snd_pcm_new(chip->card, name, device,
+sound/pci/intel8x0.c:		sprintf(pcm->name, "%s - %s", chip->card->shortname, rec->suffix);
+sound/pci/intel8x0.c:		strcpy(pcm->name, chip->card->shortname);
+sound/pci/intel8x0.c:	chip->pcm[device] = pcm;
+sound/pci/intel8x0.c:					      &chip->pci->dev,
+sound/pci/intel8x0.c:		if (chip->multi8)
+sound/pci/intel8x0.c:		else if (chip->multi6)
+sound/pci/intel8x0.c:		else if (chip->multi4)
+sound/pci/intel8x0.c:		chip->ac97[0]->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/intel8x0.c:	switch (chip->device_type) {
+sound/pci/intel8x0.c:			if (! chip->ichd[rec->ac97_idx].pcm)
+sound/pci/intel8x0.c:	chip->pcm_devs = device;
+sound/pci/intel8x0.c:	chip->ac97_bus = NULL;
+sound/pci/intel8x0.c:	chip->ac97[ac97->num] = NULL;
+sound/pci/intel8x0.c:	chip->spdif_idx = -1; /* use PCMOUT (or disabled) */
+sound/pci/intel8x0.c:		switch (chip->device_type) {
+sound/pci/intel8x0.c:			chip->spdif_idx = NVD_SPBAR;
+sound/pci/intel8x0.c:			chip->spdif_idx = ALID_AC97SPDIFOUT;
+sound/pci/intel8x0.c:			chip->spdif_idx = ICHD_SPBAR;
+sound/pci/intel8x0.c:	chip->in_ac97_init = 1;
+sound/pci/intel8x0.c:	if (chip->xbox)
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI) {
+sound/pci/intel8x0.c:		chip->in_sdin_init = 1;
+sound/pci/intel8x0.c:		for (i = 0; i < chip->max_codecs; i++) {
+sound/pci/intel8x0.c:			if (! (glob_sta & chip->codec_bit[i]))
+sound/pci/intel8x0.c:			if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:				chip->ac97_sdin[codecs] =
+sound/pci/intel8x0.c:				if (snd_BUG_ON(chip->ac97_sdin[codecs] >= 3))
+sound/pci/intel8x0.c:					chip->ac97_sdin[codecs] = 0;
+sound/pci/intel8x0.c:				chip->ac97_sdin[codecs] = i;
+sound/pci/intel8x0.c:		chip->in_sdin_init = 0;
+sound/pci/intel8x0.c:	if ((err = snd_ac97_bus(chip->card, 0, ops, chip, &pbus)) < 0)
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_ALI)
+sound/pci/intel8x0.c:	chip->ac97_bus = pbus;
+sound/pci/intel8x0.c:	chip->ncodecs = codecs;
+sound/pci/intel8x0.c:	ac97.pci = chip->pci;
+sound/pci/intel8x0.c:		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
+sound/pci/intel8x0.c:				dev_err(chip->card->dev,
+sound/pci/intel8x0.c:	snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks, quirk_override);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	if (chip->spdif_idx < 0)
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMOUT].pcm = &pbus->pcms[0];
+sound/pci/intel8x0.c:	chip->ichd[ICHD_PCMIN].pcm = &pbus->pcms[1];
+sound/pci/intel8x0.c:	chip->ichd[ICHD_MIC].pcm = &pbus->pcms[2];
+sound/pci/intel8x0.c:	if (chip->spdif_idx >= 0)
+sound/pci/intel8x0.c:		chip->ichd[chip->spdif_idx].pcm = &pbus->pcms[3];
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:		chip->ichd[ICHD_PCM2IN].pcm = &pbus->pcms[4];
+sound/pci/intel8x0.c:		chip->ichd[ICHD_MIC2].pcm = &pbus->pcms[5];
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:		struct ac97_pcm *pcm = chip->ichd[ICHD_PCM2IN].pcm;
+sound/pci/intel8x0.c:			tmp |= chip->ac97_sdin[0] << ICH_DI1L_SHIFT;
+sound/pci/intel8x0.c:					tmp |= chip->ac97_sdin[pcm->r[0].codec[1]->num] << ICH_DI2L_SHIFT;
+sound/pci/intel8x0.c:		chip->multi4 = 1;
+sound/pci/intel8x0.c:			chip->multi6 = 1;
+sound/pci/intel8x0.c:			if (chip->ac97[0]->flags & AC97_HAS_8CH)
+sound/pci/intel8x0.c:				chip->multi8 = 1;
+sound/pci/intel8x0.c:		chip->dra = 1;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4) {
+sound/pci/intel8x0.c:			chip->smp20bit = 1;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE && !spdif_aclink) {
+sound/pci/intel8x0.c:		chip->ichd[chip->spdif_idx].pcm->rates = SNDRV_PCM_RATE_48000;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4 && !spdif_aclink) {
+sound/pci/intel8x0.c:		snd_ac97_update_bits(chip->ac97[0], AC97_EXTENDED_STATUS, 0x03 << 4, 0x03 << 4);
+sound/pci/intel8x0.c:	chip->in_ac97_init = 0;
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI)
+sound/pci/intel8x0.c:	if (snd_pci_quirk_lookup(chip->pci, ich_chip_reset_mode))
+sound/pci/intel8x0.c:	(!snd_pci_quirk_lookup(chip->pci, ich_chip_reset_mode))
+sound/pci/intel8x0.c:	dev_err(chip->card->dev, "AC'97 warm reset still in progress? [0x%x]\n",
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE)
+sound/pci/intel8x0.c:				chip->codec_isr_bits;
+sound/pci/intel8x0.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0.c:		while (status != chip->codec_isr_bits &&
+sound/pci/intel8x0.c:				chip->codec_isr_bits;
+sound/pci/intel8x0.c:		for (i = 0; i < chip->ncodecs; i++)
+sound/pci/intel8x0.c:			if (chip->ac97[i])
+sound/pci/intel8x0.c:				status |= chip->codec_bit[chip->ac97_sdin[i]];
+sound/pci/intel8x0.c:				chip->codec_isr_bits;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_SIS) {
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE && !spdif_aclink) {
+sound/pci/intel8x0.c:		pci_read_config_dword(chip->pci, 0x4c, &val);
+sound/pci/intel8x0.c:		pci_write_config_dword(chip->pci, 0x4c, val);
+sound/pci/intel8x0.c:	dev_err(chip->card->dev, "AC'97 reset failed.\n");
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI) {
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:        		if ((igetbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset) & ICH_RESETREGS) == 0)
+sound/pci/intel8x0.c:			dev_err(chip->card->dev, "reset of registers failed?\n");
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputdword(chip, ICH_REG_OFF_BDBAR + chip->ichd[i].reg_offset,
+sound/pci/intel8x0.c:			  chip->ichd[i].bdbar_addr);
+sound/pci/intel8x0.c:	if (chip->irq < 0)
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_NFORCE && !spdif_aclink) {
+sound/pci/intel8x0.c:		pci_read_config_dword(chip->pci, 0x4c, &val);
+sound/pci/intel8x0.c:		pci_write_config_dword(chip->pci, 0x4c, val);
+sound/pci/intel8x0.c:	if (chip->irq >= 0)
+sound/pci/intel8x0.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0.c:	if (chip->bdbars.area)
+sound/pci/intel8x0.c:		snd_dma_free_pages(&chip->bdbars);
+sound/pci/intel8x0.c:	if (chip->addr)
+sound/pci/intel8x0.c:		pci_iounmap(chip->pci, chip->addr);
+sound/pci/intel8x0.c:	if (chip->bmaddr)
+sound/pci/intel8x0.c:		pci_iounmap(chip->pci, chip->bmaddr);
+sound/pci/intel8x0.c:	pci_release_regions(chip->pci);
+sound/pci/intel8x0.c:	pci_disable_device(chip->pci);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->ncodecs; i++)
+sound/pci/intel8x0.c:		snd_ac97_suspend(chip->ac97[i]);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:		chip->sdm_saved = igetbyte(chip, ICHREG(SDM));
+sound/pci/intel8x0.c:	if (chip->irq >= 0) {
+sound/pci/intel8x0.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0.c:		chip->irq = -1;
+sound/pci/intel8x0.c:	chip->irq = pci->irq;
+sound/pci/intel8x0.c:	synchronize_irq(chip->irq);
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4 && !spdif_aclink) {
+sound/pci/intel8x0.c:		iputbyte(chip, ICHREG(SDM), chip->sdm_saved);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->ncodecs; i++)
+sound/pci/intel8x0.c:		snd_ac97_resume(chip->ac97[i]);
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		struct ichdev *ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:	if (chip->ac97_bus->clock != 48000)
+sound/pci/intel8x0.c:	subs = chip->pcm[0]->streams[0].substream;
+sound/pci/intel8x0.c:		dev_warn(chip->card->dev,
+sound/pci/intel8x0.c:	ichdev = &chip->ichd[ICHD_PCMOUT];
+sound/pci/intel8x0.c:	if (snd_ac97_set_rate(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 48000) < 0) {
+sound/pci/intel8x0.c:		dev_err(chip->card->dev, "cannot set ac97 rate: clock = %d\n",
+sound/pci/intel8x0.c:			chip->ac97_bus->clock);
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	chip->in_measurement = 1;
+sound/pci/intel8x0.c:	if (chip->device_type != DEVICE_ALI)
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:	chip->in_measurement = 0;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_ALI) {
+sound/pci/intel8x0.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/intel8x0.c:		dev_err(chip->card->dev,
+sound/pci/intel8x0.c:	dev_info(chip->card->dev,
+sound/pci/intel8x0.c:		dev_err(chip->card->dev, "?? calculation error..\n");
+sound/pci/intel8x0.c:		dev_info(chip->card->dev, "measured clock %ld rejected\n", pos);
+sound/pci/intel8x0.c:		chip->ac97_bus->clock = 41000;
+sound/pci/intel8x0.c:		chip->ac97_bus->clock = 44100;
+sound/pci/intel8x0.c:		chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos;
+sound/pci/intel8x0.c:	dev_info(chip->card->dev, "clocking to %d\n", chip->ac97_bus->clock);
+sound/pci/intel8x0.c:	snd_ac97_update_power(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 0);
+sound/pci/intel8x0.c:	struct pci_dev *pci = chip->pci;
+sound/pci/intel8x0.c:	dev_info(chip->card->dev, "white list rate for %04x:%04x is %i\n",
+sound/pci/intel8x0.c:	chip->ac97_bus->clock = wl->value;
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_ALI)
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4)
+sound/pci/intel8x0.c:	if (tmp & chip->codec_isr_bits) {
+sound/pci/intel8x0.c:		for (i = 0; i < chip->max_codecs; i++)
+sound/pci/intel8x0.c:			if (tmp & chip->codec_bit[i])
+sound/pci/intel8x0.c:	if (chip->device_type == DEVICE_INTEL_ICH4 ||
+sound/pci/intel8x0.c:	    chip->device_type == DEVICE_SIS)
+sound/pci/intel8x0.c:			chip->ac97_sdin[0],
+sound/pci/intel8x0.c:			chip->ac97_sdin[1],
+sound/pci/intel8x0.c:			chip->ac97_sdin[2]);
+sound/pci/intel8x0.c:	snd_card_ro_proc_new(chip->card, "intel8x0", chip,
+sound/pci/intel8x0.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/intel8x0.c:	chip->device_type = device_type;
+sound/pci/intel8x0.c:	chip->card = card;
+sound/pci/intel8x0.c:	chip->pci = pci;
+sound/pci/intel8x0.c:	chip->irq = -1;
+sound/pci/intel8x0.c:	chip->buggy_irq = buggy_irq;
+sound/pci/intel8x0.c:	chip->buggy_semaphore = buggy_semaphore;
+sound/pci/intel8x0.c:		chip->xbox = 1;
+sound/pci/intel8x0.c:	chip->inside_vm = snd_intel8x0_inside_vm(pci);
+sound/pci/intel8x0.c:		chip->fix_nocache = 1; /* enable workaround */
+sound/pci/intel8x0.c:		chip->bmaddr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0.c:		chip->addr = pci_iomap(pci, 2, 0);
+sound/pci/intel8x0.c:		chip->addr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0.c:	if (!chip->addr) {
+sound/pci/intel8x0.c:		chip->bmaddr = pci_iomap(pci, 3, 0);
+sound/pci/intel8x0.c:		chip->bmaddr = pci_iomap(pci, 1, 0);
+sound/pci/intel8x0.c:	if (!chip->bmaddr) {
+sound/pci/intel8x0.c:	chip->bdbars_count = bdbars[device_type];
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:				chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2,
+sound/pci/intel8x0.c:				&chip->bdbars) < 0) {
+sound/pci/intel8x0.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0.c:		ichdev->bdbar = ((__le32 *)chip->bdbars.area) +
+sound/pci/intel8x0.c:		ichdev->bdbar_addr = chip->bdbars.addr +
+sound/pci/intel8x0.c:	chip->int_sta_reg = device_type == DEVICE_ALI ?
+sound/pci/intel8x0.c:	chip->int_sta_mask = int_sta_masks;
+sound/pci/intel8x0.c:	switch(chip->device_type) {
+sound/pci/intel8x0.c:		chip->max_codecs = 3;
+sound/pci/intel8x0.c:		chip->codec_bit = ich_codec_bits;
+sound/pci/intel8x0.c:		chip->codec_ready_bits = ICH_PRI | ICH_SRI | ICH_TRI;
+sound/pci/intel8x0.c:		chip->max_codecs = 3;
+sound/pci/intel8x0.c:		chip->codec_bit = sis_codec_bits;
+sound/pci/intel8x0.c:		chip->codec_ready_bits = ICH_PRI | ICH_SRI | ICH_SIS_TRI;
+sound/pci/intel8x0.c:		chip->max_codecs = 2;
+sound/pci/intel8x0.c:		chip->codec_bit = ich_codec_bits;
+sound/pci/intel8x0.c:		chip->codec_ready_bits = ICH_PRI | ICH_SRI;
+sound/pci/intel8x0.c:	for (i = 0; i < chip->max_codecs; i++)
+sound/pci/intel8x0.c:		chip->codec_isr_bits |= chip->codec_bit[i];
+sound/pci/intel8x0.c:	chip->irq = pci->irq;
+sound/pci/intel8x0.c:		 snd_ac97_get_short_name(chip->ac97[0]), chip->irq);
+sound/pci/intel8x0m.c:	return ioread8(chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	return ioread16(chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	return ioread32(chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	iowrite8(val, chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	iowrite16(val, chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	iowrite32(val, chip->bmaddr + offset);
+sound/pci/intel8x0m.c:	return ioread16(chip->addr + offset);
+sound/pci/intel8x0m.c:	iowrite16(val, chip->addr + offset);
+sound/pci/intel8x0m.c:	dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0m.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:		if (! chip->in_ac97_init)
+sound/pci/intel8x0m.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:			if (! chip->in_ac97_init)
+sound/pci/intel8x0m.c:				dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:						     ichdev->fragsize1 >> chip->pcm_pos_shift);
+sound/pci/intel8x0m.c:						     ichdev->fragsize1 >> chip->pcm_pos_shift);
+sound/pci/intel8x0m.c:						     ichdev->fragsize >> chip->pcm_pos_shift);
+sound/pci/intel8x0m.c:			dev_dbg(chip->card->dev, "bdbar[%i] = 0x%x [0x%x]\n",
+sound/pci/intel8x0m.c:	dev_dbg(chip->card->dev,
+sound/pci/intel8x0m.c:		dev_dbg(chip->card->dev,
+sound/pci/intel8x0m.c:		spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:		spin_lock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	spin_lock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	status = igetdword(chip, chip->int_sta_reg);
+sound/pci/intel8x0m.c:		spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	if ((status & chip->int_sta_mask) == 0) {
+sound/pci/intel8x0m.c:			iputdword(chip, chip->int_sta_reg, status);
+sound/pci/intel8x0m.c:		spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0m.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0m.c:	iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask);
+sound/pci/intel8x0m.c:	spin_unlock(&chip->reg_lock);
+sound/pci/intel8x0m.c:	ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << chip->pcm_pos_shift;
+sound/pci/intel8x0m.c:	return snd_intel8x0m_pcm_open(substream, &chip->ichd[ICHD_MDMOUT]);
+sound/pci/intel8x0m.c:	chip->ichd[ICHD_MDMOUT].substream = NULL;
+sound/pci/intel8x0m.c:	return snd_intel8x0m_pcm_open(substream, &chip->ichd[ICHD_MDMIN]);
+sound/pci/intel8x0m.c:	chip->ichd[ICHD_MDMIN].substream = NULL;
+sound/pci/intel8x0m.c:	err = snd_pcm_new(chip->card, name, device,
+sound/pci/intel8x0m.c:		sprintf(pcm->name, "%s - %s", chip->card->shortname, rec->suffix);
+sound/pci/intel8x0m.c:		strcpy(pcm->name, chip->card->shortname);
+sound/pci/intel8x0m.c:	chip->pcm[device] = pcm;
+sound/pci/intel8x0m.c:					      &chip->pci->dev,
+sound/pci/intel8x0m.c:	switch (chip->device_type) {
+sound/pci/intel8x0m.c:			if (! chip->ichd[rec->ac97_idx].ac97)
+sound/pci/intel8x0m.c:	chip->pcm_devs = device;
+sound/pci/intel8x0m.c:	chip->ac97_bus = NULL;
+sound/pci/intel8x0m.c:	chip->ac97 = NULL;
+sound/pci/intel8x0m.c:	chip->in_ac97_init = 1;
+sound/pci/intel8x0m.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/intel8x0m.c:	chip->ac97_bus = pbus;
+sound/pci/intel8x0m.c:	ac97.pci = chip->pci;
+sound/pci/intel8x0m.c:		dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:	chip->ac97 = x97;
+sound/pci/intel8x0m.c:	if(ac97_is_modem(x97) && !chip->ichd[ICHD_MDMIN].ac97) {
+sound/pci/intel8x0m.c:		chip->ichd[ICHD_MDMIN].ac97 = x97;
+sound/pci/intel8x0m.c:		chip->ichd[ICHD_MDMOUT].ac97 = x97;
+sound/pci/intel8x0m.c:	chip->in_ac97_init = 0;
+sound/pci/intel8x0m.c:	if (chip->device_type != DEVICE_ALI)
+sound/pci/intel8x0m.c:	dev_err(chip->card->dev, "AC'97 warm reset still in progress? [0x%x]\n",
+sound/pci/intel8x0m.c:			dev_err(chip->card->dev,
+sound/pci/intel8x0m.c:		if (chip->ac97)
+sound/pci/intel8x0m.c:			status |= get_ich_codec_bit(chip, chip->ac97->num);
+sound/pci/intel8x0m.c:	if (chip->device_type == DEVICE_SIS) {
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputdword(chip, ICH_REG_OFF_BDBAR + chip->ichd[i].reg_offset, chip->ichd[i].bdbar_addr);
+sound/pci/intel8x0m.c:	if (chip->irq < 0)
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, 0x00);
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++)
+sound/pci/intel8x0m.c:		iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS);
+sound/pci/intel8x0m.c:	if (chip->irq >= 0)
+sound/pci/intel8x0m.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0m.c:	if (chip->bdbars.area)
+sound/pci/intel8x0m.c:		snd_dma_free_pages(&chip->bdbars);
+sound/pci/intel8x0m.c:	if (chip->addr)
+sound/pci/intel8x0m.c:		pci_iounmap(chip->pci, chip->addr);
+sound/pci/intel8x0m.c:	if (chip->bmaddr)
+sound/pci/intel8x0m.c:		pci_iounmap(chip->pci, chip->bmaddr);
+sound/pci/intel8x0m.c:	pci_release_regions(chip->pci);
+sound/pci/intel8x0m.c:	pci_disable_device(chip->pci);
+sound/pci/intel8x0m.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/intel8x0m.c:	if (chip->irq >= 0) {
+sound/pci/intel8x0m.c:		free_irq(chip->irq, chip);
+sound/pci/intel8x0m.c:		chip->irq = -1;
+sound/pci/intel8x0m.c:	chip->irq = pci->irq;
+sound/pci/intel8x0m.c:	snd_ac97_resume(chip->ac97);
+sound/pci/intel8x0m.c:	if (chip->device_type == DEVICE_ALI)
+sound/pci/intel8x0m.c:	snd_card_ro_proc_new(chip->card, "intel8x0m", chip,
+sound/pci/intel8x0m.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/intel8x0m.c:	chip->device_type = device_type;
+sound/pci/intel8x0m.c:	chip->card = card;
+sound/pci/intel8x0m.c:	chip->pci = pci;
+sound/pci/intel8x0m.c:	chip->irq = -1;
+sound/pci/intel8x0m.c:		chip->bmaddr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0m.c:		chip->addr = pci_iomap(pci, 2, 0);
+sound/pci/intel8x0m.c:		chip->addr = pci_iomap(pci, 0, 0);
+sound/pci/intel8x0m.c:	if (!chip->addr) {
+sound/pci/intel8x0m.c:		chip->bmaddr = pci_iomap(pci, 3, 0);
+sound/pci/intel8x0m.c:		chip->bmaddr = pci_iomap(pci, 1, 0);
+sound/pci/intel8x0m.c:	if (!chip->bmaddr) {
+sound/pci/intel8x0m.c:	chip->bdbars_count = 2;
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0m.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0m.c:	chip->pcm_pos_shift = (device_type == DEVICE_SIS) ? 0 : 1;
+sound/pci/intel8x0m.c:				chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2,
+sound/pci/intel8x0m.c:				&chip->bdbars) < 0) {
+sound/pci/intel8x0m.c:	for (i = 0; i < chip->bdbars_count; i++) {
+sound/pci/intel8x0m.c:		ichdev = &chip->ichd[i];
+sound/pci/intel8x0m.c:		ichdev->bdbar = ((__le32 *)chip->bdbars.area) + (i * ICH_MAX_FRAGS * 2);
+sound/pci/intel8x0m.c:		ichdev->bdbar_addr = chip->bdbars.addr + (i * sizeof(u32) * ICH_MAX_FRAGS * 2);
+sound/pci/intel8x0m.c:	chip->int_sta_reg = ICH_REG_GLOB_STA;
+sound/pci/intel8x0m.c:	chip->int_sta_mask = int_sta_masks;
+sound/pci/intel8x0m.c:	chip->irq = pci->irq;
+sound/pci/intel8x0m.c:		card->shortname, chip->irq);
+sound/pci/lola/lola.c:	chip->last_cmd_nid = nid;
+sound/pci/lola/lola.c:	chip->last_verb = verb;
+sound/pci/lola/lola.c:	chip->last_data = data;
+sound/pci/lola/lola.c:	chip->last_extdata = extdata;
+sound/pci/lola/lola.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/lola/lola.c:	if (chip->rirb.cmds < LOLA_CORB_ENTRIES - 1) {
+sound/pci/lola/lola.c:		unsigned int wp = chip->corb.wp + 1;
+sound/pci/lola/lola.c:		chip->corb.wp = wp;
+sound/pci/lola/lola.c:		chip->corb.buf[wp * 2] = cpu_to_le32(data);
+sound/pci/lola/lola.c:		chip->corb.buf[wp * 2 + 1] = cpu_to_le32(extdata);
+sound/pci/lola/lola.c:		chip->rirb.cmds++;
+sound/pci/lola/lola.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/lola/lola.c:	if (wp == chip->rirb.wp)
+sound/pci/lola/lola.c:	chip->rirb.wp = wp;
+sound/pci/lola/lola.c:	while (chip->rirb.rp != wp) {
+sound/pci/lola/lola.c:		chip->rirb.rp++;
+sound/pci/lola/lola.c:		chip->rirb.rp %= LOLA_CORB_ENTRIES;
+sound/pci/lola/lola.c:		rp = chip->rirb.rp << 1; /* an RIRB entry is 8-bytes */
+sound/pci/lola/lola.c:		res_ex = le32_to_cpu(chip->rirb.buf[rp + 1]);
+sound/pci/lola/lola.c:		res = le32_to_cpu(chip->rirb.buf[rp]);
+sound/pci/lola/lola.c:		else if (chip->rirb.cmds) {
+sound/pci/lola/lola.c:			chip->res = res;
+sound/pci/lola/lola.c:			chip->res_ex = res_ex;
+sound/pci/lola/lola.c:			chip->rirb.cmds--;
+sound/pci/lola/lola.c:		if (chip->polling_mode) {
+sound/pci/lola/lola.c:			spin_lock_irq(&chip->reg_lock);
+sound/pci/lola/lola.c:			spin_unlock_irq(&chip->reg_lock);
+sound/pci/lola/lola.c:		if (!chip->rirb.cmds) {
+sound/pci/lola/lola.c:			*val = chip->res;
+sound/pci/lola/lola.c:				*extval = chip->res_ex;
+sound/pci/lola/lola.c:				      chip->res, chip->res_ex);
+sound/pci/lola/lola.c:			if (chip->res_ex & LOLA_RIRB_EX_ERROR) {
+sound/pci/lola/lola.c:				dev_warn(chip->card->dev, "RIRB ERROR: "
+sound/pci/lola/lola.c:				       chip->last_cmd_nid,
+sound/pci/lola/lola.c:				       chip->last_verb, chip->last_data,
+sound/pci/lola/lola.c:				       chip->last_extdata);
+sound/pci/lola/lola.c:	dev_warn(chip->card->dev, "RIRB response error\n");
+sound/pci/lola/lola.c:	if (!chip->polling_mode) {
+sound/pci/lola/lola.c:		dev_warn(chip->card->dev, "switching to polling mode\n");
+sound/pci/lola/lola.c:		chip->polling_mode = 1;
+sound/pci/lola/lola.c:	spin_lock(&chip->reg_lock);
+sound/pci/lola/lola.c:		for (i = 0; in_sts && i < chip->pcm[CAPT].num_streams; i++) {
+sound/pci/lola/lola.c:		for (i = 0; out_sts && i < chip->pcm[PLAY].num_streams; i++) {
+sound/pci/lola/lola.c:	spin_unlock(&chip->reg_lock);
+sound/pci/lola/lola.c:	lola_pcm_update(chip, &chip->pcm[CAPT], notify_ins);
+sound/pci/lola/lola.c:	lola_pcm_update(chip, &chip->pcm[PLAY], notify_outs);
+sound/pci/lola/lola.c:	chip->cold_reset = 1;
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "cannot reset controller\n");
+sound/pci/lola/lola.c:	val = (1 << chip->pcm[PLAY].num_streams) - 1;
+sound/pci/lola/lola.c:	val = (1 << chip->pcm[CAPT].num_streams) - 1;
+sound/pci/lola/lola.c:				  &chip->pci->dev,
+sound/pci/lola/lola.c:				  PAGE_SIZE, &chip->rb);
+sound/pci/lola/lola.c:	chip->corb.addr = chip->rb.addr;
+sound/pci/lola/lola.c:	chip->corb.buf = (__le32 *)chip->rb.area;
+sound/pci/lola/lola.c:	chip->rirb.addr = chip->rb.addr + 2048;
+sound/pci/lola/lola.c:	chip->rirb.buf = (__le32 *)(chip->rb.area + 2048);
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, CORBLBASE, (u32)chip->corb.addr);
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, CORBUBASE, upper_32_bits(chip->corb.addr));
+sound/pci/lola/lola.c:	chip->corb.wp = 0;
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, RIRBLBASE, (u32)chip->rirb.addr);
+sound/pci/lola/lola.c:	lola_writel(chip, BAR0, RIRBUBASE, upper_32_bits(chip->rirb.addr));
+sound/pci/lola/lola.c:	chip->rirb.rp = chip->rirb.cmds = 0;
+sound/pci/lola/lola.c:	lola_set_granularity(chip, chip->granularity, true);
+sound/pci/lola/lola.c:	lola_set_clock_index(chip, chip->clock.cur_index);
+sound/pci/lola/lola.c:	lola_set_src_config(chip, chip->input_src_mask, false);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Can't read VENDOR_ID\n");
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Unknown codec vendor 0x%x\n", val);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Can't read FUNCTION_TYPE\n");
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Unknown function type %d\n", val);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Can't read SPECCAPS\n");
+sound/pci/lola/lola.c:	chip->lola_caps = val;
+sound/pci/lola/lola.c:	chip->pin[CAPT].num_pins = LOLA_AFG_INPUT_PIN_COUNT(chip->lola_caps);
+sound/pci/lola/lola.c:	chip->pin[PLAY].num_pins = LOLA_AFG_OUTPUT_PIN_COUNT(chip->lola_caps);
+sound/pci/lola/lola.c:	dev_dbg(chip->card->dev, "speccaps=0x%x, pins in=%d, out=%d\n",
+sound/pci/lola/lola.c:		    chip->lola_caps,
+sound/pci/lola/lola.c:		    chip->pin[CAPT].num_pins, chip->pin[PLAY].num_pins);
+sound/pci/lola/lola.c:	if (chip->pin[CAPT].num_pins > MAX_AUDIO_INOUT_COUNT ||
+sound/pci/lola/lola.c:	    chip->pin[PLAY].num_pins > MAX_AUDIO_INOUT_COUNT) {
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Invalid Lola-spec caps 0x%x\n", val);
+sound/pci/lola/lola.c:	if (LOLA_AFG_CLOCK_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola.c:	if (LOLA_AFG_MIXER_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola.c:	if (!chip->cold_reset) {
+sound/pci/lola/lola.c:		chip->cold_reset = 1;
+sound/pci/lola/lola.c:		if (chip->granularity != LOLA_GRANULARITY_MIN)
+sound/pci/lola/lola.c:			lola_set_granularity(chip, chip->granularity, true);
+sound/pci/lola/lola.c:	if (chip->initialized)
+sound/pci/lola/lola.c:	if (chip->irq >= 0)
+sound/pci/lola/lola.c:		free_irq(chip->irq, (void *)chip);
+sound/pci/lola/lola.c:	iounmap(chip->bar[0].remap_addr);
+sound/pci/lola/lola.c:	iounmap(chip->bar[1].remap_addr);
+sound/pci/lola/lola.c:	if (chip->rb.area)
+sound/pci/lola/lola.c:		snd_dma_free_pages(&chip->rb);
+sound/pci/lola/lola.c:	pci_release_regions(chip->pci);
+sound/pci/lola/lola.c:	pci_disable_device(chip->pci);
+sound/pci/lola/lola.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/lola/lola.c:	mutex_init(&chip->open_mutex);
+sound/pci/lola/lola.c:	chip->card = card;
+sound/pci/lola/lola.c:	chip->pci = pci;
+sound/pci/lola/lola.c:	chip->irq = -1;
+sound/pci/lola/lola.c:	chip->granularity = granularity[dev];
+sound/pci/lola/lola.c:	switch (chip->granularity) {
+sound/pci/lola/lola.c:		chip->sample_rate_max = 48000;
+sound/pci/lola/lola.c:		chip->sample_rate_max = 96000;
+sound/pci/lola/lola.c:		chip->sample_rate_max = 192000;
+sound/pci/lola/lola.c:		dev_warn(chip->card->dev,
+sound/pci/lola/lola.c:			   chip->granularity, LOLA_GRANULARITY_MAX);
+sound/pci/lola/lola.c:		chip->granularity = LOLA_GRANULARITY_MAX;
+sound/pci/lola/lola.c:		chip->sample_rate_max = 192000;
+sound/pci/lola/lola.c:	chip->sample_rate_min = sample_rate_min[dev];
+sound/pci/lola/lola.c:	if (chip->sample_rate_min > chip->sample_rate_max) {
+sound/pci/lola/lola.c:		dev_warn(chip->card->dev,
+sound/pci/lola/lola.c:			   chip->sample_rate_min);
+sound/pci/lola/lola.c:		chip->sample_rate_min = 16000;
+sound/pci/lola/lola.c:	chip->bar[0].addr = pci_resource_start(pci, 0);
+sound/pci/lola/lola.c:	chip->bar[0].remap_addr = pci_ioremap_bar(pci, 0);
+sound/pci/lola/lola.c:	chip->bar[1].addr = pci_resource_start(pci, 2);
+sound/pci/lola/lola.c:	chip->bar[1].remap_addr = pci_ioremap_bar(pci, 2);
+sound/pci/lola/lola.c:	if (!chip->bar[0].remap_addr || !chip->bar[1].remap_addr) {
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "ioremap error\n");
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "unable to grab IRQ %d\n", pci->irq);
+sound/pci/lola/lola.c:	chip->irq = pci->irq;
+sound/pci/lola/lola.c:	synchronize_irq(chip->irq);
+sound/pci/lola/lola.c:	chip->pcm[CAPT].num_streams = (dever >> 0) & 0x3ff;
+sound/pci/lola/lola.c:	chip->pcm[PLAY].num_streams = (dever >> 10) & 0x3ff;
+sound/pci/lola/lola.c:	chip->version = (dever >> 24) & 0xff;
+sound/pci/lola/lola.c:	dev_dbg(chip->card->dev, "streams in=%d, out=%d, version=0x%x\n",
+sound/pci/lola/lola.c:		    chip->pcm[CAPT].num_streams, chip->pcm[PLAY].num_streams,
+sound/pci/lola/lola.c:		    chip->version);
+sound/pci/lola/lola.c:	if (chip->pcm[CAPT].num_streams > MAX_STREAM_IN_COUNT ||
+sound/pci/lola/lola.c:	    chip->pcm[PLAY].num_streams > MAX_STREAM_OUT_COUNT ||
+sound/pci/lola/lola.c:	    (!chip->pcm[CAPT].num_streams &&
+sound/pci/lola/lola.c:	     !chip->pcm[PLAY].num_streams)) {
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "invalid DEVER = %x\n", dever);
+sound/pci/lola/lola.c:		dev_err(chip->card->dev, "Error creating device [card]!\n");
+sound/pci/lola/lola.c:		 card->shortname, chip->bar[0].addr, chip->irq);
+sound/pci/lola/lola.c:	chip->initialized = 1;
+sound/pci/lola/lola_clock.c:	if (!chip->granularity)
+sound/pci/lola/lola_clock.c:		if (val == chip->granularity)
+sound/pci/lola/lola_clock.c:		if (chip->audio_in_alloc_mask || chip->audio_out_alloc_mask)
+sound/pci/lola/lola_clock.c:						    chip->clock.cur_freq))
+sound/pci/lola/lola_clock.c:	chip->granularity = val;
+sound/pci/lola/lola_clock.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_clock.c:		dev_dbg(chip->card->dev, "No valid clock widget\n");
+sound/pci/lola/lola_clock.c:	chip->clock.nid = nid;
+sound/pci/lola/lola_clock.c:	chip->clock.items = val & 0xff;
+sound/pci/lola/lola_clock.c:	dev_dbg(chip->card->dev, "clock_list nid=%x, entries=%d\n", nid,
+sound/pci/lola/lola_clock.c:		    chip->clock.items);
+sound/pci/lola/lola_clock.c:	if (chip->clock.items > MAX_SAMPLE_CLOCK_COUNT) {
+sound/pci/lola/lola_clock.c:		dev_err(chip->card->dev, "CLOCK_LIST too big: %d\n",
+sound/pci/lola/lola_clock.c:		       chip->clock.items);
+sound/pci/lola/lola_clock.c:	nitems = chip->clock.items;
+sound/pci/lola/lola_clock.c:			dev_err(chip->card->dev, "Can't read CLOCK_LIST\n");
+sound/pci/lola/lola_clock.c:				if (freq < chip->sample_rate_min)
+sound/pci/lola/lola_clock.c:					chip->clock.cur_index = idx_list;
+sound/pci/lola/lola_clock.c:					chip->clock.cur_freq = 48000;
+sound/pci/lola/lola_clock.c:					chip->clock.cur_valid = true;
+sound/pci/lola/lola_clock.c:				if (freq < chip->sample_rate_min)
+sound/pci/lola/lola_clock.c:				sc = &chip->clock.sample_clock[idx_list];
+sound/pci/lola/lola_clock.c:				chip->clock.idx_lookup[idx_list] = idx;
+sound/pci/lola/lola_clock.c:				chip->clock.items--;
+sound/pci/lola/lola_clock.c:	err = lola_codec_read(chip, chip->clock.nid,
+sound/pci/lola/lola_clock.c:		dev_warn(chip->card->dev, "error in enable_clock_events %d\n",
+sound/pci/lola/lola_clock.c:	err = lola_codec_read(chip, chip->clock.nid,
+sound/pci/lola/lola_clock.c:			      chip->clock.idx_lookup[idx],
+sound/pci/lola/lola_clock.c:		dev_warn(chip->card->dev, "error in set_clock %d\n", res);
+sound/pci/lola/lola_clock.c:	if (chip->clock.sample_clock[chip->clock.cur_index].type !=
+sound/pci/lola/lola_clock.c:		chip->clock.cur_freq = lola_sample_rate_convert(val & 0x7f);
+sound/pci/lola/lola_clock.c:		chip->clock.cur_valid = (val & 0x100) != 0;
+sound/pci/lola/lola_clock.c:	if (idx == chip->clock.cur_index) {
+sound/pci/lola/lola_clock.c:		freq = chip->clock.cur_freq;
+sound/pci/lola/lola_clock.c:		valid = chip->clock.cur_valid;
+sound/pci/lola/lola_clock.c:	} else if (chip->clock.sample_clock[idx].type ==
+sound/pci/lola/lola_clock.c:		freq = chip->clock.sample_clock[idx].freq;
+sound/pci/lola/lola_clock.c:	if (!check_gran_clock_compatibility(chip, chip->granularity, freq))
+sound/pci/lola/lola_clock.c:	if (idx != chip->clock.cur_index) {
+sound/pci/lola/lola_clock.c:		chip->clock.cur_index = idx;
+sound/pci/lola/lola_clock.c:		chip->clock.cur_freq = freq;
+sound/pci/lola/lola_clock.c:		chip->clock.cur_valid = true;
+sound/pci/lola/lola_clock.c:	if (chip->clock.cur_freq == rate && chip->clock.cur_valid)
+sound/pci/lola/lola_clock.c:	for (i = 0; i < chip->clock.items; i++) {
+sound/pci/lola/lola_clock.c:		if (chip->clock.sample_clock[i].type == LOLA_CLOCK_TYPE_INTERNAL &&
+sound/pci/lola/lola_clock.c:		    chip->clock.sample_clock[i].freq == rate)
+sound/pci/lola/lola_clock.c:	if (i >= chip->clock.items)
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Invalid wcaps 0x%x for 0x%x\n", val, nid);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't read AMP-caps for 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't get MAX_LEVEL 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[dir].num_pins; i++, nid++) {
+sound/pci/lola/lola_mixer.c:		err = lola_init_pin(chip, &chip->pin[dir].pins[i], dir, nid);
+sound/pci/lola/lola_mixer.c:		if (chip->pin[dir].pins[i].is_analog)
+sound/pci/lola/lola_mixer.c:			chip->pin[dir].num_analog_pins++;
+sound/pci/lola/lola_mixer.c:	vfree(chip->mixer.array_saved);
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_mixer.c:		dev_dbg(chip->card->dev, "No valid mixer widget\n");
+sound/pci/lola/lola_mixer.c:	chip->mixer.nid = nid;
+sound/pci/lola/lola_mixer.c:	chip->mixer.caps = val;
+sound/pci/lola/lola_mixer.c:	chip->mixer.array = (struct lola_mixer_array __iomem *)
+sound/pci/lola/lola_mixer.c:		(chip->bar[BAR1].remap_addr + LOLA_BAR1_SOURCE_GAIN_ENABLE);
+sound/pci/lola/lola_mixer.c:	chip->mixer.array_saved = vmalloc(sizeof(struct lola_mixer_array));
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_stream_outs = chip->pcm[PLAY].num_streams;
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_phys_ins = chip->pin[CAPT].num_pins;
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_stream_ins = chip->pcm[CAPT].num_streams;
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_phys_outs = chip->pin[PLAY].num_pins;
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_stream_out_ofs = chip->mixer.src_phys_ins +
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_phys_out_ofs = chip->mixer.dest_stream_ins +
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.src_stream_out_ofs > MAX_AUDIO_INOUT_COUNT ||
+sound/pci/lola/lola_mixer.c:	    chip->mixer.dest_phys_out_ofs > MAX_STREAM_IN_COUNT) {
+sound/pci/lola/lola_mixer.c:		dev_err(chip->card->dev, "Invalid mixer widget size\n");
+sound/pci/lola/lola_mixer.c:	chip->mixer.src_mask = ((1U << chip->mixer.src_phys_ins) - 1) |
+sound/pci/lola/lola_mixer.c:		(((1U << chip->mixer.src_stream_outs) - 1)
+sound/pci/lola/lola_mixer.c:		 << chip->mixer.src_stream_out_ofs);
+sound/pci/lola/lola_mixer.c:	chip->mixer.dest_mask = ((1U << chip->mixer.dest_stream_ins) - 1) |
+sound/pci/lola/lola_mixer.c:		(((1U << chip->mixer.dest_phys_outs) - 1)
+sound/pci/lola/lola_mixer.c:		 << chip->mixer.dest_phys_out_ofs);
+sound/pci/lola/lola_mixer.c:	dev_dbg(chip->card->dev, "Mixer src_mask=%x, dest_mask=%x\n",
+sound/pci/lola/lola_mixer.c:		    chip->mixer.src_mask, chip->mixer.dest_mask);
+sound/pci/lola/lola_mixer.c:	if (!(chip->mixer.src_mask & (1 << id)))
+sound/pci/lola/lola_mixer.c:	oldval = val = readl(&chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:	    (gain == readw(&chip->mixer.array->src_gain[id])))
+sound/pci/lola/lola_mixer.c:	dev_dbg(chip->card->dev,
+sound/pci/lola/lola_mixer.c:	writew(gain, &chip->mixer.array->src_gain[id]);
+sound/pci/lola/lola_mixer.c:	writel(val, &chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:	return lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	if ((chip->mixer.src_mask & mask) != mask)
+sound/pci/lola/lola_mixer.c:			writew(*gains, &chip->mixer.array->src_gain[i]);
+sound/pci/lola/lola_mixer.c:	writel(mask, &chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.caps & LOLA_PEAK_METER_CAN_AGC_MASK) {
+sound/pci/lola/lola_mixer.c:		return lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	if (!(chip->mixer.src_mask & (1 << src)) ||
+sound/pci/lola/lola_mixer.c:	    !(chip->mixer.dest_mask & (1 << dest)))
+sound/pci/lola/lola_mixer.c:		writew(gain, &chip->mixer.array->dest_mix_gain[dest][src]);
+sound/pci/lola/lola_mixer.c:	val = readl(&chip->mixer.array->dest_mix_gain_enable[dest]);
+sound/pci/lola/lola_mixer.c:	writel(val, &chip->mixer.array->dest_mix_gain_enable[dest]);
+sound/pci/lola/lola_mixer.c:	return lola_codec_write(chip, chip->mixer.nid, LOLA_VERB_SET_MIX_GAIN,
+sound/pci/lola/lola_mixer.c:	if (!(chip->mixer.dest_mask & (1 << id)) ||
+sound/pci/lola/lola_mixer.c:	    (chip->mixer.src_mask & mask) != mask)
+sound/pci/lola/lola_mixer.c:			writew(*gains, &chip->mixer.array->dest_mix_gain[id][i]);
+sound/pci/lola/lola_mixer.c:	writel(mask, &chip->mixer.array->dest_mix_gain_enable[id]);
+sound/pci/lola/lola_mixer.c:	return lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	pin = chip->pin[dir].pins;
+sound/pci/lola/lola_mixer.c:	max_idx = chip->pin[dir].num_pins;
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.array_saved) {
+sound/pci/lola/lola_mixer.c:		memcpy_fromio(chip->mixer.array_saved, chip->mixer.array,
+sound/pci/lola/lola_mixer.c:			      sizeof(*chip->mixer.array));
+sound/pci/lola/lola_mixer.c:	if (chip->mixer.array_saved) {
+sound/pci/lola/lola_mixer.c:		memcpy_toio(chip->mixer.array, chip->mixer.array_saved,
+sound/pci/lola/lola_mixer.c:			    sizeof(*chip->mixer.array));
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.src_phys_ins; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.src_stream_outs; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:					 chip->mixer.src_stream_out_ofs + i, 0);
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.dest_stream_ins; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:		for (i = 0; i < chip->mixer.dest_phys_outs; i++)
+sound/pci/lola/lola_mixer.c:			lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:					 chip->mixer.dest_phys_out_ofs + i, 0);
+sound/pci/lola/lola_mixer.c:	if (idx >= chip->pin[dir].num_pins)
+sound/pci/lola/lola_mixer.c:	pin = &chip->pin[dir].pins[idx];
+sound/pci/lola/lola_mixer.c:	dev_dbg(chip->card->dev,
+sound/pci/lola/lola_mixer.c:	if ((chip->input_src_caps_mask & src_mask) != src_mask)
+sound/pci/lola/lola_mixer.c:	for (n = 0; n < chip->pin[CAPT].num_pins; n += 2) {
+sound/pci/lola/lola_mixer.c:		if (!(chip->input_src_caps_mask & mask))
+sound/pci/lola/lola_mixer.c:			src_state = (chip->input_src_mask & mask) != 0;
+sound/pci/lola/lola_mixer.c:		err = lola_codec_write(chip, chip->pcm[CAPT].streams[n].nid,
+sound/pci/lola/lola_mixer.c:		chip->input_src_mask = src_mask;
+sound/pci/lola/lola_mixer.c:	lola_set_src_config(chip, (1 << chip->pin[CAPT].num_pins) - 1, false);
+sound/pci/lola/lola_mixer.c:	memset_io(chip->mixer.array, 0, sizeof(*chip->mixer.array));
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.dest_stream_ins; i++)
+sound/pci/lola/lola_mixer.c:		lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.dest_phys_outs; i++)
+sound/pci/lola/lola_mixer.c:		lola_codec_write(chip, chip->mixer.nid,
+sound/pci/lola/lola_mixer.c:				 chip->mixer.dest_phys_out_ofs + i, 0);
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.src_phys_ins; i++)
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.src_stream_outs; i++)
+sound/pci/lola/lola_mixer.c:					i + chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.dest_stream_ins; i++) {
+sound/pci/lola/lola_mixer.c:		int src = i % chip->mixer.src_phys_ins;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->mixer.src_stream_outs; i++) {
+sound/pci/lola/lola_mixer.c:		int src = chip->mixer.src_stream_out_ofs + i;
+sound/pci/lola/lola_mixer.c:		int dst = chip->mixer.dest_phys_out_ofs +
+sound/pci/lola/lola_mixer.c:			i % chip->mixer.dest_phys_outs;
+sound/pci/lola/lola_mixer.c:	uinfo->count = chip->pin[dir].num_pins;
+sound/pci/lola/lola_mixer.c:	uinfo->value.integer.max = chip->pin[dir].pins[0].amp_num_steps;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[dir].num_pins; i++)
+sound/pci/lola/lola_mixer.c:			chip->pin[dir].pins[i].cur_gain_step;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[dir].num_pins; i++) {
+sound/pci/lola/lola_mixer.c:	pin = &chip->pin[dir].pins[0];
+sound/pci/lola/lola_mixer.c:	if (!chip->pin[dir].num_pins)
+sound/pci/lola/lola_mixer.c:	if (chip->pin[dir].num_pins != chip->pin[dir].num_analog_pins)
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	uinfo->count = chip->pin[CAPT].num_pins;
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[CAPT].num_pins; i++)
+sound/pci/lola/lola_mixer.c:			!!(chip->input_src_mask & (1 << i));
+sound/pci/lola/lola_mixer.c:	for (i = 0; i < chip->pin[CAPT].num_pins; i++)
+sound/pci/lola/lola_mixer.c:	if (!chip->input_src_caps_mask)
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	mask = readl(&chip->mixer.array->src_gain_enable);
+sound/pci/lola/lola_mixer.c:		if (!(chip->mixer.src_mask & (1 << idx)))
+sound/pci/lola/lola_mixer.c:			val = readw(&chip->mixer.array->src_gain[idx]) + 1;
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	mask = readl(&chip->mixer.array->dest_mix_gain_enable[dst]);
+sound/pci/lola/lola_mixer.c:		if (!(chip->mixer.src_mask & (1 << src)))
+sound/pci/lola/lola_mixer.c:			val = readw(&chip->mixer.array->dest_mix_gain[dst][src]) + 1;
+sound/pci/lola/lola_mixer.c:	return snd_ctl_add(chip->card,
+sound/pci/lola/lola_mixer.c:	err = create_src_gain_mixer(chip, chip->mixer.src_phys_ins, 0,
+sound/pci/lola/lola_mixer.c:	err = create_src_gain_mixer(chip, chip->mixer.src_stream_outs,
+sound/pci/lola/lola_mixer.c:				    chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_phys_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_stream_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_stream_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_phys_ins, 0,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.src_stream_out_ofs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_outs,
+sound/pci/lola/lola_mixer.c:				     chip->mixer.dest_phys_out_ofs,
+sound/pci/lola/lola_pcm.c:	return &chip->pcm[substream->stream];
+sound/pci/lola/lola_pcm.c:	if (chip->granularity) {
+sound/pci/lola/lola_pcm.c:		tstamp += (wait_banks + 1) * chip->granularity - 1;
+sound/pci/lola/lola_pcm.c:		tstamp -= tstamp % chip->granularity;
+sound/pci/lola/lola_pcm.c:	dev_warn(chip->card->dev, "SRST not clear (stream %d)\n", str->dsd);
+sound/pci/lola/lola_pcm.c:	dev_warn(chip->card->dev, "FIFO not ready (stream %d)\n", str->dsd);
+sound/pci/lola/lola_pcm.c:	dev_warn(chip->card->dev, "FIFO not ready (pending %d)\n", pending - 1);
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:		mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	if (chip->sample_rate) {
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_min = chip->sample_rate;
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_max = chip->sample_rate;
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_min = chip->sample_rate_min;
+sound/pci/lola/lola_pcm.c:		runtime->hw.rate_max = chip->sample_rate_max;
+sound/pci/lola/lola_pcm.c:	chip->ref_count_rate++;
+sound/pci/lola/lola_pcm.c:	/* period size = multiple of chip->granularity (8, 16 or 32 frames)*/
+sound/pci/lola/lola_pcm.c:				   chip->granularity);
+sound/pci/lola/lola_pcm.c:				   chip->granularity);
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	if (--chip->ref_count_rate == 0) {
+sound/pci/lola/lola_pcm.c:		chip->sample_rate = 0;
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	dev_err(chip->card->dev, "Too many BDL entries: buffer=%d, period=%d\n",
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev, "Cannot set stream format 0x%x\n",
+sound/pci/lola/lola_pcm.c:			dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:	mutex_lock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:		mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	mutex_unlock(&chip->open_mutex);
+sound/pci/lola/lola_pcm.c:	chip->sample_rate = runtime->rate;	/* sample rate gets locked */
+sound/pci/lola/lola_pcm.c:	spin_lock(&chip->reg_lock);
+sound/pci/lola/lola_pcm.c:	spin_unlock(&chip->reg_lock);
+sound/pci/lola/lola_pcm.c:					  &chip->pci->dev,
+sound/pci/lola/lola_pcm.c:					  PAGE_SIZE, &chip->pcm[i].bdl);
+sound/pci/lola/lola_pcm.c:	err = snd_pcm_new(chip->card, "Digigram Lola", 0,
+sound/pci/lola/lola_pcm.c:			  chip->pcm[SNDRV_PCM_STREAM_PLAYBACK].num_streams,
+sound/pci/lola/lola_pcm.c:			  chip->pcm[SNDRV_PCM_STREAM_CAPTURE].num_streams,
+sound/pci/lola/lola_pcm.c:		if (chip->pcm[i].num_streams)
+sound/pci/lola/lola_pcm.c:					      &chip->pci->dev,
+sound/pci/lola/lola_pcm.c:	snd_dma_free_pages(&chip->pcm[0].bdl);
+sound/pci/lola/lola_pcm.c:	snd_dma_free_pages(&chip->pcm[1].bdl);
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev, "Can't read wcaps for 0x%x\n", nid);
+sound/pci/lola/lola_pcm.c:			dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:			dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:			chip->input_src_caps_mask |= (1 << idx);
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev, "Can't read FORMATS 0x%x\n", nid);
+sound/pci/lola/lola_pcm.c:		dev_err(chip->card->dev,
+sound/pci/lola/lola_pcm.c:	struct lola_pcm *pcm = &chip->pcm[dir];
+sound/pci/lola/lola_proc.c:		    chip->pin[CAPT].num_pins, chip->pin[PLAY].num_pins);
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pcm[CAPT].num_streams; i++, nid++)
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pcm[PLAY].num_streams; i++, nid++)
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pin[CAPT].num_pins; i++, nid++)
+sound/pci/lola/lola_proc.c:	for (i = 0; i < chip->pin[PLAY].num_pins; i++, nid++)
+sound/pci/lola/lola_proc.c:	if (LOLA_AFG_CLOCK_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola_proc.c:	if (LOLA_AFG_MIXER_WIDGET_PRESENT(chip->lola_caps)) {
+sound/pci/lola/lola_proc.c:				&chip->debug_res,
+sound/pci/lola/lola_proc.c:				&chip->debug_res_ex);
+sound/pci/lola/lola_proc.c:	snd_iprintf(buffer, "0x%x 0x%x\n", chip->debug_res, chip->debug_res_ex);
+sound/pci/lola/lola_proc.c:			    readl(chip->bar[BAR0].remap_addr + i));
+sound/pci/lola/lola_proc.c:			    readl(chip->bar[BAR1].remap_addr + i));
+sound/pci/lola/lola_proc.c:			    readl(chip->bar[BAR1].remap_addr + i));
+sound/pci/lola/lola_proc.c:	snd_card_ro_proc_new(chip->card, "codec", chip, lola_proc_codec_read);
+sound/pci/lola/lola_proc.c:	snd_card_rw_proc_new(chip->card, "codec_rw", chip,
+sound/pci/lola/lola_proc.c:	snd_card_ro_proc_new(chip->card, "regs", chip, lola_proc_regs_read);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "allocating pipe for %d channels\n", channels);
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, LXP "allocating pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "setting granularity to %ld failed\n",
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "setting stream format\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "setting stream format failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "starting pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "starting pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "waiting for pipe to start\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "waiting for pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "pausing pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "pausing pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "waiting for pipe to become idle\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "waiting for pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "stopping pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "stopping pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "releasing pipe\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "releasing pipe failed\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_open\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev, "could not constrain periods\n");
+sound/pci/lx6464es/lx6464es.c:	board_rate = chip->board_sample_rate;
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev, "could not constrain periods\n");
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev,
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "<-lx_pcm_open, %d\n", err);
+sound/pci/lx6464es/lx6464es.c:	struct lx_stream *lx_stream = is_capture ? &chip->capture_stream :
+sound/pci/lx6464es/lx6464es.c:		&chip->playback_stream;
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_stream_pointer\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "stream_pointer at %ld\n", pos);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_prepare\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	if (chip->hardware_running[is_capture]) {
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to stop hardware. "
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to close hardware. "
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "opening hardware\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "failed to open hardware. "
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "failed to start hardware. "
+sound/pci/lx6464es/lx6464es.c:	chip->hardware_running[is_capture] = 1;
+sound/pci/lx6464es/lx6464es.c:	if (chip->board_sample_rate != substream->runtime->rate) {
+sound/pci/lx6464es/lx6464es.c:			chip->board_sample_rate = substream->runtime->rate;
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_hw_params\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:		chip->capture_stream.stream = substream;
+sound/pci/lx6464es/lx6464es.c:		chip->playback_stream.stream = substream;
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_hw_free\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	if (chip->hardware_running[is_capture]) {
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to stop hardware. "
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "failed to close hardware. "
+sound/pci/lx6464es/lx6464es.c:		chip->hardware_running[is_capture] = 0;
+sound/pci/lx6464es/lx6464es.c:		chip->capture_stream.stream = NULL;
+sound/pci/lx6464es/lx6464es.c:		chip->playback_stream.stream = NULL;
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:		dev_dbg(chip->card->dev, "starting: needed %d, freed %d\n",
+sound/pci/lx6464es/lx6464es.c:		dev_dbg(chip->card->dev, "starting: buffer index %x on 0x%lx (%d bytes)\n",
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "starting: needed %d, freed %d\n", needed, freed);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "starting: starting stream\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "couldn't start stream\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "stopping: stopping stream\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "couldn't stop stream\n");
+sound/pci/lx6464es/lx6464es.c:	mutex_lock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	lx_trigger_dispatch_stream(chip, &chip->capture_stream);
+sound/pci/lx6464es/lx6464es.c:	lx_trigger_dispatch_stream(chip, &chip->playback_stream);
+sound/pci/lx6464es/lx6464es.c:	mutex_unlock(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	struct lx_stream *stream = is_capture ? &chip->capture_stream :
+sound/pci/lx6464es/lx6464es.c:		&chip->playback_stream;
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_pcm_trigger\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->snd_lx6464es_free\n");
+sound/pci/lx6464es/lx6464es.c:	if (chip->irq >= 0)
+sound/pci/lx6464es/lx6464es.c:		free_irq(chip->irq, chip);
+sound/pci/lx6464es/lx6464es.c:	iounmap(chip->port_dsp_bar);
+sound/pci/lx6464es/lx6464es.c:	ioport_unmap(chip->port_plx_remapped);
+sound/pci/lx6464es/lx6464es.c:	pci_release_regions(chip->pci);
+sound/pci/lx6464es/lx6464es.c:	pci_disable_device(chip->pci);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_xilinx_reset\n");
+sound/pci/lx6464es/lx6464es.c:			dev_dbg(chip->card->dev, "xilinx reset done\n");
+sound/pci/lx6464es/lx6464es.c:			dev_dbg(chip->card->dev, "xilinx took %d loops\n", i);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_xilinx_test\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "Problem: Reg_CSM %x.\n", reg);
+sound/pci/lx6464es/lx6464es.c:			dev_err(chip->card->dev, "Error: Reg_CSM %x.\n", reg);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "Xilinx/MicroBlaze access test successful\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_ethersound\n");
+sound/pci/lx6464es/lx6464es.c:	chip->freq_ratio = FREQ_RATIO_SINGLE_MODE;
+sound/pci/lx6464es/lx6464es.c:			dev_dbg(chip->card->dev, "ethersound initialized after %dms\n",
+sound/pci/lx6464es/lx6464es.c:	dev_warn(chip->card->dev,
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "ethersound initialized\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_get_version_features\n");
+sound/pci/lx6464es/lx6464es.c:		dev_info(chip->card->dev, "DSP version: V%02d.%02d #%d\n",
+sound/pci/lx6464es/lx6464es.c:			chip->board_sample_rate = freq;
+sound/pci/lx6464es/lx6464es.c:		dev_dbg(chip->card->dev, "actual clock frequency %d\n", freq);
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "DSP corrupted \n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_set_granularity\n");
+sound/pci/lx6464es/lx6464es.c:	if (snapped_gran == chip->pcm_granularity)
+sound/pci/lx6464es/lx6464es.c:		dev_warn(chip->card->dev, "could not set granularity\n");
+sound/pci/lx6464es/lx6464es.c:		dev_err(chip->card->dev, "snapped blocksize to %d\n", snapped_gran);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "set blocksize on board %d\n", snapped_gran);
+sound/pci/lx6464es/lx6464es.c:	chip->pcm_granularity = snapped_gran;
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "->lx_init_dsp\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "initialize board\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "testing board\n");
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "initialize ethersound configuration\n");
+sound/pci/lx6464es/lx6464es.c:		if (chip->mac_address[0] || chip->mac_address[1] || chip->mac_address[2] ||
+sound/pci/lx6464es/lx6464es.c:		    chip->mac_address[3] || chip->mac_address[4] || chip->mac_address[5])
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "mac address ready read after: %dms\n", i);
+sound/pci/lx6464es/lx6464es.c:	dev_info(chip->card->dev,
+sound/pci/lx6464es/lx6464es.c:		   chip->mac_address[0], chip->mac_address[1], chip->mac_address[2],
+sound/pci/lx6464es/lx6464es.c:		   chip->mac_address[3], chip->mac_address[4], chip->mac_address[5]);
+sound/pci/lx6464es/lx6464es.c:	chip->playback_mute = 0;
+sound/pci/lx6464es/lx6464es.c:	err = snd_pcm_new(chip->card, (char *)card_name, 0,
+sound/pci/lx6464es/lx6464es.c:					      &chip->pci->dev,
+sound/pci/lx6464es/lx6464es.c:	chip->pcm = pcm;
+sound/pci/lx6464es/lx6464es.c:	chip->capture_stream.is_capture = 1;
+sound/pci/lx6464es/lx6464es.c:	ucontrol->value.integer.value[0] = chip->playback_mute;
+sound/pci/lx6464es/lx6464es.c:	int current_value = chip->playback_mute;
+sound/pci/lx6464es/lx6464es.c:		chip->playback_mute = !current_value;
+sound/pci/lx6464es/lx6464es.c:	chip->card = card;
+sound/pci/lx6464es/lx6464es.c:	chip->pci = pci;
+sound/pci/lx6464es/lx6464es.c:	chip->irq = -1;
+sound/pci/lx6464es/lx6464es.c:	mutex_init(&chip->lock);
+sound/pci/lx6464es/lx6464es.c:	mutex_init(&chip->msg_lock);
+sound/pci/lx6464es/lx6464es.c:	mutex_init(&chip->setup_mutex);
+sound/pci/lx6464es/lx6464es.c:	chip->port_plx = pci_resource_start(pci, 1);
+sound/pci/lx6464es/lx6464es.c:	chip->port_plx_remapped = ioport_map(chip->port_plx,
+sound/pci/lx6464es/lx6464es.c:	chip->port_dsp_bar = pci_ioremap_bar(pci, 2);
+sound/pci/lx6464es/lx6464es.c:	if (!chip->port_dsp_bar) {
+sound/pci/lx6464es/lx6464es.c:	chip->irq = pci->irq;
+sound/pci/lx6464es/lx6464es.c:	iounmap(chip->port_dsp_bar);
+sound/pci/lx6464es/lx6464es.c:		chip->mac_address[3], chip->mac_address[4], chip->mac_address[5]);
+sound/pci/lx6464es/lx6464es.c:		chip->mac_address[0], chip->mac_address[1], chip->mac_address[2],
+sound/pci/lx6464es/lx6464es.c:		chip->mac_address[3], chip->mac_address[4], chip->mac_address[5]);
+sound/pci/lx6464es/lx6464es.c:		card->shortname, chip->port_plx,
+sound/pci/lx6464es/lx6464es.c:		chip->port_dsp_bar, chip->irq);
+sound/pci/lx6464es/lx6464es.c:	dev_dbg(chip->card->dev, "initialization successful\n");
+sound/pci/lx6464es/lx_core.c:	void __iomem *base_address = chip->port_dsp_bar;
+sound/pci/lx6464es/lx_core.c:	void __iomem *base_address = chip->port_plx_remapped;
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "PIOSendMessage eReg_CSM %x\n", reg);
+sound/pci/lx6464es/lx_core.c:	dev_warn(chip->card->dev, "TIMEOUT lx_message_send_atomic! "
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "rmh error: %08x\n", reg);
+sound/pci/lx6464es/lx_core.c:		dev_warn(chip->card->dev, "lx_message_send: dsp timeout\n");
+sound/pci/lx6464es/lx_core.c:		dev_warn(chip->card->dev, "lx_message_send: dsp crashed\n");
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG);
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	*rdsp_version = chip->rmh.stat[1];
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG);
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		freq_raw = chip->rmh.stat[0] >> FREQ_FIELD_OFFSET;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	*rfreq = frequency * chip->freq_ratio;
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[5] = ((u8 *)(&maclsb))[0];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[4] = ((u8 *)(&maclsb))[1];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[3] = ((u8 *)(&maclsb))[2];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[2] = ((u8 *)(&macmsb))[0];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[1] = ((u8 *)(&macmsb))[1];
+sound/pci/lx6464es/lx_core.c:	chip->mac_address[0] = ((u8 *)(&macmsb))[2];
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_02_SET_GRANULARITY);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= gran;
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_04_GET_EVENT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.stat_len = 9;	/* we don't necessarily need the full length */
+sound/pci/lx6464es/lx_core.c:	ret = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		memcpy(data, chip->rmh.stat, chip->rmh.stat_len * sizeof(u32));
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_06_ALLOCATE_PIPE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= channels;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "could not allocate pipe\n");
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_07_RELEASE_PIPE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_08_ASK_BUFFERS);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:			u32 stat = chip->rmh.stat[i];
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:			for (i = 0; i != chip->rmh.stat_len; ++i)
+sound/pci/lx6464es/lx_core.c:				dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:					    chip->rmh.stat[i],
+sound/pci/lx6464es/lx_core.c:					    chip->rmh.stat[i] & MASK_DATA_SIZE);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_09_STOP_PIPE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0B_TOGGLE_PIPE_STATE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.stat_len = 2;	/* need all words here! */
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh); /* don't sleep! */
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		*rsample_count = ((u64)(chip->rmh.stat[0] & MASK_SPL_COUNT_HI)
+sound/pci/lx6464es/lx_core.c:			+ chip->rmh.stat[1]; /* lo part */
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "could not query pipe's state\n");
+sound/pci/lx6464es/lx_core.c:		*rstate = (chip->rmh.stat[0] >> PSTATE_OFFSET) & 0x0F;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_13_SET_STREAM_STATE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= state;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "channel count mismatch: %d vs %d",
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0C_DEF_STREAM);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= (STREAM_FMT_16b << STREAM_FMT_OFFSET);
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= (STREAM_FMT_intel << STREAM_FMT_OFFSET);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= channels-1;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	*rstate = (chip->rmh.stat[0] & SF_START) ? START_STATE : PAUSE_STATE;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	*r_bytepos = ((u64) (chip->rmh.stat[0] & MASK_SPL_COUNT_HI)
+sound/pci/lx6464es/lx_core.c:		+ chip->rmh.stat[1]; /* lo part */
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0F_UPDATE_BUFFER);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= BF_NOTIFY_EOB; /* request interrupt notification */
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[1] = buffer_size & MASK_DATA_SIZE;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[2] = buf_address_lo;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd_len = 4;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[3] = buf_address_hi;
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= BF_64BITS_ADR;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		*r_buffer_index = chip->rmh.stat[0];
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= MASK_BUFFER_ID; /* ask for the current buffer: the
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:		*r_buffer_size = chip->rmh.stat[0]  & MASK_DATA_SIZE;
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= pipe_cmd;
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= buffer_index;
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	lx_message_init(&chip->rmh, CMD_0D_SET_MUTE);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, 0);
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[1] = (u32)(mute_mask >> (u64)32);	       /* hi part */
+sound/pci/lx6464es/lx_core.c:	chip->rmh.cmd[2] = (u32)(mute_mask & (u64)0xFFFFFFFF); /* lo part */
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		"mute %x %x %x\n", chip->rmh.cmd[0], chip->rmh.cmd[1],
+sound/pci/lx6464es/lx_core.c:		   chip->rmh.cmd[2]);
+sound/pci/lx6464es/lx_core.c:	err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		lx_message_init(&chip->rmh, CMD_12_GET_PEAK);
+sound/pci/lx6464es/lx_core.c:		chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, i);
+sound/pci/lx6464es/lx_core.c:		err = lx_message_send_atomic(chip, &chip->rmh);
+sound/pci/lx6464es/lx_core.c:			s0 = peak_map[chip->rmh.stat[0] & 0x0F];
+sound/pci/lx6464es/lx_core.c:			s1 = peak_map[(chip->rmh.stat[0] >>  4) & 0xf];
+sound/pci/lx6464es/lx_core.c:			s2 = peak_map[(chip->rmh.stat[0] >>  8) & 0xf];
+sound/pci/lx6464es/lx_core.c:			s3 = peak_map[(chip->rmh.stat[0] >>  12) & 0xf];
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->msg_lock);
+sound/pci/lx6464es/lx_core.c:		/* dev_dbg(chip->card->dev, "interrupt: async event pending\n"); */
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBI pending %llx\n",
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBO pending %llx\n",
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev, "->lx_interrupt_request_new_buffer\n");
+sound/pci/lx6464es/lx_core.c:	mutex_lock(&chip->lock);
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	mutex_unlock(&chip->lock);
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "IRQ_NONE\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBI\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: EOBO\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: URUN\n");
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt: ORUN\n");
+sound/pci/lx6464es/lx_core.c:		chip->irqsrc = irqsrc;
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev, "interrupt requests escmd handling\n");
+sound/pci/lx6464es/lx_core.c:	err = lx_interrupt_handle_async_events(chip, chip->irqsrc,
+sound/pci/lx6464es/lx_core.c:		dev_err(chip->card->dev, "error handling async events\n");
+sound/pci/lx6464es/lx_core.c:		struct lx_stream *lx_stream = &chip->capture_stream;
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:			dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:		struct lx_stream *lx_stream = &chip->playback_stream;
+sound/pci/lx6464es/lx_core.c:		dev_dbg(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:			dev_err(chip->card->dev,
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev, "->lx_irq_enable\n");
+sound/pci/lx6464es/lx_core.c:	dev_dbg(chip->card->dev, "->lx_irq_disable\n");
+sound/pci/maestro3.c:	outw(value, chip->iobase + reg);
+sound/pci/maestro3.c:	return inw(chip->iobase + reg);
+sound/pci/maestro3.c:	outb(value, chip->iobase + reg);
+sound/pci/maestro3.c:	return inb(chip->iobase + reg);
+sound/pci/maestro3.c:	chip->reset_state = snd_m3_inb(chip, DSP_PORT_CONTROL_REG_B) & ~REGB_STOP_CLOCK;
+sound/pci/maestro3.c:	snd_m3_outb(chip, chip->reset_state & ~REGB_ENABLE_RESET, DSP_PORT_CONTROL_REG_B);
+sound/pci/maestro3.c:	snd_m3_outb(chip, chip->reset_state | REGB_ENABLE_RESET, DSP_PORT_CONTROL_REG_B);
+sound/pci/maestro3.c:	chip->timer_users++;
+sound/pci/maestro3.c:	if (chip->timer_users != 1) 
+sound/pci/maestro3.c:	chip->timer_users--;
+sound/pci/maestro3.c:	if (chip->timer_users > 0)  
+sound/pci/maestro3.c:		chip->dacs_active++;
+sound/pci/maestro3.c:				  chip->dacs_active);
+sound/pci/maestro3.c:		chip->dacs_active--;
+sound/pci/maestro3.c:				  chip->dacs_active);
+sound/pci/maestro3.c:	spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:		spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:		spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:	x = inb(chip->iobase + SHADOW_MIX_REG_VOICE) & 0xee;
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + SHADOW_MIX_REG_VOICE);
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + HW_VOL_COUNTER_VOICE);
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + SHADOW_MIX_REG_MASTER);
+sound/pci/maestro3.c:	outb(0x88, chip->iobase + HW_VOL_COUNTER_MASTER);
+sound/pci/maestro3.c:	if (chip->in_suspend)
+sound/pci/maestro3.c:	if (!chip->master_switch || !chip->master_volume)
+sound/pci/maestro3.c:	val = snd_ac97_read(chip->ac97, AC97_MASTER);
+sound/pci/maestro3.c:	if (snd_ac97_update(chip->ac97, AC97_MASTER, val))
+sound/pci/maestro3.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/maestro3.c:			       &chip->master_switch->id);
+sound/pci/maestro3.c:	if (!chip->input_dev)
+sound/pci/maestro3.c:		input_report_key(chip->input_dev, val, 1);
+sound/pci/maestro3.c:		input_sync(chip->input_dev);
+sound/pci/maestro3.c:		input_report_key(chip->input_dev, val, 0);
+sound/pci/maestro3.c:		input_sync(chip->input_dev);
+sound/pci/maestro3.c:	status = inb(chip->iobase + HOST_INT_STATUS);
+sound/pci/maestro3.c:		schedule_work(&chip->hwvol_work);
+sound/pci/maestro3.c:		u8 ctl = inb(chip->iobase + ASSP_CONTROL_B);
+sound/pci/maestro3.c:			ctl = inb(chip->iobase + ASSP_HOST_INT_STATUS);
+sound/pci/maestro3.c:				outb(DSP2HOST_REQ_TIMER, chip->iobase + ASSP_HOST_INT_STATUS);
+sound/pci/maestro3.c:				spin_lock(&chip->reg_lock);
+sound/pci/maestro3.c:				for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:					struct m3_dma *s = &chip->substreams[i];
+sound/pci/maestro3.c:				spin_unlock(&chip->reg_lock);
+sound/pci/maestro3.c:	if ((status & MPU401_INT_PENDING) && chip->rmidi)
+sound/pci/maestro3.c:		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs);
+sound/pci/maestro3.c:	outb(status, chip->iobase + HOST_INT_STATUS);
+sound/pci/maestro3.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:		s = &chip->substreams[i];
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:		s->index_list[0] = &chip->mixer_list;
+sound/pci/maestro3.c:		s->index_list[0] = &chip->adc1_list;
+sound/pci/maestro3.c:	s->index_list[1] = &chip->msrc_list;
+sound/pci/maestro3.c:	s->index_list[2] = &chip->dma_list;
+sound/pci/maestro3.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:	err = snd_pcm_new(chip->card, chip->card->driver, device,
+sound/pci/maestro3.c:	strcpy(pcm->name, chip->card->driver);
+sound/pci/maestro3.c:	chip->pcm = pcm;
+sound/pci/maestro3.c:					      &chip->pci->dev,
+sound/pci/maestro3.c:	dev_err(chip->card->dev, "ac97 serial bus busy\n");
+sound/pci/maestro3.c:	int io = chip->iobase;
+sound/pci/maestro3.c:	if (chip->pci->subsystem_vendor == 0x1028 &&
+sound/pci/maestro3.c:	    chip->pci->subsystem_device == 0x00e5)
+sound/pci/maestro3.c:	int io = chip->iobase;
+sound/pci/maestro3.c:	if (chip->allegro_flag) {
+sound/pci/maestro3.c:		if (!chip->irda_workaround)
+sound/pci/maestro3.c:		dev_dbg(chip->card->dev,
+sound/pci/maestro3.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/maestro3.c:	if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97)) < 0)
+sound/pci/maestro3.c:	snd_ac97_write(chip->ac97, AC97_PCM, 0x8000 | (15 << 8) | 15);
+sound/pci/maestro3.c:	snd_ac97_write(chip->ac97, AC97_PCM, 0);
+sound/pci/maestro3.c:	chip->master_switch = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/maestro3.c:	chip->master_volume = snd_ctl_find_id(chip->card, &elem_id);
+sound/pci/maestro3.c:	data = (const __le16 *)chip->assp_kernel_image->data;
+sound/pci/maestro3.c:	for (i = 0 ; i * 2 < chip->assp_kernel_image->size; i++) {
+sound/pci/maestro3.c:	data = (const __le16 *)chip->assp_minisrc_image->data;
+sound/pci/maestro3.c:	for (i = 0; i * 2 < chip->assp_minisrc_image->size; i++) {
+sound/pci/maestro3.c:	chip->mixer_list.curlen = 0;
+sound/pci/maestro3.c:	chip->mixer_list.mem_addr = KDATA_MIXER_XFER0;
+sound/pci/maestro3.c:	chip->mixer_list.max = MAX_VIRTUAL_MIXER_CHANNELS;
+sound/pci/maestro3.c:	chip->adc1_list.curlen = 0;
+sound/pci/maestro3.c:	chip->adc1_list.mem_addr = KDATA_ADC1_XFER0;
+sound/pci/maestro3.c:	chip->adc1_list.max = MAX_VIRTUAL_ADC1_CHANNELS;
+sound/pci/maestro3.c:	chip->dma_list.curlen = 0;
+sound/pci/maestro3.c:	chip->dma_list.mem_addr = KDATA_DMA_XFER0;
+sound/pci/maestro3.c:	chip->dma_list.max = MAX_VIRTUAL_DMA_CHANNELS;
+sound/pci/maestro3.c:	chip->msrc_list.curlen = 0;
+sound/pci/maestro3.c:	chip->msrc_list.mem_addr = KDATA_INSTANCE0_MINISRC;
+sound/pci/maestro3.c:	chip->msrc_list.max = MAX_INSTANCE_MINISRC;
+sound/pci/maestro3.c:		dev_err(chip->card->dev,
+sound/pci/maestro3.c:	int io = chip->iobase;
+sound/pci/maestro3.c:	if (! chip->external_amp)
+sound/pci/maestro3.c:	polarity = polarity << chip->amp_gpio;
+sound/pci/maestro3.c:	gpo = 1 << chip->amp_gpio;
+sound/pci/maestro3.c:	unsigned long io = chip->iobase;
+sound/pci/maestro3.c:	if (!chip->is_omnibook)
+sound/pci/maestro3.c:	struct pci_dev *pcidev = chip->pci;
+sound/pci/maestro3.c:	unsigned long io = chip->iobase;
+sound/pci/maestro3.c:	n |= chip->hv_config;
+sound/pci/maestro3.c:	outb(RESET_ASSP, chip->iobase + ASSP_CONTROL_B);
+sound/pci/maestro3.c:	if (!chip->allegro_flag) {
+sound/pci/maestro3.c:	if (chip->allegro_flag) {
+sound/pci/maestro3.c:	t = inb(chip->iobase + ASSP_CONTROL_A);
+sound/pci/maestro3.c:	outb(t, chip->iobase + ASSP_CONTROL_A);
+sound/pci/maestro3.c:	outb(RUN_ASSP, chip->iobase + ASSP_CONTROL_B); 
+sound/pci/maestro3.c:	unsigned long io = chip->iobase;
+sound/pci/maestro3.c:	if (chip->hv_config & HV_CTRL_ENABLE)
+sound/pci/maestro3.c:	outb(val, chip->iobase + HOST_INT_STATUS);
+sound/pci/maestro3.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/maestro3.c:	if (chip->input_dev)
+sound/pci/maestro3.c:		input_unregister_device(chip->input_dev);
+sound/pci/maestro3.c:	if (chip->substreams) {
+sound/pci/maestro3.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:		for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:			s = &chip->substreams[i];
+sound/pci/maestro3.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/maestro3.c:		kfree(chip->substreams);
+sound/pci/maestro3.c:	if (chip->iobase) {
+sound/pci/maestro3.c:		outw(0, chip->iobase + HOST_INT_CTRL); /* disable ints */
+sound/pci/maestro3.c:	vfree(chip->suspend_mem);
+sound/pci/maestro3.c:	if (chip->irq >= 0)
+sound/pci/maestro3.c:		free_irq(chip->irq, chip);
+sound/pci/maestro3.c:	if (chip->iobase)
+sound/pci/maestro3.c:		pci_release_regions(chip->pci);
+sound/pci/maestro3.c:	release_firmware(chip->assp_kernel_image);
+sound/pci/maestro3.c:	release_firmware(chip->assp_minisrc_image);
+sound/pci/maestro3.c:	pci_disable_device(chip->pci);
+sound/pci/maestro3.c:	if (chip->suspend_mem == NULL)
+sound/pci/maestro3.c:	chip->in_suspend = 1;
+sound/pci/maestro3.c:	cancel_work_sync(&chip->hwvol_work);
+sound/pci/maestro3.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/maestro3.c:		chip->suspend_mem[dsp_index++] =
+sound/pci/maestro3.c:		chip->suspend_mem[dsp_index++] =
+sound/pci/maestro3.c:	if (chip->suspend_mem == NULL)
+sound/pci/maestro3.c:				  chip->suspend_mem[dsp_index++]);
+sound/pci/maestro3.c:				  chip->suspend_mem[dsp_index++]);
+sound/pci/maestro3.c:	snd_ac97_resume(chip->ac97);
+sound/pci/maestro3.c:	chip->in_suspend = 0;
+sound/pci/maestro3.c:	snprintf(chip->phys, sizeof(chip->phys), "pci-%s/input0",
+sound/pci/maestro3.c:		 pci_name(chip->pci));
+sound/pci/maestro3.c:	input_dev->name = chip->card->driver;
+sound/pci/maestro3.c:	input_dev->phys = chip->phys;
+sound/pci/maestro3.c:	input_dev->id.vendor  = chip->pci->vendor;
+sound/pci/maestro3.c:	input_dev->id.product = chip->pci->device;
+sound/pci/maestro3.c:	input_dev->dev.parent = &chip->pci->dev;
+sound/pci/maestro3.c:	chip->input_dev = input_dev;
+sound/pci/maestro3.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/maestro3.c:		chip->allegro_flag = 1;
+sound/pci/maestro3.c:	chip->card = card;
+sound/pci/maestro3.c:	chip->pci = pci;
+sound/pci/maestro3.c:	chip->irq = -1;
+sound/pci/maestro3.c:	INIT_WORK(&chip->hwvol_work, snd_m3_update_hw_volume);
+sound/pci/maestro3.c:	chip->external_amp = enable_amp;
+sound/pci/maestro3.c:		chip->amp_gpio = amp_gpio;
+sound/pci/maestro3.c:			chip->amp_gpio = quirk->value;
+sound/pci/maestro3.c:		} else if (chip->allegro_flag)
+sound/pci/maestro3.c:			chip->amp_gpio = GPO_EXT_AMP_ALLEGRO;
+sound/pci/maestro3.c:			chip->amp_gpio = GPO_EXT_AMP_M3;
+sound/pci/maestro3.c:		chip->irda_workaround = 1;
+sound/pci/maestro3.c:		chip->hv_config = quirk->value;
+sound/pci/maestro3.c:		chip->is_omnibook = 1;
+sound/pci/maestro3.c:	chip->num_substreams = NR_DSPS;
+sound/pci/maestro3.c:	chip->substreams = kcalloc(chip->num_substreams, sizeof(struct m3_dma),
+sound/pci/maestro3.c:	if (chip->substreams == NULL) {
+sound/pci/maestro3.c:	err = request_firmware(&chip->assp_kernel_image,
+sound/pci/maestro3.c:	err = request_firmware(&chip->assp_minisrc_image,
+sound/pci/maestro3.c:	chip->iobase = pci_resource_start(pci, 0);
+sound/pci/maestro3.c:	chip->irq = pci->irq;
+sound/pci/maestro3.c:	chip->suspend_mem =
+sound/pci/maestro3.c:	if (chip->suspend_mem == NULL)
+sound/pci/maestro3.c:	for (i = 0; i < chip->num_substreams; i++) {
+sound/pci/maestro3.c:		struct m3_dma *s = &chip->substreams[i];
+sound/pci/maestro3.c:	if (chip->hv_config & HV_CTRL_ENABLE) {
+sound/pci/maestro3.c:		card->shortname, chip->iobase, chip->irq);
+sound/pci/maestro3.c:	err = snd_mpu401_uart_new(chip->card, 0, MPU401_HW_MPU401,
+sound/pci/maestro3.c:				  chip->iobase + MPU401_DATA_PORT,
+sound/pci/maestro3.c:				  -1, &chip->rmidi);
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_in_ana);  /* analog inputs */
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_in_dig); /* digital inputs */
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_out_ana);  /* analog outputs */
+sound/pci/mixart/mixart.c:			pipe = &(chip->pipe_out_dig);  /* digital outputs */
+sound/pci/mixart/mixart.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, pcm_number);
+sound/pci/mixart/mixart.c:			j = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (pcm_number * (MIXART_PLAYBACK_STREAMS + MIXART_CAPTURE_STREAMS)) + i;
+sound/pci/mixart/mixart.c:			flowinfo = (struct mixart_flowinfo *)chip->mgr->flowinfo.area;
+sound/pci/mixart/mixart.c:			flowinfo[j].bufferinfo_array_phy_address = (u32)chip->mgr->bufferinfo.addr + (j * sizeof(struct mixart_bufferinfo));
+sound/pci/mixart/mixart.c:			bufferinfo = (struct mixart_bufferinfo *)chip->mgr->bufferinfo.area;
+sound/pci/mixart/mixart.c:			bufferinfo[j].buffer_id = (chip->chip_idx << MIXART_NOTIFY_CARD_OFFSET) + (pcm_number << MIXART_NOTIFY_PCM_OFFSET ) + i;
+sound/pci/mixart/mixart.c:		err = snd_mixart_send_msg(chip->mgr, &request, sizeof(buf->sgroup_resp), &buf->sgroup_resp);
+sound/pci/mixart/mixart.c:			dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:	return snd_mixart_send_msg_nonblock(chip->mgr, &request);
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev, "snd_mixart_prepare\n");
+sound/pci/mixart/mixart.c:	mixart_sync_nonblock_events(chip->mgr);
+sound/pci/mixart/mixart.c:	if(chip->mgr->ref_count_rate == 1)
+sound/pci/mixart/mixart.c:		chip->mgr->sample_rate = subs->runtime->rate;
+sound/pci/mixart/mixart.c:		if( mixart_set_clock(chip->mgr, stream->pipe, subs->runtime->rate) )
+sound/pci/mixart/mixart.c:	stream_param.sampling_freq = chip->mgr->sample_rate;
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:	struct mixart_mgr *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:		int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STREAMS+MIXART_CAPTURE_STREAMS)) + subs->number;
+sound/pci/mixart/mixart.c:		bufferinfo = (struct mixart_bufferinfo *)chip->mgr->bufferinfo.area;
+sound/pci/mixart/mixart.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:	mixart_sync_nonblock_events(chip->mgr);
+sound/pci/mixart/mixart.c:	struct mixart_mgr        *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:	if ( pcm == chip->pcm ) {
+sound/pci/mixart/mixart.c:		snd_BUG_ON(pcm != chip->pcm_dig);
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart.c:		chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	stream = &(chip->playback_stream[pcm_number][subs->number]);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	err = mixart_set_pipe_state(chip->mgr, pipe, 1);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev, "error starting pipe!\n");
+sound/pci/mixart/mixart.c:		snd_mixart_kill_ref_pipe(chip->mgr, pipe, 0);
+sound/pci/mixart/mixart.c:	struct mixart_mgr        *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:	if ( pcm == chip->pcm ) {
+sound/pci/mixart/mixart.c:		snd_BUG_ON(pcm != chip->pcm_dig);
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev, "snd_mixart_capture_open C%d/P%d/Sub%d\n",
+sound/pci/mixart/mixart.c:		chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	stream = &(chip->capture_stream[pcm_number]);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, pcm_number, subs->number);
+sound/pci/mixart/mixart.c:	err = mixart_set_pipe_state(chip->mgr, pipe, 1);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev, "error starting pipe!\n");
+sound/pci/mixart/mixart.c:		snd_mixart_kill_ref_pipe(chip->mgr, pipe, 0);
+sound/pci/mixart/mixart.c:	struct mixart_mgr *mgr = chip->mgr;
+sound/pci/mixart/mixart.c:	dev_dbg(chip->card->dev, "snd_mixart_close C%d/P%d/Sub%d\n",
+sound/pci/mixart/mixart.c:		chip->chip_idx, stream->pcm_number, subs->number);
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			chip->chip_idx, stream->pcm_number);
+sound/pci/mixart/mixart.c:				(chip->chip_idx + 1) << 24;
+sound/pci/mixart/mixart.c:					      &chip->mgr->pci->dev,
+sound/pci/mixart/mixart.c:	sprintf(name, "miXart analog %d", chip->chip_idx);
+sound/pci/mixart/mixart.c:	if ((err = snd_pcm_new(chip->card, name, MIXART_PCM_ANALOG,
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			"cannot create the analog pcm %d\n", chip->chip_idx);
+sound/pci/mixart/mixart.c:	chip->pcm = pcm;
+sound/pci/mixart/mixart.c:	sprintf(name, "miXart AES/EBU %d", chip->chip_idx);
+sound/pci/mixart/mixart.c:	if ((err = snd_pcm_new(chip->card, name, MIXART_PCM_DIGITAL,
+sound/pci/mixart/mixart.c:		dev_err(chip->card->dev,
+sound/pci/mixart/mixart.c:			"cannot create the digital pcm %d\n", chip->chip_idx);
+sound/pci/mixart/mixart.c:	chip->pcm_dig = pcm;
+sound/pci/mixart/mixart.c:	chip->card = card;
+sound/pci/mixart/mixart.c:	chip->chip_idx = idx;
+sound/pci/mixart/mixart.c:	chip->mgr = mgr;
+sound/pci/mixart/mixart.c:	if(chip->mgr->board_type == MIXART_DAUGHTER_TYPE_AES) {
+sound/pci/mixart/mixart.c:	snd_iprintf(buffer, "Digigram miXart (alsa card %d)\n\n", chip->chip_idx);
+sound/pci/mixart/mixart.c:	if (chip->mgr->dsp_loaded & ( 1 << MIXART_MOTHERBOARD_ELF_INDEX)) {
+sound/pci/mixart/mixart.c:		switch (chip->mgr->board_type ) {
+sound/pci/mixart/mixart.c:		ref = readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_SYSTEM_LOAD_OFFSET));
+sound/pci/mixart/mixart.c:			u32 mailbox   = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_MAILBX_LOAD_OFFSET)) / ref;
+sound/pci/mixart/mixart.c:			u32 streaming = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_STREAM_LOAD_OFFSET)) / ref;
+sound/pci/mixart/mixart.c:			u32 interr    = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_INTERR_LOAD_OFFSET)) / ref;
+sound/pci/mixart/mixart.c:	snd_card_ro_proc_new(chip->card, "board_info", chip,
+sound/pci/mixart/mixart.c:	if (! snd_card_proc_new(chip->card, "mixart_BA0", &entry)) {
+sound/pci/mixart/mixart.c:		entry->private_data = chip->mgr;	
+sound/pci/mixart/mixart.c:	if (! snd_card_proc_new(chip->card, "mixart_BA1", &entry)) {
+sound/pci/mixart/mixart.c:		entry->private_data = chip->mgr;
+sound/pci/mixart/mixart_core.c:						stream = &chip->capture_stream[pcm_number];
+sound/pci/mixart/mixart_core.c:						stream = &chip->playback_stream[pcm_number][sub_number];
+sound/pci/mixart/mixart_hwdep.c:			if ((err = snd_mixart_create_mixer(chip->mgr)) < 0)
+sound/pci/mixart/mixart_hwdep.c:		if ((err = snd_card_register(chip->card)) < 0)
+sound/pci/mixart/mixart_mixer.c:			io_level.level[i].analog_level = mixart_analog_level[chip->analog_capture_volume[i]];
+sound/pci/mixart/mixart_mixer.c:			if(chip->analog_playback_active[i])
+sound/pci/mixart/mixart_mixer.c:				io_level.level[i].analog_level = mixart_analog_level[chip->analog_playback_volume[i]];
+sound/pci/mixart/mixart_mixer.c:	if(is_capture)	request.uid = chip->uid_in_analog_physio;
+sound/pci/mixart/mixart_mixer.c:	else		request.uid = chip->uid_out_analog_physio;
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, is_capture, resp.error_code);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[0] = chip->analog_playback_volume[0];
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[1] = chip->analog_playback_volume[1];
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[0] = chip->analog_capture_volume[0];
+sound/pci/mixart/mixart_mixer.c:		ucontrol->value.integer.value[1] = chip->analog_capture_volume[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:			&chip->analog_capture_volume[i] :
+sound/pci/mixart/mixart_mixer.c:			&chip->analog_playback_volume[i];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->analog_playback_active[0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->analog_playback_active[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->analog_playback_active[i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->analog_playback_active[i] =
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_out_dig;	/* AES playback */
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_out_ana;	/* analog playback */
+sound/pci/mixart/mixart_mixer.c:		if(chip->digital_playback_active[idx][i])
+sound/pci/mixart/mixart_mixer.c:			volume[i] = chip->digital_playback_volume[idx][i];
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(status), &status);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, status);
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_in_dig;
+sound/pci/mixart/mixart_mixer.c:		pipe = &chip->pipe_in_ana;
+sound/pci/mixart/mixart_mixer.c:		set_level.level[i].digital_level = mixart_digital_level[chip->digital_capture_volume[idx][i]];
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(status), &status);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, status);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if(is_aes)	stored_volume = chip->digital_capture_volume[1];	/* AES capture */
+sound/pci/mixart/mixart_mixer.c:		else		stored_volume = chip->digital_capture_volume[0];	/* analog capture */
+sound/pci/mixart/mixart_mixer.c:		if(is_aes)	stored_volume = chip->digital_playback_volume[MIXART_PLAYBACK_STREAMS + idx]; /* AES playback */
+sound/pci/mixart/mixart_mixer.c:		else		stored_volume = chip->digital_playback_volume[idx];	/* analog playback */
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_capture_volume[1];
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_capture_volume[0];
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_playback_volume[MIXART_PLAYBACK_STREAMS + idx];
+sound/pci/mixart/mixart_mixer.c:			stored_volume = chip->digital_playback_volume[idx];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->digital_playback_active[idx][0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->digital_playback_active[idx][1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->digital_playback_active[j][i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->digital_playback_active[j][i] =
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	if(chip->pipe_out_ana.status == PIPE_UNDEFINED)
+sound/pci/mixart/mixart_mixer.c:	if(!channel)	request.uid = chip->pipe_out_ana.uid_left_connector;
+sound/pci/mixart/mixart_mixer.c:	else		request.uid = chip->pipe_out_ana.uid_right_connector;
+sound/pci/mixart/mixart_mixer.c:	audio_level.monitor_level = mixart_digital_level[chip->monitoring_volume[channel!=0]];
+sound/pci/mixart/mixart_mixer.c:	audio_level.monitor_mute1 = !chip->monitoring_active[channel!=0];
+sound/pci/mixart/mixart_mixer.c:	err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp);
+sound/pci/mixart/mixart_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/mixart/mixart_mixer.c:			chip->chip_idx, resp);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_volume[0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_volume[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->monitoring_volume[i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->monitoring_volume[i] =
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_active[0];
+sound/pci/mixart/mixart_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_active[1];
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:		if (chip->monitoring_active[i] !=
+sound/pci/mixart/mixart_mixer.c:			chip->monitoring_active[i] =
+sound/pci/mixart/mixart_mixer.c:		int allocate = chip->monitoring_active[0] ||
+sound/pci/mixart/mixart_mixer.c:			chip->monitoring_active[1];
+sound/pci/mixart/mixart_mixer.c:			snd_mixart_kill_ref_pipe(chip->mgr,
+sound/pci/mixart/mixart_mixer.c:						 &chip->pipe_in_ana, 1);
+sound/pci/mixart/mixart_mixer.c:			snd_mixart_kill_ref_pipe(chip->mgr,
+sound/pci/mixart/mixart_mixer.c:						 &chip->pipe_out_ana, 1);
+sound/pci/mixart/mixart_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/mixart/mixart_mixer.c:	if(chip->chip_idx < 2) {
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&mixart_control_output_switch, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&temp, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&mixart_control_monitor_vol, chip))) < 0)
+sound/pci/mixart/mixart_mixer.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&mixart_control_monitor_sw, chip))) < 0)
+sound/pci/nm256/nm256.c:	u32 buf;	/* offset from chip->buffer */
+sound/pci/nm256/nm256.c:	return readb(chip->cport + offset);
+sound/pci/nm256/nm256.c:	return readw(chip->cport + offset);
+sound/pci/nm256/nm256.c:	return readl(chip->cport + offset);
+sound/pci/nm256/nm256.c:	writeb(val, chip->cport + offset);
+sound/pci/nm256/nm256.c:	writew(val, chip->cport + offset);
+sound/pci/nm256/nm256.c:	writel(val, chip->cport + offset);
+sound/pci/nm256/nm256.c:	offset -= chip->buffer_start;
+sound/pci/nm256/nm256.c:	if (offset < 0 || offset >= chip->buffer_size) {
+sound/pci/nm256/nm256.c:		dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:	memcpy_toio(chip->buffer + offset, src, size);
+sound/pci/nm256/nm256.c:	u32 coeff_buf = chip->coeff_buf[stream];
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev,
+sound/pci/nm256/nm256.c:	if (! chip->use_cache) {
+sound/pci/nm256/nm256.c:	if (! chip->coeffs_current) {
+sound/pci/nm256/nm256.c:		snd_nm256_write_buffer(chip, coefficients, chip->all_coeff_buf,
+sound/pci/nm256/nm256.c:		chip->coeffs_current = 1;
+sound/pci/nm256/nm256.c:		u32 base = chip->all_coeff_buf;
+sound/pci/nm256/nm256.c:	mutex_lock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	if (chip->irq < 0) {
+sound/pci/nm256/nm256.c:		if (request_irq(chip->pci->irq, chip->interrupt, IRQF_SHARED,
+sound/pci/nm256/nm256.c:			dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:				"unable to grab IRQ %d\n", chip->pci->irq);
+sound/pci/nm256/nm256.c:			mutex_unlock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:		chip->irq = chip->pci->irq;
+sound/pci/nm256/nm256.c:	chip->irq_acks++;
+sound/pci/nm256/nm256.c:	mutex_unlock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	mutex_lock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	if (chip->irq_acks > 0)
+sound/pci/nm256/nm256.c:		chip->irq_acks--;
+sound/pci/nm256/nm256.c:	if (chip->irq_acks == 0 && chip->irq >= 0) {
+sound/pci/nm256/nm256.c:		free_irq(chip->irq, chip);
+sound/pci/nm256/nm256.c:		chip->irq = -1;
+sound/pci/nm256/nm256.c:	mutex_unlock(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	s = &chip->streams[SNDRV_PCM_STREAM_PLAYBACK];
+sound/pci/nm256/nm256.c:		spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	s = &chip->streams[SNDRV_PCM_STREAM_CAPTURE];
+sound/pci/nm256/nm256.c:		spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	snd_nm256_setup_stream(chip, &chip->streams[SNDRV_PCM_STREAM_PLAYBACK],
+sound/pci/nm256/nm256.c:	snd_nm256_setup_stream(chip, &chip->streams[SNDRV_PCM_STREAM_CAPTURE],
+sound/pci/nm256/nm256.c:		struct nm256_stream *s = &chip->streams[i];
+sound/pci/nm256/nm256.c:		s->bufptr = chip->buffer + (s->buf - chip->buffer_start);
+sound/pci/nm256/nm256.c:		s->bufptr_addr = chip->buffer_addr + (s->buf - chip->buffer_start);
+sound/pci/nm256/nm256.c:	err = snd_pcm_new(chip->card, chip->card->driver, device,
+sound/pci/nm256/nm256.c:	chip->pcm = pcm;
+sound/pci/nm256/nm256.c:	if (chip->badintrcount++ > 1000) {
+sound/pci/nm256/nm256.c:		if (chip->streams[SNDRV_PCM_STREAM_PLAYBACK].running)
+sound/pci/nm256/nm256.c:		if (chip->streams[SNDRV_PCM_STREAM_CAPTURE].running)
+sound/pci/nm256/nm256.c:		chip->badintrcount = 0;
+sound/pci/nm256/nm256.c:	chip->badintrcount = 0;
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #1\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #2\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev,
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	chip->badintrcount = 0;
+sound/pci/nm256/nm256.c:	spin_lock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #1\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev, "NM256: Got misc interrupt #2\n");
+sound/pci/nm256/nm256.c:		dev_dbg(chip->card->dev,
+sound/pci/nm256/nm256.c:	spin_unlock(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	testaddr = chip->mixer_status_offset;
+sound/pci/nm256/nm256.c:	testb = chip->mixer_status_mask;
+sound/pci/nm256/nm256.c:	return chip->ac97_regs[idx];
+sound/pci/nm256/nm256.c:	base = chip->mixer_base;
+sound/pci/nm256/nm256.c:			chip->ac97_regs[idx] = val;
+sound/pci/nm256/nm256.c:	dev_dbg(chip->card->dev, "nm256: ac97 codec not ready..\n");
+sound/pci/nm256/nm256.c:	if (! chip->reset_workaround) {
+sound/pci/nm256/nm256.c:	if (! chip->reset_workaround_2) {
+sound/pci/nm256/nm256.c:	if (! chip->in_resume) {
+sound/pci/nm256/nm256.c:	chip->ac97_regs = kcalloc(ARRAY_SIZE(nm256_ac97_init_val),
+sound/pci/nm256/nm256.c:	if (! chip->ac97_regs)
+sound/pci/nm256/nm256.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0)
+sound/pci/nm256/nm256.c:	err = snd_ac97_mixer(pbus, &ac97, &chip->ac97);
+sound/pci/nm256/nm256.c:	if (! (chip->ac97->id & (0xf0000000))) {
+sound/pci/nm256/nm256.c:		sprintf(chip->card->mixername, "%s AC97", chip->card->driver);
+sound/pci/nm256/nm256.c:	unsigned long pointer_found = chip->buffer_end - 0x1400;
+sound/pci/nm256/nm256.c:	temp = ioremap_nocache(chip->buffer_addr + chip->buffer_end - 0x400, 16);
+sound/pci/nm256/nm256.c:		dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:		    pointer < chip->buffer_size ||
+sound/pci/nm256/nm256.c:		    pointer > chip->buffer_end) {
+sound/pci/nm256/nm256.c:			dev_err(chip->card->dev,
+sound/pci/nm256/nm256.c:			dev_info(chip->card->dev,
+sound/pci/nm256/nm256.c:	chip->buffer_end = pointer_found;
+sound/pci/nm256/nm256.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/nm256/nm256.c:	chip->coeffs_current = 0;
+sound/pci/nm256/nm256.c:	chip->in_resume = 1;
+sound/pci/nm256/nm256.c:	snd_ac97_resume(chip->ac97);
+sound/pci/nm256/nm256.c:		struct nm256_stream *s = &chip->streams[i];
+sound/pci/nm256/nm256.c:			spin_lock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:			spin_unlock_irq(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	chip->in_resume = 0;
+sound/pci/nm256/nm256.c:	if (chip->streams[SNDRV_PCM_STREAM_PLAYBACK].running)
+sound/pci/nm256/nm256.c:	if (chip->streams[SNDRV_PCM_STREAM_CAPTURE].running)
+sound/pci/nm256/nm256.c:	if (chip->irq >= 0)
+sound/pci/nm256/nm256.c:		free_irq(chip->irq, chip);
+sound/pci/nm256/nm256.c:	iounmap(chip->cport);
+sound/pci/nm256/nm256.c:	iounmap(chip->buffer);
+sound/pci/nm256/nm256.c:	release_and_free_resource(chip->res_cport);
+sound/pci/nm256/nm256.c:	release_and_free_resource(chip->res_buffer);
+sound/pci/nm256/nm256.c:	pci_disable_device(chip->pci);
+sound/pci/nm256/nm256.c:	kfree(chip->ac97_regs);
+sound/pci/nm256/nm256.c:	chip->card = card;
+sound/pci/nm256/nm256.c:	chip->pci = pci;
+sound/pci/nm256/nm256.c:	chip->use_cache = use_cache;
+sound/pci/nm256/nm256.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/nm256/nm256.c:	chip->irq = -1;
+sound/pci/nm256/nm256.c:	mutex_init(&chip->irq_mutex);
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_PLAYBACK].bufsize = playback_bufsize * 1024;
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_CAPTURE].bufsize = capture_bufsize * 1024;
+sound/pci/nm256/nm256.c:	chip->buffer_addr = pci_resource_start(pci, 0);
+sound/pci/nm256/nm256.c:	chip->cport_addr = pci_resource_start(pci, 1);
+sound/pci/nm256/nm256.c:	chip->res_cport = request_mem_region(chip->cport_addr, NM_PORT2_SIZE,
+sound/pci/nm256/nm256.c:	if (chip->res_cport == NULL) {
+sound/pci/nm256/nm256.c:			   chip->cport_addr, NM_PORT2_SIZE);
+sound/pci/nm256/nm256.c:	chip->cport = ioremap_nocache(chip->cport_addr, NM_PORT2_SIZE);
+sound/pci/nm256/nm256.c:	if (chip->cport == NULL) {
+sound/pci/nm256/nm256.c:			chip->cport_addr);
+sound/pci/nm256/nm256.c:		chip->buffer_end = 2560 * 1024;
+sound/pci/nm256/nm256.c:		chip->interrupt = snd_nm256_interrupt;
+sound/pci/nm256/nm256.c:		chip->mixer_status_offset = NM_MIXER_STATUS_OFFSET;
+sound/pci/nm256/nm256.c:		chip->mixer_status_mask = NM_MIXER_READY_MASK;
+sound/pci/nm256/nm256.c:			chip->buffer_end = 6144 * 1024;
+sound/pci/nm256/nm256.c:			chip->buffer_end = 4096 * 1024;
+sound/pci/nm256/nm256.c:		chip->interrupt = snd_nm256_interrupt_zx;
+sound/pci/nm256/nm256.c:		chip->mixer_status_offset = NM2_MIXER_STATUS_OFFSET;
+sound/pci/nm256/nm256.c:		chip->mixer_status_mask = NM2_MIXER_READY_MASK;
+sound/pci/nm256/nm256.c:	chip->buffer_size = chip->streams[SNDRV_PCM_STREAM_PLAYBACK].bufsize +
+sound/pci/nm256/nm256.c:		chip->streams[SNDRV_PCM_STREAM_CAPTURE].bufsize;
+sound/pci/nm256/nm256.c:	if (chip->use_cache)
+sound/pci/nm256/nm256.c:		chip->buffer_size += NM_TOTAL_COEFF_COUNT * 4;
+sound/pci/nm256/nm256.c:		chip->buffer_size += NM_MAX_PLAYBACK_COEF_SIZE + NM_MAX_RECORD_COEF_SIZE;
+sound/pci/nm256/nm256.c:	if (buffer_top >= chip->buffer_size && buffer_top < chip->buffer_end)
+sound/pci/nm256/nm256.c:		chip->buffer_end = buffer_top;
+sound/pci/nm256/nm256.c:	chip->buffer_start = chip->buffer_end - chip->buffer_size;
+sound/pci/nm256/nm256.c:	chip->buffer_addr += chip->buffer_start;
+sound/pci/nm256/nm256.c:	       chip->buffer_start, chip->buffer_end);
+sound/pci/nm256/nm256.c:	chip->res_buffer = request_mem_region(chip->buffer_addr,
+sound/pci/nm256/nm256.c:					      chip->buffer_size,
+sound/pci/nm256/nm256.c:	if (chip->res_buffer == NULL) {
+sound/pci/nm256/nm256.c:			   chip->buffer_addr, chip->buffer_size);
+sound/pci/nm256/nm256.c:	chip->buffer = ioremap_nocache(chip->buffer_addr, chip->buffer_size);
+sound/pci/nm256/nm256.c:	if (chip->buffer == NULL) {
+sound/pci/nm256/nm256.c:			chip->buffer_addr);
+sound/pci/nm256/nm256.c:	addr = chip->buffer_start;
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_PLAYBACK].buf = addr;
+sound/pci/nm256/nm256.c:	addr += chip->streams[SNDRV_PCM_STREAM_PLAYBACK].bufsize;
+sound/pci/nm256/nm256.c:	chip->streams[SNDRV_PCM_STREAM_CAPTURE].buf = addr;
+sound/pci/nm256/nm256.c:	addr += chip->streams[SNDRV_PCM_STREAM_CAPTURE].bufsize;
+sound/pci/nm256/nm256.c:	if (chip->use_cache) {
+sound/pci/nm256/nm256.c:		chip->all_coeff_buf = addr;
+sound/pci/nm256/nm256.c:		chip->coeff_buf[SNDRV_PCM_STREAM_PLAYBACK] = addr;
+sound/pci/nm256/nm256.c:		chip->coeff_buf[SNDRV_PCM_STREAM_CAPTURE] = addr;
+sound/pci/nm256/nm256.c:	chip->mixer_base = NM_MIXER_OFFSET;
+sound/pci/nm256/nm256.c:	chip->coeffs_current = 0;
+sound/pci/nm256/nm256.c:		chip->reset_workaround = 1;
+sound/pci/nm256/nm256.c:		chip->reset_workaround_2 = 1;
+sound/pci/nm256/nm256.c:		chip->buffer_addr, chip->cport_addr, chip->irq);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:			     chip->dac_volume[i * 2]);
+sound/pci/oxygen/oxygen.c:			     chip->dac_volume[i * 2 + 1]);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	data->dacs = chip->model.dac_channels_pcm / 2;
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "AK4396");
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "AK5385");
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "WM8785");
+sound/pci/oxygen/oxygen.c:	snd_component_add(chip->card, "CS5340");
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:				    chip->dac_volume[i * 2]);
+sound/pci/oxygen/oxygen.c:				    chip->dac_volume[i * 2 + 1]);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	if (chip->dac_mute)
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen.c:	return snd_ctl_add(chip->card, snd_ctl_new1(&rolloff_control, chip));
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hpf_control, chip));
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card,
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card,
+sound/pci/oxygen/oxygen.c:	err = snd_ctl_add(chip->card,
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	struct generic_data *data = chip->model_data;
+sound/pci/oxygen/oxygen.c:	chip->model = model_generic;
+sound/pci/oxygen/oxygen.c:		chip->model.init = meridian_init;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = meridian_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = meridian_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.set_adc_params = set_ak5385_params;
+sound/pci/oxygen/oxygen.c:		chip->model.dump_registers = dump_ak4396_registers;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config = PLAYBACK_0_TO_I2S |
+sound/pci/oxygen/oxygen.c:			chip->model.device_config |= AC97_CD_INPUT;
+sound/pci/oxygen/oxygen.c:		chip->model.init = claro_init;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = claro_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.cleanup = claro_cleanup;
+sound/pci/oxygen/oxygen.c:		chip->model.suspend = claro_suspend;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = claro_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.init = claro_halo_init;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = claro_halo_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.cleanup = claro_cleanup;
+sound/pci/oxygen/oxygen.c:		chip->model.suspend = claro_suspend;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = claro_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.set_adc_params = set_ak5385_params;
+sound/pci/oxygen/oxygen.c:		chip->model.dump_registers = dump_ak4396_registers;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config = PLAYBACK_0_TO_I2S |
+sound/pci/oxygen/oxygen.c:		chip->model.shortname = "C-Media CMI8787";
+sound/pci/oxygen/oxygen.c:		chip->model.chip = "CMI8787";
+sound/pci/oxygen/oxygen.c:			chip->model.init = fantasia_init;
+sound/pci/oxygen/oxygen.c:			chip->model.init = stereo_output_init;
+sound/pci/oxygen/oxygen.c:		chip->model.resume = stereo_resume;
+sound/pci/oxygen/oxygen.c:		chip->model.mixer_init = generic_mixer_init;
+sound/pci/oxygen/oxygen.c:		chip->model.set_adc_params = set_no_params;
+sound/pci/oxygen/oxygen.c:		chip->model.dump_registers = dump_ak4396_registers;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config = PLAYBACK_0_TO_I2S |
+sound/pci/oxygen/oxygen.c:			chip->model.device_config |= CAPTURE_0_FROM_I2S_1;
+sound/pci/oxygen/oxygen.c:			chip->model.adc_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/oxygen.c:		chip->model.dac_channels_pcm = 2;
+sound/pci/oxygen/oxygen.c:		chip->model.dac_channels_mixer = 2;
+sound/pci/oxygen/oxygen.c:		chip->model = model_xonar_dg;
+sound/pci/oxygen/oxygen.c:		chip->model.misc_flags = OXYGEN_MISC_MIDI;
+sound/pci/oxygen/oxygen.c:		chip->model.device_config |= MIDI_OUTPUT | MIDI_INPUT;
+sound/pci/oxygen/oxygen.c:		chip->model.shortname = names[id->driver_data];
+sound/pci/oxygen/oxygen_io.c:	return inb(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	return inw(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	return inl(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outb(value, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._8[reg] = value;
+sound/pci/oxygen/oxygen_io.c:	outw(value, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._16[reg / 2] = cpu_to_le16(value);
+sound/pci/oxygen/oxygen_io.c:	outl(value, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._32[reg / 4] = cpu_to_le32(value);
+sound/pci/oxygen/oxygen_io.c:	u8 tmp = inb(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outb(tmp, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._8[reg] = tmp;
+sound/pci/oxygen/oxygen_io.c:	u16 tmp = inw(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outw(tmp, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._16[reg / 2] = cpu_to_le16(tmp);
+sound/pci/oxygen/oxygen_io.c:	u32 tmp = inl(chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	outl(tmp, chip->addr + reg);
+sound/pci/oxygen/oxygen_io.c:	chip->saved_registers._32[reg / 4] = cpu_to_le32(tmp);
+sound/pci/oxygen/oxygen_io.c:	wait_event_timeout(chip->ac97_waitqueue,
+sound/pci/oxygen/oxygen_io.c:			chip->saved_ac97_registers[codec][index / 2] = data;
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "AC'97 write timeout\n");
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "AC'97 read timeout on codec %u\n", codec);
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "oxygen: SPI wait timeout\n");
+sound/pci/oxygen/oxygen_io.c:	dev_err(chip->card->dev, "EEPROM write timeout\n");
+sound/pci/oxygen/oxygen_lib.c:		if (chip->uart_input_count >= ARRAY_SIZE(chip->uart_input))
+sound/pci/oxygen/oxygen_lib.c:			chip->uart_input_count = 0;
+sound/pci/oxygen/oxygen_lib.c:		chip->uart_input[chip->uart_input_count++] = data;
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.uart_input)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.uart_input(chip);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:			chip->interrupt_mask &= ~OXYGEN_INT_SPDIF_IN_DETECT;
+sound/pci/oxygen/oxygen_lib.c:			       chip->interrupt_mask & ~clear);
+sound/pci/oxygen/oxygen_lib.c:			       chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:	elapsed_streams = status & chip->pcm_running;
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		if ((elapsed_streams & (1 << i)) && chip->streams[i])
+sound/pci/oxygen/oxygen_lib.c:			snd_pcm_period_elapsed(chip->streams[i]);
+sound/pci/oxygen/oxygen_lib.c:		spin_lock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:			schedule_work(&chip->spdif_input_bits_work);
+sound/pci/oxygen/oxygen_lib.c:		spin_unlock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		schedule_work(&chip->gpio_work);
+sound/pci/oxygen/oxygen_lib.c:		if (chip->midi)
+sound/pci/oxygen/oxygen_lib.c:			snd_mpu401_uart_interrupt(0, chip->midi->private_data);
+sound/pci/oxygen/oxygen_lib.c:		wake_up(&chip->ac97_waitqueue);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->controls[CONTROL_SPDIF_INPUT_BITS]) {
+sound/pci/oxygen/oxygen_lib.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		chip->interrupt_mask |= OXYGEN_INT_SPDIF_IN_DETECT;
+sound/pci/oxygen/oxygen_lib.c:			       chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/oxygen/oxygen_lib.c:			       &chip->controls[CONTROL_SPDIF_INPUT_BITS]->id);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.gpio_changed)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.gpio_changed(chip);
+sound/pci/oxygen/oxygen_lib.c:	if (mutex_lock_interruptible(&chip->mutex) < 0)
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0) {
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_lib.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.dump_registers)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.dump_registers(chip, buffer);
+sound/pci/oxygen/oxygen_lib.c:	snd_card_ro_proc_new(chip->card, "oxygen", chip, oxygen_proc_read);
+sound/pci/oxygen/oxygen_lib.c:		pci_write_config_word(chip->pci, PCI_SUBSYSTEM_VENDOR_ID,
+sound/pci/oxygen/oxygen_lib.c:		pci_write_config_word(chip->pci, PCI_SUBSYSTEM_ID,
+sound/pci/oxygen/oxygen_lib.c:		dev_info(chip->card->dev, "EEPROM ID restored\n");
+sound/pci/oxygen/oxygen_lib.c:	chip->dac_routing = 1;
+sound/pci/oxygen/oxygen_lib.c:		chip->dac_volume[i] = chip->model.dac_volume_min;
+sound/pci/oxygen/oxygen_lib.c:	chip->dac_mute = 1;
+sound/pci/oxygen/oxygen_lib.c:	chip->spdif_playback_enable = 0;
+sound/pci/oxygen/oxygen_lib.c:	chip->spdif_bits = OXYGEN_SPDIF_C | OXYGEN_SPDIF_ORIGINAL |
+sound/pci/oxygen/oxygen_lib.c:	chip->spdif_pcm_bits = chip->spdif_bits;
+sound/pci/oxygen/oxygen_lib.c:	chip->has_ac97_0 = (i & OXYGEN_AC97_CODEC_0) != 0;
+sound/pci/oxygen/oxygen_lib.c:	chip->has_ac97_1 = (i & OXYGEN_AC97_CODEC_1) != 0;
+sound/pci/oxygen/oxygen_lib.c:			     chip->model.function_flags,
+sound/pci/oxygen/oxygen_lib.c:			     chip->model.misc_flags,
+sound/pci/oxygen/oxygen_lib.c:		       chip->model.dac_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:		       OXYGEN_I2S_MCLK(chip->model.dac_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_0_FROM_I2S_1)
+sound/pci/oxygen/oxygen_lib.c:			       chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:			       OXYGEN_I2S_MCLK(chip->model.adc_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & (CAPTURE_0_FROM_I2S_2 |
+sound/pci/oxygen/oxygen_lib.c:			       chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:			       OXYGEN_I2S_MCLK(chip->model.adc_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_3_FROM_I2S_3)
+sound/pci/oxygen/oxygen_lib.c:			       chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_lib.c:			       OXYGEN_I2S_MCLK(chip->model.adc_mclks) |
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_1_FROM_SPDIF)
+sound/pci/oxygen/oxygen_lib.c:	oxygen_write32(chip, OXYGEN_SPDIF_OUTPUT_BITS, chip->spdif_bits);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0 | chip->has_ac97_1)
+sound/pci/oxygen/oxygen_lib.c:	if (!(chip->has_ac97_0 | chip->has_ac97_1))
+sound/pci/oxygen/oxygen_lib.c:	if (!chip->has_ac97_0) {
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	chip->interrupt_mask = 0;
+sound/pci/oxygen/oxygen_lib.c:	chip->pcm_running = 0;
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->irq >= 0)
+sound/pci/oxygen/oxygen_lib.c:		free_irq(chip->irq, chip);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->spdif_input_bits_work);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->gpio_work);
+sound/pci/oxygen/oxygen_lib.c:	chip->model.cleanup(chip);
+sound/pci/oxygen/oxygen_lib.c:	kfree(chip->model_data);
+sound/pci/oxygen/oxygen_lib.c:	mutex_destroy(&chip->mutex);
+sound/pci/oxygen/oxygen_lib.c:	pci_release_regions(chip->pci);
+sound/pci/oxygen/oxygen_lib.c:	pci_disable_device(chip->pci);
+sound/pci/oxygen/oxygen_lib.c:	chip->card = card;
+sound/pci/oxygen/oxygen_lib.c:	chip->pci = pci;
+sound/pci/oxygen/oxygen_lib.c:	chip->irq = -1;
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	mutex_init(&chip->mutex);
+sound/pci/oxygen/oxygen_lib.c:	INIT_WORK(&chip->spdif_input_bits_work,
+sound/pci/oxygen/oxygen_lib.c:	INIT_WORK(&chip->gpio_work, oxygen_gpio_changed);
+sound/pci/oxygen/oxygen_lib.c:	init_waitqueue_head(&chip->ac97_waitqueue);
+sound/pci/oxygen/oxygen_lib.c:	chip->addr = pci_resource_start(pci, 0);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.model_data_size) {
+sound/pci/oxygen/oxygen_lib.c:		chip->model_data = kzalloc(chip->model.model_data_size,
+sound/pci/oxygen/oxygen_lib.c:		if (!chip->model_data) {
+sound/pci/oxygen/oxygen_lib.c:	chip->model.init(chip);
+sound/pci/oxygen/oxygen_lib.c:	chip->irq = pci->irq;
+sound/pci/oxygen/oxygen_lib.c:	strcpy(card->driver, chip->model.chip);
+sound/pci/oxygen/oxygen_lib.c:	strcpy(card->shortname, chip->model.shortname);
+sound/pci/oxygen/oxygen_lib.c:		chip->model.longname, chip->addr, chip->irq);
+sound/pci/oxygen/oxygen_lib.c:	strcpy(card->mixername, chip->model.chip);
+sound/pci/oxygen/oxygen_lib.c:	snd_component_add(card, chip->model.chip);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & (MIDI_OUTPUT | MIDI_INPUT)) {
+sound/pci/oxygen/oxygen_lib.c:		if (chip->model.device_config & MIDI_OUTPUT)
+sound/pci/oxygen/oxygen_lib.c:		if (chip->model.device_config & MIDI_INPUT)
+sound/pci/oxygen/oxygen_lib.c:					  chip->addr + OXYGEN_MPU401,
+sound/pci/oxygen/oxygen_lib.c:					  info_flags, -1, &chip->midi);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.device_config & CAPTURE_1_FROM_SPDIF)
+sound/pci/oxygen/oxygen_lib.c:		chip->interrupt_mask |= OXYGEN_INT_SPDIF_IN_DETECT;
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0 | chip->has_ac97_1)
+sound/pci/oxygen/oxygen_lib.c:		chip->interrupt_mask |= OXYGEN_INT_AC97;
+sound/pci/oxygen/oxygen_lib.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.suspend)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.suspend(chip);
+sound/pci/oxygen/oxygen_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	saved_interrupt_mask = chip->interrupt_mask;
+sound/pci/oxygen/oxygen_lib.c:	chip->interrupt_mask = 0;
+sound/pci/oxygen/oxygen_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_lib.c:	synchronize_irq(chip->irq);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->spdif_input_bits_work);
+sound/pci/oxygen/oxygen_lib.c:	flush_work(&chip->gpio_work);
+sound/pci/oxygen/oxygen_lib.c:	chip->interrupt_mask = saved_interrupt_mask;
+sound/pci/oxygen/oxygen_lib.c:					  chip->saved_ac97_registers[codec][i]);
+sound/pci/oxygen/oxygen_lib.c:			oxygen_write8(chip, i, chip->saved_registers._8[i]);
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_0)
+sound/pci/oxygen/oxygen_lib.c:	if (chip->has_ac97_1)
+sound/pci/oxygen/oxygen_lib.c:	if (chip->model.resume)
+sound/pci/oxygen/oxygen_lib.c:		chip->model.resume(chip);
+sound/pci/oxygen/oxygen_lib.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_lib.c:	chip->model.cleanup(chip);
+sound/pci/oxygen/oxygen_mixer.c:	info->count = chip->model.dac_channels_mixer;
+sound/pci/oxygen/oxygen_mixer.c:	info->value.integer.min = chip->model.dac_volume_min;
+sound/pci/oxygen/oxygen_mixer.c:	info->value.integer.max = chip->model.dac_volume_max;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	for (i = 0; i < chip->model.dac_channels_mixer; ++i)
+sound/pci/oxygen/oxygen_mixer.c:		value->value.integer.value[i] = chip->dac_volume[i];
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	for (i = 0; i < chip->model.dac_channels_mixer; ++i)
+sound/pci/oxygen/oxygen_mixer.c:		if (value->value.integer.value[i] != chip->dac_volume[i]) {
+sound/pci/oxygen/oxygen_mixer.c:			chip->dac_volume[i] = value->value.integer.value[i];
+sound/pci/oxygen/oxygen_mixer.c:		chip->model.update_dac_volume(chip);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	value->value.integer.value[0] = !chip->dac_mute;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = (!value->value.integer.value[0]) != chip->dac_mute;
+sound/pci/oxygen/oxygen_mixer.c:		chip->dac_mute = !value->value.integer.value[0];
+sound/pci/oxygen/oxygen_mixer.c:		chip->model.update_dac_mute(chip);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.dac_channels_pcm < 8)
+sound/pci/oxygen/oxygen_mixer.c:	else if (chip->model.update_center_lfe_mix)
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	value->value.enumerated.item[0] = chip->dac_routing;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:		reg_value = reg_values[chip->dac_routing];
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.adjust_dac_routing)
+sound/pci/oxygen/oxygen_mixer.c:		reg_value = chip->model.adjust_dac_routing(chip, reg_value);
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.update_center_lfe_mix)
+sound/pci/oxygen/oxygen_mixer.c:		chip->model.update_center_lfe_mix(chip, chip->dac_routing > 2);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = value->value.enumerated.item[0] != chip->dac_routing;
+sound/pci/oxygen/oxygen_mixer.c:		chip->dac_routing = value->value.enumerated.item[0];
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	value->value.integer.value[0] = chip->spdif_playback_enable;
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->pcm_active & (1 << PCM_SPDIF)) {
+sound/pci/oxygen/oxygen_mixer.c:	} else if ((chip->pcm_active & (1 << PCM_MULTICH)) &&
+sound/pci/oxygen/oxygen_mixer.c:		   chip->spdif_playback_enable) {
+sound/pci/oxygen/oxygen_mixer.c:			       ((chip->pcm_active & (1 << PCM_SPDIF)) ?
+sound/pci/oxygen/oxygen_mixer.c:				chip->spdif_pcm_bits : chip->spdif_bits));
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = value->value.integer.value[0] != chip->spdif_playback_enable;
+sound/pci/oxygen/oxygen_mixer.c:		chip->spdif_playback_enable = !!value->value.integer.value[0];
+sound/pci/oxygen/oxygen_mixer.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	oxygen_to_iec958(chip->spdif_bits, value);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = new_bits != chip->spdif_bits;
+sound/pci/oxygen/oxygen_mixer.c:		chip->spdif_bits = new_bits;
+sound/pci/oxygen/oxygen_mixer.c:		if (!(chip->pcm_active & (1 << PCM_SPDIF)))
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	oxygen_to_iec958(chip->spdif_pcm_bits, value);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	changed = new_bits != chip->spdif_pcm_bits;
+sound/pci/oxygen/oxygen_mixer.c:		chip->spdif_pcm_bits = new_bits;
+sound/pci/oxygen/oxygen_mixer.c:		if (chip->pcm_active & (1 << PCM_SPDIF))
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	if (!chip->controls[control])
+sound/pci/oxygen/oxygen_mixer.c:	priv_idx = chip->controls[control]->private_value & 0xff;
+sound/pci/oxygen/oxygen_mixer.c:		if (chip->model.ac97_switch)
+sound/pci/oxygen/oxygen_mixer.c:			chip->model.ac97_switch(chip, priv_idx, 0x8000);
+sound/pci/oxygen/oxygen_mixer.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/oxygen/oxygen_mixer.c:			       &chip->controls[control]->id);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:		if (codec == 0 && chip->model.ac97_switch)
+sound/pci/oxygen/oxygen_mixer.c:			chip->model.ac97_switch(chip, index, newreg & 0x8000);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_mixer.c:	for (i = 0; i < ARRAY_SIZE(chip->controls); ++i)
+sound/pci/oxygen/oxygen_mixer.c:		chip->controls[i] = NULL;
+sound/pci/oxygen/oxygen_mixer.c:		if (chip->model.control_filter) {
+sound/pci/oxygen/oxygen_mixer.c:			err = chip->model.control_filter(&template);
+sound/pci/oxygen/oxygen_mixer.c:		    chip->model.dac_channels_pcm == 2)
+sound/pci/oxygen/oxygen_mixer.c:		    !(chip->model.device_config & AC97_FMIC_SWITCH))
+sound/pci/oxygen/oxygen_mixer.c:		    !(chip->model.device_config & AC97_CD_INPUT))
+sound/pci/oxygen/oxygen_mixer.c:		    chip->model.dac_tlv) {
+sound/pci/oxygen/oxygen_mixer.c:			template.tlv.p = chip->model.dac_tlv;
+sound/pci/oxygen/oxygen_mixer.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/oxygen_mixer.c:			chip->controls[j] = ctl;
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.device_config & PLAYBACK_1_TO_SPDIF) {
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->model.device_config & CAPTURE_1_FROM_SPDIF) {
+sound/pci/oxygen/oxygen_mixer.c:		if (!(chip->model.device_config & monitor_controls[i].pcm_dev))
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->has_ac97_0) {
+sound/pci/oxygen/oxygen_mixer.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_mixer.c:	return chip->model.mixer_init ? chip->model.mixer_init(chip) : 0;
+sound/pci/oxygen/oxygen_pcm.c:	if (channel == PCM_B && chip->has_ac97_1 &&
+sound/pci/oxygen/oxygen_pcm.c:	    (chip->model.device_config & CAPTURE_2_FROM_AC97_1))
+sound/pci/oxygen/oxygen_pcm.c:		if (chip->model.device_config & CAPTURE_1_FROM_SPDIF) {
+sound/pci/oxygen/oxygen_pcm.c:		runtime->hw.channels_max = chip->model.dac_channels_pcm;
+sound/pci/oxygen/oxygen_pcm.c:	if (chip->model.pcm_hardware_filter)
+sound/pci/oxygen/oxygen_pcm.c:		chip->model.pcm_hardware_filter(channel, &runtime->hw);
+sound/pci/oxygen/oxygen_pcm.c:	chip->streams[channel] = substream;
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->pcm_active |= 1 << channel;
+sound/pci/oxygen/oxygen_pcm.c:		chip->spdif_pcm_bits = chip->spdif_bits;
+sound/pci/oxygen/oxygen_pcm.c:		chip->controls[CONTROL_SPDIF_PCM]->vd[0].access &=
+sound/pci/oxygen/oxygen_pcm.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/oxygen/oxygen_pcm.c:			       &chip->controls[CONTROL_SPDIF_PCM]->id);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->pcm_active &= ~(1 << channel);
+sound/pci/oxygen/oxygen_pcm.c:		chip->controls[CONTROL_SPDIF_PCM]->vd[0].access |=
+sound/pci/oxygen/oxygen_pcm.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/oxygen/oxygen_pcm.c:			       &chip->controls[CONTROL_SPDIF_PCM]->id);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->streams[channel] = NULL;
+sound/pci/oxygen/oxygen_pcm.c:		mclks = chip->model.dac_mclks;
+sound/pci/oxygen/oxygen_pcm.c:		mclks = chip->model.adc_mclks;
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:			      chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	chip->model.set_adc_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	is_ac97 = chip->has_ac97_1 &&
+sound/pci/oxygen/oxygen_pcm.c:		(chip->model.device_config & CAPTURE_2_FROM_AC97_1);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:				      chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:		chip->model.set_adc_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	is_spdif = chip->model.device_config & CAPTURE_1_FROM_SPDIF;
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:				      chip->model.adc_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:		chip->model.set_adc_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:		mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:			      chip->model.dac_i2s_format |
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	chip->model.set_dac_params(chip, hw_params);
+sound/pci/oxygen/oxygen_pcm.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	chip->interrupt_mask &= ~channel_mask;
+sound/pci/oxygen/oxygen_pcm.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:		chip->interrupt_mask &= ~channel_mask;
+sound/pci/oxygen/oxygen_pcm.c:		chip->interrupt_mask |= channel_mask;
+sound/pci/oxygen/oxygen_pcm.c:	oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, chip->interrupt_mask);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	spin_lock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:			chip->pcm_running |= mask;
+sound/pci/oxygen/oxygen_pcm.c:			chip->pcm_running &= ~mask;
+sound/pci/oxygen/oxygen_pcm.c:		oxygen_write8(chip, OXYGEN_DMA_STATUS, chip->pcm_running);
+sound/pci/oxygen/oxygen_pcm.c:	spin_unlock(&chip->reg_lock);
+sound/pci/oxygen/oxygen_pcm.c:	outs = !!(chip->model.device_config & PLAYBACK_0_TO_I2S);
+sound/pci/oxygen/oxygen_pcm.c:	ins = !!(chip->model.device_config & (CAPTURE_0_FROM_I2S_1 |
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, "Multichannel",
+sound/pci/oxygen/oxygen_pcm.c:		if (chip->model.device_config & CAPTURE_0_FROM_I2S_1)
+sound/pci/oxygen/oxygen_pcm.c:		else if (chip->model.device_config & CAPTURE_0_FROM_I2S_2)
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:	outs = !!(chip->model.device_config & PLAYBACK_1_TO_SPDIF);
+sound/pci/oxygen/oxygen_pcm.c:	ins = !!(chip->model.device_config & CAPTURE_1_FROM_SPDIF);
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, "Digital", 1, outs, ins, &pcm);
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:	if (chip->has_ac97_1) {
+sound/pci/oxygen/oxygen_pcm.c:		outs = !!(chip->model.device_config & PLAYBACK_2_TO_AC97_1);
+sound/pci/oxygen/oxygen_pcm.c:		ins = !!(chip->model.device_config & CAPTURE_2_FROM_AC97_1);
+sound/pci/oxygen/oxygen_pcm.c:		ins = !!(chip->model.device_config & CAPTURE_2_FROM_I2S_2);
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, outs ? "AC97" : "Analog2",
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/oxygen_pcm.c:	ins = !!(chip->model.device_config & CAPTURE_3_FROM_I2S_3);
+sound/pci/oxygen/oxygen_pcm.c:		err = snd_pcm_new(chip->card, "Analog3", 3, 0, ins, &pcm);
+sound/pci/oxygen/oxygen_pcm.c:						      &chip->pci->dev,
+sound/pci/oxygen/se6x.c:	snd_component_add(chip->card, "PCM1792A");
+sound/pci/oxygen/se6x.c:	snd_component_add(chip->card, "PCM1804");
+sound/pci/oxygen/se6x.c:	chip->model = model_se6x;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	snd_component_add(chip->card, "CS4398");
+sound/pci/oxygen/xonar_cs43xx.c:	snd_component_add(chip->card, "CS4362A");
+sound/pci/oxygen/xonar_cs43xx.c:	snd_component_add(chip->card, "CS5361");
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	mute = chip->dac_mute ? CS4362A_MUTE : 0;
+sound/pci/oxygen/xonar_cs43xx.c:				     (127 - chip->dac_volume[2 + i]) | mute);
+sound/pci/oxygen/xonar_cs43xx.c:	cs4398_write_cached(chip, 5, (127 - chip->dac_volume[0]) * 2);
+sound/pci/oxygen/xonar_cs43xx.c:	cs4398_write_cached(chip, 6, (127 - chip->dac_volume[1]) * 2);
+sound/pci/oxygen/xonar_cs43xx.c:	if (chip->dac_mute)
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_cs43xx.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_cs43xx.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_cs43xx.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_cs43xx.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&front_panel_switch, chip));
+sound/pci/oxygen/xonar_cs43xx.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&rolloff_control, chip));
+sound/pci/oxygen/xonar_cs43xx.c:	struct xonar_cs43xx *data = chip->model_data;
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model = model_xonar_d1;
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model.shortname = "Xonar D1";
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model = model_xonar_d1;
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model.shortname = "Xonar DX";
+sound/pci/oxygen/xonar_cs43xx.c:		chip->model.init = xonar_dx_init;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	snd_component_add(chip->card, "CS4245");
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	struct dg *data = chip->model_data;
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_dg_mixer.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_hdmi.c:	if (chip->uart_input_count >= 2 &&
+sound/pci/oxygen/xonar_hdmi.c:	    chip->uart_input[chip->uart_input_count - 2] == 'O' &&
+sound/pci/oxygen/xonar_hdmi.c:	    chip->uart_input[chip->uart_input_count - 1] == 'K') {
+sound/pci/oxygen/xonar_hdmi.c:		dev_dbg(chip->card->dev, "message from HDMI chip received:\n");
+sound/pci/oxygen/xonar_hdmi.c:				     chip->uart_input, chip->uart_input_count);
+sound/pci/oxygen/xonar_hdmi.c:		chip->uart_input_count = 0;
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:			dev_notice(chip->card->dev, "power restored\n");
+sound/pci/oxygen/xonar_lib.c:			dev_crit(chip->card->dev,
+sound/pci/oxygen/xonar_lib.c:	struct xonar_generic *data = chip->model_data;
+sound/pci/oxygen/xonar_lib.c:	chip->interrupt_mask |= OXYGEN_INT_GPIO;
+sound/pci/oxygen/xonar_lib.c:	chip->model.gpio_changed = xonar_ext_power_gpio_changed;
+sound/pci/oxygen/xonar_lib.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_lib.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	if ((chip->model.function_flags & OXYGEN_FUNCTION_2WIRE_SPI_MASK) ==
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write(chip, i, 16, chip->dac_volume[i * 2]
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write(chip, i, 17, chip->dac_volume[i * 2 + 1]
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1796");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_hdav *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	data->pcm179x.dacs = chip->model.dac_channels_mixer / 2;
+sound/pci/oxygen/xonar_pcm179x.c:	data->pcm179x.h6 = chip->model.dac_channels_mixer > 2;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1796");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	data->dacs = chip->model.dac_channels_mixer / 2;
+sound/pci/oxygen/xonar_pcm179x.c:	data->h6 = chip->model.dac_channels_mixer > 2;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1792A");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	data->h6 = chip->model.dac_channels_mixer > 2;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS2000");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "PCM1796");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS5381");
+sound/pci/oxygen/xonar_pcm179x.c:	snd_component_add(chip->card, "CS2000");
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_hdav *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write_cached(chip, i, 16, chip->dac_volume[i * 2]
+sound/pci/oxygen/xonar_pcm179x.c:		pcm1796_write_cached(chip, i, 17, chip->dac_volume[i * 2 + 1]
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	if (chip->dac_mute)
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_hdav *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_pcm179x.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_pcm179x.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&alt_switch, chip));
+sound/pci/oxygen/xonar_pcm179x.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hdav_hdmi_control, chip));
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:		err = snd_ctl_add(chip->card,
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:	struct xonar_pcm179x *data = chip->model_data;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_d2;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar D2";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_d2;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar D2X";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_d2x_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_hdav;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar HDAV1.3";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar HDAV1.3+H6";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_mixer = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar ST";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar ST+H6";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.control_filter = xonar_st_h6_control_filter;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_pcm = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_mixer = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_volume_min = 255;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar STX";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_stx_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.resume = xonar_stx_resume;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.set_dac_params = set_pcm1796_params;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar STX II";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.shortname = "Xonar STX II+H6";
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_pcm = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_channels_mixer = 8;
+sound/pci/oxygen/xonar_pcm179x.c:			chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_stx_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.resume = xonar_stx_resume;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.set_dac_params = set_pcm1796_params;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model = model_xonar_st;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.shortname = "Xonar Xense";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.chip = "AV100";
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.init = xonar_xense_init;
+sound/pci/oxygen/xonar_pcm179x.c:		chip->model.mixer_init = xonar_xense_mixer_init;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	if ((chip->model.function_flags & OXYGEN_FUNCTION_2WIRE_SPI_MASK) ==
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	wm8776_write(chip, WM8776_DACMUTE, chip->dac_mute ? WM8776_DMUTE : 0);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8776_write(chip, WM8776_DACLVOL, chip->dac_volume[0]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8776_write(chip, WM8776_DACRVOL, chip->dac_volume[1] | WM8776_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		     WM8766_ZCD | (chip->dac_mute ? WM8766_DMUTE_MASK : 0));
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_LDA1, chip->dac_volume[2]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_RDA1, chip->dac_volume[3]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_LDA2, chip->dac_volume[4]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_RDA2, chip->dac_volume[5]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_LDA3, chip->dac_volume[6]);
+sound/pci/oxygen/xonar_wm87x6.c:	wm8766_write(chip, WM8766_RDA3, chip->dac_volume[7] | WM8766_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	chip->interrupt_mask |= OXYGEN_INT_GPIO;
+sound/pci/oxygen/xonar_wm87x6.c:	snd_jack_new(chip->card, "Headphone",
+sound/pci/oxygen/xonar_wm87x6.c:	snd_component_add(chip->card, "WM8776");
+sound/pci/oxygen/xonar_wm87x6.c:	snd_component_add(chip->card, "WM8766");
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	snd_component_add(chip->card, "WM8776");
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	if (chip->dac_volume[0] == chip->dac_volume[1]) {
+sound/pci/oxygen/xonar_wm87x6.c:		if (chip->dac_volume[0] != data->wm8776_regs[WM8776_DACLVOL] ||
+sound/pci/oxygen/xonar_wm87x6.c:		    chip->dac_volume[1] != data->wm8776_regs[WM8776_DACRVOL]) {
+sound/pci/oxygen/xonar_wm87x6.c:				     chip->dac_volume[0] | WM8776_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:			data->wm8776_regs[WM8776_DACLVOL] = chip->dac_volume[0];
+sound/pci/oxygen/xonar_wm87x6.c:			data->wm8776_regs[WM8776_DACRVOL] = chip->dac_volume[0];
+sound/pci/oxygen/xonar_wm87x6.c:		to_change = (chip->dac_volume[0] !=
+sound/pci/oxygen/xonar_wm87x6.c:		to_change |= (chip->dac_volume[1] !=
+sound/pci/oxygen/xonar_wm87x6.c:			wm8776_write(chip, WM8776_DACLVOL, chip->dac_volume[0] |
+sound/pci/oxygen/xonar_wm87x6.c:				     chip->dac_volume[1] | WM8776_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	if (chip->dac_volume[2] == chip->dac_volume[3] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[4] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[5] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[6] &&
+sound/pci/oxygen/xonar_wm87x6.c:	    chip->dac_volume[2] == chip->dac_volume[7]) {
+sound/pci/oxygen/xonar_wm87x6.c:			if (chip->dac_volume[2] !=
+sound/pci/oxygen/xonar_wm87x6.c:				     chip->dac_volume[2] | WM8766_UPDATE);
+sound/pci/oxygen/xonar_wm87x6.c:					chip->dac_volume[2];
+sound/pci/oxygen/xonar_wm87x6.c:			to_change |= (chip->dac_volume[2 + i] !=
+sound/pci/oxygen/xonar_wm87x6.c:					     chip->dac_volume[2 + i] |
+sound/pci/oxygen/xonar_wm87x6.c:			    chip->dac_mute ? WM8776_DMUTE : 0);
+sound/pci/oxygen/xonar_wm87x6.c:			    (chip->dac_mute ? WM8766_DMUTE_MASK : 0));
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO, &ctl->id);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_lock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	mutex_unlock(&chip->mutex);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/xonar_wm87x6.c:		err = snd_ctl_add(chip->card, ctl);
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:	struct xonar_wm87x6 *data = chip->model_data;
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model = model_xonar_ds;
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model.shortname = "Xonar DS";
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model = model_xonar_ds;
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model.shortname = "Xonar DSX";
+sound/pci/oxygen/xonar_wm87x6.c:		chip->model = model_xonar_hdav_slim;
+sound/pci/pcxhr/pcxhr.c:			dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	sample_rate = chip->mgr->sample_rate;
+sound/pci/pcxhr/pcxhr.c:		if (DSP_EXT_CMD_SET(chip->mgr))
+sound/pci/pcxhr/pcxhr.c:	if (DSP_EXT_CMD_SET(chip->mgr)) {
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:		chip->chip_idx, (void *)(long)subs->runtime->dma_addr,
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev, "PIPE_SAMPLE_COUNT = %lx\n", *sample_count);
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			if (pcxhr_stream_scheduled_get_pipe(&chip->capture_stream[j], &pipe))
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			if (pcxhr_stream_scheduled_get_pipe(&chip->playback_stream[j], &pipe)) {
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->capture_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->playback_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->capture_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->playback_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for(j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->capture_stream[j];
+sound/pci/pcxhr/pcxhr.c:		for (j = 0; j < chip->nb_streams_play; j++) {
+sound/pci/pcxhr/pcxhr.c:			stream = &chip->playback_stream[j];
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "SNDRV_PCM_TRIGGER_START\n");
+sound/pci/pcxhr/pcxhr.c:			pcxhr_start_linked_stream(chip->mgr);
+sound/pci/pcxhr/pcxhr.c:			dev_dbg(chip->card->dev, "Only one Substream %c %d\n",
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "SNDRV_PCM_TRIGGER_STOP\n");
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr       *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "pcxhr_open playback chip%d subs%d\n",
+sound/pci/pcxhr/pcxhr.c:			    chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:		stream = &chip->playback_stream[subs->number];
+sound/pci/pcxhr/pcxhr.c:		dev_dbg(chip->card->dev, "pcxhr_open capture chip%d subs%d\n",
+sound/pci/pcxhr/pcxhr.c:			    chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:		stream = &chip->capture_stream[subs->number];
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev, "pcxhr_open chip%d subs%d in use\n",
+sound/pci/pcxhr/pcxhr.c:			   chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	dev_dbg(chip->card->dev, "pcxhr_close chip%d subs%d\n",
+sound/pci/pcxhr/pcxhr.c:		    chip->chip_idx, subs->number);
+sound/pci/pcxhr/pcxhr.c:	mutex_lock(&chip->mgr->lock);
+sound/pci/pcxhr/pcxhr.c:	mutex_unlock(&chip->mgr->lock);
+sound/pci/pcxhr/pcxhr.c:	snprintf(name, sizeof(name), "pcxhr %d", chip->chip_idx);
+sound/pci/pcxhr/pcxhr.c:	if ((err = snd_pcm_new(chip->card, name, 0,
+sound/pci/pcxhr/pcxhr.c:			       chip->nb_streams_play,
+sound/pci/pcxhr/pcxhr.c:			       chip->nb_streams_capt, &pcm)) < 0) {
+sound/pci/pcxhr/pcxhr.c:		dev_err(chip->card->dev, "cannot create pcm %s\n", name);
+sound/pci/pcxhr/pcxhr.c:	if (chip->nb_streams_play)
+sound/pci/pcxhr/pcxhr.c:	if (chip->nb_streams_capt)
+sound/pci/pcxhr/pcxhr.c:					      &chip->mgr->pci->dev,
+sound/pci/pcxhr/pcxhr.c:	chip->pcm = pcm;
+sound/pci/pcxhr/pcxhr.c:	chip->card = card;
+sound/pci/pcxhr/pcxhr.c:	chip->chip_idx = idx;
+sound/pci/pcxhr/pcxhr.c:	chip->mgr = mgr;
+sound/pci/pcxhr/pcxhr.c:		chip->nb_streams_play = PCXHR_PLAYBACK_STREAMS;
+sound/pci/pcxhr/pcxhr.c:			chip->nb_streams_capt = 2;	/* 2 mono streams */
+sound/pci/pcxhr/pcxhr.c:			chip->nb_streams_capt = 1;	/* or 1 stereo stream */
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	struct pcxhr_mgr *mgr = chip->mgr;
+sound/pci/pcxhr/pcxhr.c:	snd_card_ro_proc_new(chip->card, "info", chip, pcxhr_proc_info);
+sound/pci/pcxhr/pcxhr.c:	snd_card_ro_proc_new(chip->card, "sync", chip, pcxhr_proc_sync);
+sound/pci/pcxhr/pcxhr.c:	if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr.c:		snd_card_rw_proc_new(chip->card, "gpio", chip,
+sound/pci/pcxhr/pcxhr.c:	snd_card_ro_proc_new(chip->card, "ltc", chip, pcxhr_proc_ltc);
+sound/pci/pcxhr/pcxhr_core.c:			for (j = 0; j < chip->nb_streams_capt; j++)
+sound/pci/pcxhr/pcxhr_core.c:						&chip->capture_stream[j],
+sound/pci/pcxhr/pcxhr_core.c:			for (j = 0; j < chip->nb_streams_play; j++)
+sound/pci/pcxhr/pcxhr_core.c:						&chip->playback_stream[j],
+sound/pci/pcxhr/pcxhr_hwdep.c:		if (chip->nb_streams_play) {
+sound/pci/pcxhr/pcxhr_hwdep.c:			pipe = &chip->playback_pipe;
+sound/pci/pcxhr/pcxhr_hwdep.c:			for(j = 0; j < chip->nb_streams_play; j++)
+sound/pci/pcxhr/pcxhr_hwdep.c:				chip->playback_stream[j].pipe = pipe;
+sound/pci/pcxhr/pcxhr_hwdep.c:		for (j = 0; j < chip->nb_streams_capt; j++) {
+sound/pci/pcxhr/pcxhr_hwdep.c:			pipe = &chip->capture_pipe[j];
+sound/pci/pcxhr/pcxhr_hwdep.c:			chip->capture_stream[j].pipe = pipe;
+sound/pci/pcxhr/pcxhr_hwdep.c:		if (chip->nb_streams_play)
+sound/pci/pcxhr/pcxhr_hwdep.c:			playback_mask |= 1 << chip->playback_pipe.first_audio;
+sound/pci/pcxhr/pcxhr_hwdep.c:		for (j = 0; j < chip->nb_streams_capt; j++)
+sound/pci/pcxhr/pcxhr_hwdep.c:			capture_mask |= 1 << chip->capture_pipe[j].first_audio;
+sound/pci/pcxhr/pcxhr_hwdep.c:			if ((err = pcxhr_create_mixer(chip->mgr)) < 0)
+sound/pci/pcxhr/pcxhr_hwdep.c:		if ((err = snd_card_register(chip->card)) < 0)
+sound/pci/pcxhr/pcxhr_mix22.c:	dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->analog_capture_active) {
+sound/pci/pcxhr/pcxhr_mix22.c:			level_l = chip->analog_capture_volume[0];
+sound/pci/pcxhr/pcxhr_mix22.c:			level_r = chip->analog_capture_volume[1];
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->mic_active)
+sound/pci/pcxhr/pcxhr_mix22.c:			level_mic = chip->mic_volume;
+sound/pci/pcxhr/pcxhr_mix22.c:		return hr222_set_hw_capture_level(chip->mgr,
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->analog_playback_active[channel])
+sound/pci/pcxhr/pcxhr_mix22.c:			vol = chip->analog_playback_volume[channel];
+sound/pci/pcxhr/pcxhr_mix22.c:		return hr222_set_hw_playback_level(chip->mgr, channel, vol);
+sound/pci/pcxhr/pcxhr_mix22.c:	chip->mgr->xlx_cfg &= ~(PCXHR_CFG_SRC_MASK |
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->audio_capture_source == SOURCE_DIGISRC) {
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mgr->xlx_cfg |= PCXHR_CFG_SRC_MASK;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->audio_capture_source == SOURCE_DIGITAL)
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mgr->xlx_cfg |=  PCXHR_CFG_DATAIN_SEL_MASK;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->mgr->board_has_aes1) {
+sound/pci/pcxhr/pcxhr_mix22.c:			chip->mgr->xlx_cfg |= PCXHR_CFG_DATA_UER1_SEL_MASK;
+sound/pci/pcxhr/pcxhr_mix22.c:		/* chip->mic_active = 0; */
+sound/pci/pcxhr/pcxhr_mix22.c:		/* chip->analog_capture_active = 0; */
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->analog_capture_active = 0;
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mic_active = 0;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->audio_capture_source == SOURCE_LINE ||
+sound/pci/pcxhr/pcxhr_mix22.c:		    chip->audio_capture_source == SOURCE_LINEMIC) {
+sound/pci/pcxhr/pcxhr_mix22.c:			if (chip->analog_capture_active == 0)
+sound/pci/pcxhr/pcxhr_mix22.c:			chip->analog_capture_active = 1;
+sound/pci/pcxhr/pcxhr_mix22.c:		if (chip->audio_capture_source == SOURCE_MIC ||
+sound/pci/pcxhr/pcxhr_mix22.c:		    chip->audio_capture_source == SOURCE_LINEMIC) {
+sound/pci/pcxhr/pcxhr_mix22.c:			if (chip->mic_active == 0)
+sound/pci/pcxhr/pcxhr_mix22.c:			chip->mic_active = 1;
+sound/pci/pcxhr/pcxhr_mix22.c:	PCXHR_OUTPB(chip->mgr, PCXHR_XLX_CFG, chip->mgr->xlx_cfg);
+sound/pci/pcxhr/pcxhr_mix22.c:	unsigned char mask = chip->mgr->board_has_aes1 ?
+sound/pci/pcxhr/pcxhr_mix22.c:		PCXHR_OUTPB(chip->mgr, PCXHR_XLX_RUER, idx++); /* idx < 192 */
+sound/pci/pcxhr/pcxhr_mix22.c:		if (PCXHR_INPB(chip->mgr, PCXHR_XLX_CSUER) & mask)
+sound/pci/pcxhr/pcxhr_mix22.c:	dev_dbg(chip->card->dev, "read iec958 AES %d byte %d = 0x%x\n",
+sound/pci/pcxhr/pcxhr_mix22.c:		    chip->chip_idx, aes_idx, temp);
+sound/pci/pcxhr/pcxhr_mix22.c:	unsigned char old_bits = chip->aes_bits[aes_idx];
+sound/pci/pcxhr/pcxhr_mix22.c:			PCXHR_OUTPB(chip->mgr, PCXHR_XLX_RUER, idx);
+sound/pci/pcxhr/pcxhr_mix22.c:			PCXHR_OUTPB(chip->mgr, PCXHR_XLX_CSUER, new_bits&0x01 ?
+sound/pci/pcxhr/pcxhr_mix22.c:	chip->aes_bits[aes_idx] = aes_bits;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	ucontrol->value.integer.value[0] = chip->mic_volume;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->mic_volume != ucontrol->value.integer.value[0]) {
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mic_volume = ucontrol->value.integer.value[0];
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	ucontrol->value.integer.value[0] = chip->mic_boost;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->mic_boost != ucontrol->value.integer.value[0]) {
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->mic_boost = ucontrol->value.integer.value[0];
+sound/pci/pcxhr/pcxhr_mix22.c:		hr222_micro_boost(chip->mgr, chip->mic_boost);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	ucontrol->value.integer.value[0] = chip->phantom_power;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (chip->phantom_power != power) {
+sound/pci/pcxhr/pcxhr_mix22.c:		hr222_phantom_power(chip->mgr, power);
+sound/pci/pcxhr/pcxhr_mix22.c:		chip->phantom_power = power;
+sound/pci/pcxhr/pcxhr_mix22.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mix22.c:	if (!chip->mgr->board_has_mic)
+sound/pci/pcxhr/pcxhr_mix22.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hr222_control_mic_level,
+sound/pci/pcxhr/pcxhr_mix22.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hr222_control_mic_boost,
+sound/pci/pcxhr/pcxhr_mix22.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&hr222_phantom_power_switch,
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[2] = chip->analog_capture_volume[channel];
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->analog_playback_active[channel])
+sound/pci/pcxhr/pcxhr_mixer.c:			vol = chip->analog_playback_volume[channel];
+sound/pci/pcxhr/pcxhr_mixer.c:	rmh.cmd[1]  = 1 << ((2 * chip->chip_idx) + channel);	/* audio mask */
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mixer.c:			   chip->chip_idx, is_capture, err);
+sound/pci/pcxhr/pcxhr_mixer.c:	    if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:	    if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[0] = chip->analog_playback_volume[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[1] = chip->analog_playback_volume[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[0] = chip->analog_capture_volume[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	  ucontrol->value.integer.value[1] = chip->analog_capture_volume[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:			&chip->analog_capture_volume[i] :
+sound/pci/pcxhr/pcxhr_mixer.c:			&chip->analog_playback_volume[i];
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->analog_playback_active[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->analog_playback_active[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->analog_playback_active[i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->analog_playback_active[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	struct pcxhr_pipe *pipe = &chip->playback_pipe;
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->digital_playback_active[idx][0])
+sound/pci/pcxhr/pcxhr_mixer.c:		left = chip->digital_playback_volume[idx][0];
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->digital_playback_active[idx][1])
+sound/pci/pcxhr/pcxhr_mixer.c:		right = chip->digital_playback_volume[idx][1];
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		dev_dbg(chip->card->dev, "error update_playback_stream_level "
+sound/pci/pcxhr/pcxhr_mixer.c:			   "card(%d) err(%x)\n", chip->chip_idx, err);
+sound/pci/pcxhr/pcxhr_mixer.c:		pipe = &chip->capture_pipe[0];
+sound/pci/pcxhr/pcxhr_mixer.c:		pipe = &chip->playback_pipe;
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[2] = chip->digital_capture_volume[channel];
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[2] = chip->monitoring_volume[channel] << 10;
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->monitoring_active[channel] == 0)
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mixer.c:			   chip->chip_idx, err);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_capture_volume;
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_playback_volume[idx];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_capture_volume;
+sound/pci/pcxhr/pcxhr_mixer.c:		stored_volume = chip->digital_playback_volume[idx];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->digital_playback_active[idx][0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->digital_playback_active[idx][1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->digital_playback_active[j][i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->digital_playback_active[j][i] =
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_volume[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_volume[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->monitoring_volume[i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->monitoring_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->monitoring_active[i])
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[0] = chip->monitoring_active[0];
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.integer.value[1] = chip->monitoring_active[1];
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->monitoring_active[i] !=
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->monitoring_active[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	switch (chip->chip_idx) {
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->audio_capture_source != 0) {
+sound/pci/pcxhr/pcxhr_mixer.c:	pcxhr_write_io_num_reg_cont(chip->mgr, mask, reg, &changed);
+sound/pci/pcxhr/pcxhr_mixer.c:		rmh.cmd[0] |= (1 << chip->chip_idx);
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_aes_in_192k) {
+sound/pci/pcxhr/pcxhr_mixer.c:		for (i = 0; (i < 4) && (i < chip->mgr->capture_chips); i++) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->chip[i]->audio_capture_source == 2)
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->audio_capture_source == 2)
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:		err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_has_aes1) {
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->mgr->board_has_mic)
+sound/pci/pcxhr/pcxhr_mixer.c:	ucontrol->value.enumerated.item[0] = chip->audio_capture_source;
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_has_aes1) {
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->mgr->board_has_mic)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->audio_capture_source != ucontrol->value.enumerated.item[0]) {
+sound/pci/pcxhr/pcxhr_mixer.c:		chip->audio_capture_source = ucontrol->value.enumerated.item[0];
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	switch (chip->chip_idx) {
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_aes_in_192k) {
+sound/pci/pcxhr/pcxhr_mixer.c:	err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	if (chip->mgr->board_aes_in_192k) {
+sound/pci/pcxhr/pcxhr_mixer.c:	dev_dbg(chip->card->dev, "read iec958 AES %d byte %d = 0x%x\n",
+sound/pci/pcxhr/pcxhr_mixer.c:		    chip->chip_idx, aes_idx, temp);
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:			aes_bits = chip->aes_bits[i];
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:	unsigned char old_bits = chip->aes_bits[aes_idx];
+sound/pci/pcxhr/pcxhr_mixer.c:			cmd = chip->chip_idx & 0x03;      /* chip index 0..3 */
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->chip_idx > 3)
+sound/pci/pcxhr/pcxhr_mixer.c:			dev_dbg(chip->card->dev,
+sound/pci/pcxhr/pcxhr_mixer.c:				    chip->chip_idx, aes_idx, i, cmd);
+sound/pci/pcxhr/pcxhr_mixer.c:			err = pcxhr_send_msg(chip->mgr, &rmh);
+sound/pci/pcxhr/pcxhr_mixer.c:	chip->aes_bits[aes_idx] = aes_bits;
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_lock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (ucontrol->value.iec958.status[i] != chip->aes_bits[i]) {
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:	mutex_unlock(&chip->mgr->mixer_mutex);
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_play) {
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->digital_playback_active[j][i] = 1;
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->digital_playback_volume[j][i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->aes_bits[0] = (IEC958_AES0_PROFESSIONAL |
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->analog_playback_active[i] = 1;
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_playback_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_playback_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_capt) {
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->digital_capture_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			chip->analog_capture_active = 1;
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_capture_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:				chip->analog_capture_volume[i] =
+sound/pci/pcxhr/pcxhr_mixer.c:			if (chip->mgr->is_hr_stereo)
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_play) {
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_capt) {
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:		if (chip->nb_streams_capt > 0 && chip->nb_streams_play > 0) {
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/pcxhr/pcxhr_mixer.c:			err = snd_ctl_add(chip->card,
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:		substream[i] = chip->playback_substream[i];
+sound/pci/riptide/riptide.c:	substream[i] = chip->capture_substream;
+sound/pci/riptide/riptide.c:	chip->in_suspend = 1;
+sound/pci/riptide/riptide.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/riptide/riptide.c:	snd_ac97_resume(chip->ac97);
+sound/pci/riptide/riptide.c:	chip->in_suspend = 0;
+sound/pci/riptide/riptide.c:	if (!chip->fw_entry) {
+sound/pci/riptide/riptide.c:		err = request_firmware(&chip->fw_entry, "riptide.hex",
+sound/pci/riptide/riptide.c:				       &chip->pci->dev);
+sound/pci/riptide/riptide.c:	err = loadfirmware(cif, chip->fw_entry->data, chip->fw_entry->size);
+sound/pci/riptide/riptide.c:	chip->firmware = firmware;
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	spin_lock(&chip->lock);
+sound/pci/riptide/riptide.c:			chip->openstreams++;
+sound/pci/riptide/riptide.c:		chip->openstreams--;
+sound/pci/riptide/riptide.c:			chip->openstreams--;
+sound/pci/riptide/riptide.c:			chip->openstreams++;
+sound/pci/riptide/riptide.c:		spin_unlock(&chip->lock);
+sound/pci/riptide/riptide.c:	spin_unlock(&chip->lock);
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	spin_lock_irq(&chip->lock);
+sound/pci/riptide/riptide.c:	spin_unlock_irq(&chip->lock);
+sound/pci/riptide/riptide.c:				       &chip->pci->dev,
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	chip->playback_substream[sub_num] = substream;
+sound/pci/riptide/riptide.c:	chip->capture_substream = substream;
+sound/pci/riptide/riptide.c:	chip->playback_substream[sub_num] = NULL;
+sound/pci/riptide/riptide.c:	chip->capture_substream = NULL;
+sound/pci/riptide/riptide.c:	     snd_pcm_new(chip->card, "RIPTIDE", device, PLAYBACK_SUBSTREAMS, 1,
+sound/pci/riptide/riptide.c:	chip->pcm = pcm;
+sound/pci/riptide/riptide.c:					      &chip->pci->dev,
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:		chip->received_irqs++;
+sound/pci/riptide/riptide.c:			chip->handled_irqs++;
+sound/pci/riptide/riptide.c:			tasklet_schedule(&chip->riptide_tq);
+sound/pci/riptide/riptide.c:		if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {
+sound/pci/riptide/riptide.c:			chip->handled_irqs++;
+sound/pci/riptide/riptide.c:						  chip->rmidi->private_data);
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	struct cmdif *cif = chip->cif;
+sound/pci/riptide/riptide.c:	cif = chip->cif;
+sound/pci/riptide/riptide.c:		cif->hwport = (struct riptideport *)chip->port;
+sound/pci/riptide/riptide.c:		chip->cif = cif;
+sound/pci/riptide/riptide.c:	device_id = chip->device_id;
+sound/pci/riptide/riptide.c:	if (chip->rmidi)
+sound/pci/riptide/riptide.c:	if ((cif = chip->cif)) {
+sound/pci/riptide/riptide.c:		kfree(chip->cif);
+sound/pci/riptide/riptide.c:	if (chip->irq >= 0)
+sound/pci/riptide/riptide.c:		free_irq(chip->irq, chip);
+sound/pci/riptide/riptide.c:	release_firmware(chip->fw_entry);
+sound/pci/riptide/riptide.c:	release_and_free_resource(chip->res_port);
+sound/pci/riptide/riptide.c:	spin_lock_init(&chip->lock);
+sound/pci/riptide/riptide.c:	chip->card = card;
+sound/pci/riptide/riptide.c:	chip->pci = pci;
+sound/pci/riptide/riptide.c:	chip->irq = -1;
+sound/pci/riptide/riptide.c:	chip->openstreams = 0;
+sound/pci/riptide/riptide.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/riptide/riptide.c:	chip->received_irqs = 0;
+sound/pci/riptide/riptide.c:	chip->handled_irqs = 0;
+sound/pci/riptide/riptide.c:	chip->cif = NULL;
+sound/pci/riptide/riptide.c:	tasklet_init(&chip->riptide_tq, riptide_handleirq, (unsigned long)chip);
+sound/pci/riptide/riptide.c:	if ((chip->res_port =
+sound/pci/riptide/riptide.c:	     request_region(chip->port, 64, "RIPTIDE")) == NULL) {
+sound/pci/riptide/riptide.c:			   chip->port, chip->port + 64 - 1);
+sound/pci/riptide/riptide.c:	hwport = (struct riptideport *)chip->port;
+sound/pci/riptide/riptide.c:	chip->irq = pci->irq;
+sound/pci/riptide/riptide.c:	chip->device_id = pci->device;
+sound/pci/riptide/riptide.c:	snd_iprintf(buffer, "%s\n\n", chip->card->longname);
+sound/pci/riptide/riptide.c:		    chip->device_id, chip->handled_irqs, chip->received_irqs);
+sound/pci/riptide/riptide.c:			    (i % 16) ? ' ' : '\n', i, inl(chip->port + i));
+sound/pci/riptide/riptide.c:	if ((cif = chip->cif)) {
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.ASIC,
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.CODEC,
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.AUXDSP,
+sound/pci/riptide/riptide.c:			    chip->firmware.firmware.PROG);
+sound/pci/riptide/riptide.c:	snd_iprintf(buffer, "\nOpen streams %d:\n", chip->openstreams);
+sound/pci/riptide/riptide.c:		if (chip->playback_substream[i]
+sound/pci/riptide/riptide.c:		    && chip->playback_substream[i]->runtime
+sound/pci/riptide/riptide.c:			chip->playback_substream[i]->runtime->private_data)) {
+sound/pci/riptide/riptide.c:	if (chip->capture_substream
+sound/pci/riptide/riptide.c:	    && chip->capture_substream->runtime
+sound/pci/riptide/riptide.c:	    && (data = chip->capture_substream->runtime->private_data)) {
+sound/pci/riptide/riptide.c:	snd_card_ro_proc_new(chip->card, "riptide", chip,
+sound/pci/riptide/riptide.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0)
+sound/pci/riptide/riptide.c:	chip->ac97_bus = pbus;
+sound/pci/riptide/riptide.c:	ac97.pci = chip->pci;
+sound/pci/riptide/riptide.c:	if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97)) < 0)
+sound/pci/riptide/riptide.c:	val |= (chip->irq << 4) & 0xf0;
+sound/pci/riptide/riptide.c:	pci_write_config_word(chip->pci, PCI_EXT_Legacy_Mask, val);
+sound/pci/riptide/riptide.c:		pci_write_config_word(chip->pci, PCI_EXT_MPU_Base, val);
+sound/pci/riptide/riptide.c:					  &chip->rmidi);
+sound/pci/riptide/riptide.c:			chip->mpuaddr = val;
+sound/pci/riptide/riptide.c:		pci_write_config_word(chip->pci, PCI_EXT_FM_Base, val);
+sound/pci/riptide/riptide.c:				      OPL3_HW_RIPTIDE, 0, &chip->opl3);
+sound/pci/riptide/riptide.c:			chip->opladdr = val;
+sound/pci/riptide/riptide.c:			err = snd_opl3_hwdep_new(chip->opl3, 0, 1, NULL);
+sound/pci/riptide/riptide.c:		pci_write_config_word(chip->pci, PCI_EXT_Game_Base, val);
+sound/pci/riptide/riptide.c:		chip->gameaddr = val;
+sound/pci/riptide/riptide.c:		 card->shortname, chip->port, chip->irq, chip->mpuaddr,
+sound/pci/riptide/riptide.c:		 chip->opladdr, chip->gameaddr);
+sound/pci/riptide/riptide.c:		 card->shortname, chip->port, chip->irq, chip->mpuaddr,
+sound/pci/riptide/riptide.c:		 chip->opladdr);
+sound/pci/trident/trident_main.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/trident/trident_main.c:		dev_err(chip->card->dev,
+sound/pci/trident/trident_main.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/trident/trident_main.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/trident/trident_main.c:	if (chip->gameport) {
+sound/pci/trident/trident_main.c:		gameport_unregister_port(chip->gameport);
+sound/pci/trident/trident_main.c:		chip->gameport = NULL;
+sound/pci/via82xx.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/via82xx.c:	dev_err(chip->card->dev, "codec_ready: codec %i is not ready [0x%x]\n",
+sound/pci/via82xx.c:			dev_err(chip->card->dev,
+sound/pci/via82xx.c:	if (! (status & chip->intr_mask)) {
+sound/pci/via82xx.c:		if (chip->rmidi)
+sound/pci/via82xx.c:			return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++) {
+sound/pci/via82xx.c:		struct viadev *viadev = &chip->devs[i];
+sound/pci/via82xx.c:			spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:			spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++) {
+sound/pci/via82xx.c:		struct viadev *viadev = &chip->devs[i];
+sound/pci/via82xx.c:			spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:			spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686)
+sound/pci/via82xx.c:		dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:			dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:				dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx.c:	if (chip->revision == VIA_REV_8251 && (status & VIA_REG_STAT_EOL))
+sound/pci/via82xx.c:			dev_dbg(chip->card->dev,
+sound/pci/via82xx.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx.c:	err = build_via_table(viadev, substream, chip->pci,
+sound/pci/via82xx.c:	clean_via_table(viadev, substream, chip->pci);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate);
+sound/pci/via82xx.c:	int ac97_rate = chip->dxs_src ? 48000 : runtime->rate;
+sound/pci/via82xx.c:	if ((rate_changed = via_lock_rate(&chip->rates[0], ac97_rate)) < 0)
+sound/pci/via82xx.c:		snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE,
+sound/pci/via82xx.c:				  chip->no_vra ? 48000 : runtime->rate);
+sound/pci/via82xx.c:	if (chip->spdif_on && viadev->reg_offset == 0x30)
+sound/pci/via82xx.c:		snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+sound/pci/via82xx.c:	outb(chip->playback_volume[viadev->reg_offset / 0x10][0],
+sound/pci/via82xx.c:	outb(chip->playback_volume[viadev->reg_offset / 0x10][1],
+sound/pci/via82xx.c:	if (via_lock_rate(&chip->rates[0], runtime->rate) < 0)
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_SURR_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_LFE_DAC_RATE, runtime->rate);
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+sound/pci/via82xx.c:	if (chip->revision == VIA_REV_8233A)
+sound/pci/via82xx.c:	if (via_lock_rate(&chip->rates[1], runtime->rate) < 0)
+sound/pci/via82xx.c:	snd_ac97_set_rate(chip->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate);
+sound/pci/via82xx.c:	ratep = &chip->rates[viadev->direction];
+sound/pci/via82xx.c:	if (chip->spdif_on && viadev->reg_offset == 0x30) {
+sound/pci/via82xx.c:		runtime->hw.rates = chip->ac97->rates[AC97_RATES_SPDIF];
+sound/pci/via82xx.c:	} else if (chip->dxs_fixed && viadev->reg_offset < 0x40) {
+sound/pci/via82xx.c:	} else if (chip->dxs_src && viadev->reg_offset < 0x40) {
+sound/pci/via82xx.c:		runtime->hw.rates = chip->ac97->rates[idx];
+sound/pci/via82xx.c:	struct viadev *viadev = &chip->devs[chip->playback_devno + substream->number];
+sound/pci/via82xx.c:	viadev = &chip->devs[chip->playback_devno + substream->number];
+sound/pci/via82xx.c:	if (chip->dxs_controls[stream]) {
+sound/pci/via82xx.c:		chip->playback_volume[stream][0] =
+sound/pci/via82xx.c:		chip->playback_volume[stream][1] =
+sound/pci/via82xx.c:		chip->dxs_controls[stream]->vd[0].access &=
+sound/pci/via82xx.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/via82xx.c:			       &chip->dxs_controls[stream]->id);
+sound/pci/via82xx.c:	struct viadev *viadev = &chip->devs[chip->multi_devno];
+sound/pci/via82xx.c:	if (chip->revision == VIA_REV_8233A)
+sound/pci/via82xx.c:	struct viadev *viadev = &chip->devs[chip->capture_devno + substream->pcm->device];
+sound/pci/via82xx.c:	ratep = &chip->rates[viadev->direction];
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:			snd_ac97_update_power(chip->ac97,
+sound/pci/via82xx.c:	if (chip->dxs_controls[stream]) {
+sound/pci/via82xx.c:		chip->dxs_controls[stream]->vd[0].access |=
+sound/pci/via82xx.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO,
+sound/pci/via82xx.c:			       &chip->dxs_controls[stream]->id);
+sound/pci/via82xx.c:	chip->devs[idx].reg_offset = reg_offset;
+sound/pci/via82xx.c:	chip->devs[idx].shadow_shift = shadow_pos * 4;
+sound/pci/via82xx.c:	chip->devs[idx].direction = direction;
+sound/pci/via82xx.c:	chip->devs[idx].port = chip->port + reg_offset;
+sound/pci/via82xx.c:	chip->playback_devno = 0;	/* x 4 */
+sound/pci/via82xx.c:	chip->multi_devno = 4;		/* x 1 */
+sound/pci/via82xx.c:	chip->capture_devno = 5;	/* x 2 */
+sound/pci/via82xx.c:	chip->num_devs = 7;
+sound/pci/via82xx.c:	chip->intr_mask = 0x33033333; /* FLAG|EOL for rec0-1, mc, sdx0-3 */
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 4, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 1, 1, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[1] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->multi_devno, VIA_REG_MULTPLAY_STATUS, 4, 0);
+sound/pci/via82xx.c:	init_viadev(chip, chip->capture_devno + 1, VIA_REG_CAPTURE_8233_STATUS + 0x10, 7, 1);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	chip->ac97->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/via82xx.c:	chip->multi_devno = 0;
+sound/pci/via82xx.c:	chip->playback_devno = 1;
+sound/pci/via82xx.c:	chip->capture_devno = 2;
+sound/pci/via82xx.c:	chip->num_devs = 3;
+sound/pci/via82xx.c:	chip->intr_mask = 0x03033000; /* FLAG|EOL for rec0, mc, sdx3 */
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->multi_devno, VIA_REG_MULTPLAY_STATUS, 4, 0);
+sound/pci/via82xx.c:	init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	chip->ac97->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
+sound/pci/via82xx.c:	if (! ac97_can_spdif(chip->ac97))
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 1, 1, 0, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[1] = pcm;
+sound/pci/via82xx.c:	init_viadev(chip, chip->playback_devno, 0x30, 3, 0);
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	chip->playback_devno = 0;
+sound/pci/via82xx.c:	chip->capture_devno = 1;
+sound/pci/via82xx.c:	chip->num_devs = 2;
+sound/pci/via82xx.c:	chip->intr_mask = 0x77; /* FLAG | EOL for PB, CP, FM */
+sound/pci/via82xx.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/pci/via82xx.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx.c:					      &chip->pci->dev,
+sound/pci/via82xx.c:	unsigned long port = chip->port + (kcontrol->id.index ? (VIA_REG_CAPTURE_CHANNEL + 0x10) : VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:	unsigned long port = chip->port + (kcontrol->id.index ? (VIA_REG_CAPTURE_CHANNEL + 0x10) : VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &val);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &oval);
+sound/pci/via82xx.c:	chip->spdif_on = ucontrol->value.integer.value[0] ? 1 : 0;
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, val);
+sound/pci/via82xx.c:	ucontrol->value.integer.value[0] = VIA_DXS_MAX_VOLUME - chip->playback_volume[idx][0];
+sound/pci/via82xx.c:	ucontrol->value.integer.value[1] = VIA_DXS_MAX_VOLUME - chip->playback_volume[idx][1];
+sound/pci/via82xx.c:	ucontrol->value.integer.value[0] = VIA_DXS_MAX_VOLUME - chip->playback_volume_c[0];
+sound/pci/via82xx.c:	ucontrol->value.integer.value[1] = VIA_DXS_MAX_VOLUME - chip->playback_volume_c[1];
+sound/pci/via82xx.c:	unsigned long port = chip->port + 0x10 * idx;
+sound/pci/via82xx.c:		change |= val != chip->playback_volume[idx][i];
+sound/pci/via82xx.c:			chip->playback_volume[idx][i] = val;
+sound/pci/via82xx.c:		if (val != chip->playback_volume_c[i]) {
+sound/pci/via82xx.c:			chip->playback_volume_c[i] = val;
+sound/pci/via82xx.c:				unsigned long port = chip->port + 0x10 * idx;
+sound/pci/via82xx.c:				chip->playback_volume[idx][i] = val;
+sound/pci/via82xx.c:	chip->ac97_bus = NULL;
+sound/pci/via82xx.c:	chip->ac97 = NULL;
+sound/pci/via82xx.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/via82xx.c:	chip->ac97_bus->private_free = snd_via82xx_mixer_free_ac97_bus;
+sound/pci/via82xx.c:	chip->ac97_bus->clock = chip->ac97_clock;
+sound/pci/via82xx.c:	ac97.pci = chip->pci;
+sound/pci/via82xx.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/via82xx.c:	snd_ac97_tune_hardware(chip->ac97, ac97_quirks, quirk_override);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686) {
+sound/pci/via82xx.c:		snd_ac97_update_bits(chip->ac97, AC97_EXTENDED_STATUS, 0x03 << 4, 0x03 << 4);
+sound/pci/via82xx.c:		dev_warn(chip->card->dev, "cannot reserve joystick port %#x\n",
+sound/pci/via82xx.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/via82xx.c:		dev_err(chip->card->dev,
+sound/pci/via82xx.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/via82xx.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, *legacy);
+sound/pci/via82xx.c:	gameport_register_port(chip->gameport);
+sound/pci/via82xx.c:	if (chip->gameport) {
+sound/pci/via82xx.c:		struct resource *r = gameport_get_port_data(chip->gameport);
+sound/pci/via82xx.c:		gameport_unregister_port(chip->gameport);
+sound/pci/via82xx.c:		chip->gameport = NULL;
+sound/pci/via82xx.c:	caps = chip->chip_type == TYPE_VIA8233A ? 1 : 2;
+sound/pci/via82xx.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_capture_source, chip));
+sound/pci/via82xx.c:	if (ac97_can_spdif(chip->ac97)) {
+sound/pci/via82xx.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs3_spdif_control, chip));
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA8233A) {
+sound/pci/via82xx.c:		if (! snd_ctl_find_id(chip->card, &sid)) {
+sound/pci/via82xx.c:			dev_info(chip->card->dev,
+sound/pci/via82xx.c:			err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_pcmdxs_volume_control, chip));
+sound/pci/via82xx.c:				err = snd_ctl_add(chip->card, kctl);
+sound/pci/via82xx.c:				chip->dxs_controls[i] = kctl;
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &val);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, val);
+sound/pci/via82xx.c:	legacy = chip->old_legacy;
+sound/pci/via82xx.c:	legacy_cfg = chip->old_legacy_cfg;
+sound/pci/via82xx.c:	if (chip->revision >= VIA_REV_686_H) {
+sound/pci/via82xx.c:			pci_write_config_dword(chip->pci, 0x18, mpu_port | 0x01);
+sound/pci/via82xx.c:			chip->mpu_port_saved = mpu_port;
+sound/pci/via82xx.c:			mpu_port = pci_resource_start(chip->pci, 2);
+sound/pci/via82xx.c:	    (chip->mpu_res = request_region(mpu_port, 2, "VIA82xx MPU401"))
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, legacy);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, legacy_cfg);
+sound/pci/via82xx.c:	if (chip->mpu_res) {
+sound/pci/via82xx.c:		if (snd_mpu401_uart_new(chip->card, 0, MPU401_HW_VIA686A,
+sound/pci/via82xx.c:					&chip->rmidi) < 0) {
+sound/pci/via82xx.c:			dev_warn(chip->card->dev,
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, legacy);
+sound/pci/via82xx.c:	chip->legacy_saved = legacy;
+sound/pci/via82xx.c:	chip->legacy_cfg_saved = legacy_cfg;
+sound/pci/via82xx.c:	snd_iprintf(buffer, "%s\n\n", chip->card->longname);
+sound/pci/via82xx.c:		snd_iprintf(buffer, "%02x: %08x\n", i, inl(chip->port + i));
+sound/pci/via82xx.c:	snd_card_ro_proc_new(chip->card, "via82xx", chip,
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686)
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, 0);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, 0x00);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_CTRL, &pval);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx.c:		pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx.c:		dev_err(chip->card->dev,
+sound/pci/via82xx.c:			chip->ac97_secondary = 1;
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686) {
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FM_NMI_CTRL, 0);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686) {
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA8233A) {
+sound/pci/via82xx.c:			unsigned long port = chip->port + 0x10 * idx;
+sound/pci/via82xx.c:				chip->playback_volume[idx][i]=chip->playback_volume_c[i];
+sound/pci/via82xx.c:				outb(chip->playback_volume_c[i],
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/via82xx.c:	if (chip->chip_type != TYPE_VIA686) {
+sound/pci/via82xx.c:		pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &chip->spdif_ctrl_saved);
+sound/pci/via82xx.c:		chip->capture_src_saved[0] = inb(chip->port + VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:		chip->capture_src_saved[1] = inb(chip->port + VIA_REG_CAPTURE_CHANNEL + 0x10);
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686) {
+sound/pci/via82xx.c:		if (chip->mpu_port_saved)
+sound/pci/via82xx.c:			pci_write_config_dword(chip->pci, 0x18, chip->mpu_port_saved | 0x01);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, chip->legacy_saved);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, chip->legacy_cfg_saved);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, chip->spdif_ctrl_saved);
+sound/pci/via82xx.c:		outb(chip->capture_src_saved[0], chip->port + VIA_REG_CAPTURE_CHANNEL);
+sound/pci/via82xx.c:		outb(chip->capture_src_saved[1], chip->port + VIA_REG_CAPTURE_CHANNEL + 0x10);
+sound/pci/via82xx.c:	snd_ac97_resume(chip->ac97);
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:	if (chip->irq < 0)
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:	if (chip->irq >= 0)
+sound/pci/via82xx.c:		free_irq(chip->irq, chip);
+sound/pci/via82xx.c:	release_and_free_resource(chip->mpu_res);
+sound/pci/via82xx.c:	pci_release_regions(chip->pci);
+sound/pci/via82xx.c:	if (chip->chip_type == TYPE_VIA686) {
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, chip->old_legacy);
+sound/pci/via82xx.c:		pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, chip->old_legacy_cfg);
+sound/pci/via82xx.c:	pci_disable_device(chip->pci);
+sound/pci/via82xx.c:	chip->chip_type = chip_type;
+sound/pci/via82xx.c:	chip->revision = revision;
+sound/pci/via82xx.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/via82xx.c:	spin_lock_init(&chip->rates[0].lock);
+sound/pci/via82xx.c:	spin_lock_init(&chip->rates[1].lock);
+sound/pci/via82xx.c:	chip->card = card;
+sound/pci/via82xx.c:	chip->pci = pci;
+sound/pci/via82xx.c:	chip->irq = -1;
+sound/pci/via82xx.c:	pci_read_config_byte(pci, VIA_FUNC_ENABLE, &chip->old_legacy);
+sound/pci/via82xx.c:	pci_read_config_byte(pci, VIA_PNP_CONTROL, &chip->old_legacy_cfg);
+sound/pci/via82xx.c:	pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE,
+sound/pci/via82xx.c:			      chip->old_legacy & ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM));
+sound/pci/via82xx.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/via82xx.c:	chip->irq = pci->irq;
+sound/pci/via82xx.c:		chip->ac97_clock = ac97_clock;
+sound/pci/via82xx.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx.c:			// chip->dxs_fixed = 1; /* FIXME: use 48k for DXS #3? */
+sound/pci/via82xx.c:				chip->dxs_fixed = 1;
+sound/pci/via82xx.c:				chip->no_vra = 1;
+sound/pci/via82xx.c:				chip->no_vra = 1;
+sound/pci/via82xx.c:				chip->dxs_src = 1;
+sound/pci/via82xx.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx.c:		 snd_ac97_get_short_name(chip->ac97), chip->port, chip->irq);
+sound/pci/via82xx_modem.c:		if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/via82xx_modem.c:	dev_err(chip->card->dev, "codec_ready: codec %i is not ready [0x%x]\n",
+sound/pci/via82xx_modem.c:			dev_err(chip->card->dev,
+sound/pci/via82xx_modem.c:	if (! (status & chip->intr_mask)) {
+sound/pci/via82xx_modem.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++) {
+sound/pci/via82xx_modem.c:		struct viadev *viadev = &chip->devs[i];
+sound/pci/via82xx_modem.c:			spin_unlock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:			spin_lock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:		dev_err(chip->card->dev,
+sound/pci/via82xx_modem.c:		dev_dbg(chip->card->dev,
+sound/pci/via82xx_modem.c:			dev_dbg(chip->card->dev,
+sound/pci/via82xx_modem.c:				dev_dbg(chip->card->dev,
+sound/pci/via82xx_modem.c:	spin_lock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	spin_unlock(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	err = build_via_table(viadev, substream, chip->pci,
+sound/pci/via82xx_modem.c:	snd_ac97_write(chip->ac97, AC97_LINE1_RATE, params_rate(hw_params));
+sound/pci/via82xx_modem.c:	snd_ac97_write(chip->ac97, AC97_LINE1_LEVEL, 0);
+sound/pci/via82xx_modem.c:	clean_via_table(viadev, substream, chip->pci);
+sound/pci/via82xx_modem.c:	snd_via82xx_codec_ready(chip, chip->ac97_secondary);
+sound/pci/via82xx_modem.c:	snd_via82xx_codec_ready(chip, chip->ac97_secondary);
+sound/pci/via82xx_modem.c:	struct viadev *viadev = &chip->devs[chip->playback_devno + substream->number];
+sound/pci/via82xx_modem.c:	struct viadev *viadev = &chip->devs[chip->capture_devno + substream->pcm->device];
+sound/pci/via82xx_modem.c:	chip->devs[idx].reg_offset = reg_offset;
+sound/pci/via82xx_modem.c:	chip->devs[idx].direction = direction;
+sound/pci/via82xx_modem.c:	chip->devs[idx].port = chip->port + reg_offset;
+sound/pci/via82xx_modem.c:	chip->playback_devno = 0;
+sound/pci/via82xx_modem.c:	chip->capture_devno = 1;
+sound/pci/via82xx_modem.c:	chip->num_devs = 2;
+sound/pci/via82xx_modem.c:	chip->intr_mask = 0x330000; /* FLAGS | EOL for MR, MW */
+sound/pci/via82xx_modem.c:	err = snd_pcm_new(chip->card, chip->card->shortname, 0, 1, 1, &pcm);
+sound/pci/via82xx_modem.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pci/via82xx_modem.c:	chip->pcms[0] = pcm;
+sound/pci/via82xx_modem.c:					      &chip->pci->dev,
+sound/pci/via82xx_modem.c:	chip->ac97_bus = NULL;
+sound/pci/via82xx_modem.c:	chip->ac97 = NULL;
+sound/pci/via82xx_modem.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/via82xx_modem.c:	chip->ac97_bus->private_free = snd_via82xx_mixer_free_ac97_bus;
+sound/pci/via82xx_modem.c:	chip->ac97_bus->clock = chip->ac97_clock;
+sound/pci/via82xx_modem.c:	ac97.pci = chip->pci;
+sound/pci/via82xx_modem.c:	ac97.num = chip->ac97_secondary;
+sound/pci/via82xx_modem.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/via82xx_modem.c:	snd_iprintf(buffer, "%s\n\n", chip->card->longname);
+sound/pci/via82xx_modem.c:		snd_iprintf(buffer, "%02x: %08x\n", i, inl(chip->port + i));
+sound/pci/via82xx_modem.c:	snd_card_ro_proc_new(chip->card, "via82xx", chip,
+sound/pci/via82xx_modem.c:	pci_read_config_byte(chip->pci, VIA_MC97_CTRL, &pval);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, 0x44, pval|VIA_MC97_CTRL_INIT);
+sound/pci/via82xx_modem.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, 0x00);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL,
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx_modem.c:	pci_read_config_byte(chip->pci, VIA_ACLINK_CTRL, &pval);
+sound/pci/via82xx_modem.c:		pci_write_config_byte(chip->pci, VIA_ACLINK_CTRL, VIA_ACLINK_CTRL_INIT);
+sound/pci/via82xx_modem.c:		pci_read_config_byte(chip->pci, VIA_ACLINK_STAT, &pval);
+sound/pci/via82xx_modem.c:		dev_err(chip->card->dev,
+sound/pci/via82xx_modem.c:			chip->ac97_secondary = 1;
+sound/pci/via82xx_modem.c:	// pci_write_config_byte(chip->pci, VIA_FM_NMI_CTRL, 0);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx_modem.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/via82xx_modem.c:	snd_ac97_resume(chip->ac97);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:	if (chip->irq < 0)
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:	if (chip->irq >= 0)
+sound/pci/via82xx_modem.c:		free_irq(chip->irq, chip);
+sound/pci/via82xx_modem.c:	pci_release_regions(chip->pci);
+sound/pci/via82xx_modem.c:	pci_disable_device(chip->pci);
+sound/pci/via82xx_modem.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/via82xx_modem.c:	chip->card = card;
+sound/pci/via82xx_modem.c:	chip->pci = pci;
+sound/pci/via82xx_modem.c:	chip->irq = -1;
+sound/pci/via82xx_modem.c:	chip->port = pci_resource_start(pci, 0);
+sound/pci/via82xx_modem.c:	chip->irq = pci->irq;
+sound/pci/via82xx_modem.c:		chip->ac97_clock = ac97_clock;
+sound/pci/via82xx_modem.c:	synchronize_irq(chip->irq);
+sound/pci/via82xx_modem.c:	for (i = 0; i < chip->num_devs; i++)
+sound/pci/via82xx_modem.c:		snd_via82xx_channel_reset(chip, &chip->devs[i]);
+sound/pci/via82xx_modem.c:		card->shortname, chip->port, chip->irq);
+sound/pci/vx222/vx222.c:	if (chip->irq >= 0)
+sound/pci/vx222/vx222.c:		free_irq(chip->irq, (void*)chip);
+sound/pci/vx222/vx222.c:	chip->irq = pci->irq;
+sound/pci/vx222/vx222_ops.c:	return chip->port[vx2_reg_index[reg]] + vx2_reg_offset[reg];
+sound/pci/vx222/vx222_ops.c:	dev_dbg(chip->card->dev, "outb: %x -> %x\n", val, vx2_reg_addr(chip, offset));
+sound/pci/vx222/vx222_ops.c:	dev_dbg(chip->card->dev, "outl: %x -> %x\n", val, vx2_reg_addr(chip, offset));
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP & ~VX_CDSP_DSP_RESET_MASK);
+sound/pci/vx222/vx222_ops.c:	chip->regCDSP |= VX_CDSP_DSP_RESET_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP);
+sound/pci/vx222/vx222_ops.c:	dev_dbg(_chip->card->dev, "testing xilinx...\n");
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP | VX_CDSP_TEST0_MASK);
+sound/pci/vx222/vx222_ops.c:		dev_dbg(_chip->card->dev, "bad!\n");
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP & ~VX_CDSP_TEST0_MASK);
+sound/pci/vx222/vx222_ops.c:		dev_dbg(_chip->card->dev, "bad! #2\n");
+sound/pci/vx222/vx222_ops.c:	if (_chip->type == VX_TYPE_BOARD) {
+sound/pci/vx222/vx222_ops.c:		vx_outl(chip, CDSP, chip->regCDSP | VX_CDSP_TEST1_MASK);
+sound/pci/vx222/vx222_ops.c:			dev_dbg(_chip->card->dev, "bad! #3\n");
+sound/pci/vx222/vx222_ops.c:		vx_outl(chip, CDSP, chip->regCDSP & ~VX_CDSP_TEST1_MASK);
+sound/pci/vx222/vx222_ops.c:			dev_dbg(_chip->card->dev, "bad! #4\n");
+sound/pci/vx222/vx222_ops.c:	dev_dbg(_chip->card->dev, "ok, xilinx fine.\n");
+sound/pci/vx222/vx222_ops.c:	if (chip->type == VX_TYPE_BOARD)
+sound/pci/vx222/vx222_ops.c:	if (chip->type != VX_TYPE_BOARD) {
+sound/pci/vx222/vx222_ops.c:		dev_err(chip->card->dev,
+sound/pci/vx222/vx222_ops.c:	if (! (chip->chip_status & VX_STAT_XILINX_LOADED))
+sound/pci/vx222/vx222_ops.c:		chip->regCDSP |= VX_CDSP_VALID_IRQ_MASK;
+sound/pci/vx222/vx222_ops.c:		chip->regCDSP &= ~VX_CDSP_VALID_IRQ_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP);
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP &~ VX_CDSP_CODEC_RESET_MASK);
+sound/pci/vx222/vx222_ops.c:	chip->regCDSP |= VX_CDSP_CODEC_RESET_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CDSP, chip->regCDSP);
+sound/pci/vx222/vx222_ops.c:	if (_chip->type == VX_TYPE_BOARD) {
+sound/pci/vx222/vx222_ops.c:	if (_chip->type == VX_TYPE_MIC) {
+sound/pci/vx222/vx222_ops.c:		chip->regSELMIC =  MICRO_SELECT_INPUT_NORM |
+sound/pci/vx222/vx222_ops.c:		chip->regSELMIC &= ~MICRO_SELECT_PHANTOM_ALIM;
+sound/pci/vx222/vx222_ops.c:		vx_outl(_chip, SELMIC, chip->regSELMIC);
+sound/pci/vx222/vx222_ops.c:		chip->regCFG |= VX_CFG_DATAIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:		chip->regCFG &= ~VX_CFG_DATAIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CFG, chip->regCFG);
+sound/pci/vx222/vx222_ops.c:		chip->regCFG &= ~VX_CFG_CLOCKIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:		chip->regCFG |= VX_CFG_CLOCKIN_SEL_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, CFG, chip->regCFG);
+sound/pci/vx222/vx222_ops.c:	chip->regCDSP = VX_CDSP_CODEC_RESET_MASK | VX_CDSP_DSP_RESET_MASK ;
+sound/pci/vx222/vx222_ops.c:	chip->regCFG = 0;
+sound/pci/vx222/vx222_ops.c:	miclevel = chip->mic_level;
+sound/pci/vx222/vx222_ops.c:	chip->regSELMIC &= ~MICRO_SELECT_PREAMPLI_MASK;
+sound/pci/vx222/vx222_ops.c:	chip->regSELMIC |= (preamp << MICRO_SELECT_PREAMPLI_OFFSET) & MICRO_SELECT_PREAMPLI_MASK;
+sound/pci/vx222/vx222_ops.c:	vx_outl(chip, SELMIC, chip->regSELMIC);
+sound/pci/vx222/vx222_ops.c:		(unsigned int)chip->input_level[1] << 8 |
+sound/pci/vx222/vx222_ops.c:		(unsigned int)chip->input_level[0];
+sound/pci/vx222/vx222_ops.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	ucontrol->value.integer.value[0] = chip->input_level[0];
+sound/pci/vx222/vx222_ops.c:	ucontrol->value.integer.value[1] = chip->input_level[1];
+sound/pci/vx222/vx222_ops.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	if (chip->input_level[0] != ucontrol->value.integer.value[0] ||
+sound/pci/vx222/vx222_ops.c:	    chip->input_level[1] != ucontrol->value.integer.value[1]) {
+sound/pci/vx222/vx222_ops.c:		chip->input_level[0] = ucontrol->value.integer.value[0];
+sound/pci/vx222/vx222_ops.c:		chip->input_level[1] = ucontrol->value.integer.value[1];
+sound/pci/vx222/vx222_ops.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	ucontrol->value.integer.value[0] = chip->mic_level;
+sound/pci/vx222/vx222_ops.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	if (chip->mic_level != ucontrol->value.integer.value[0]) {
+sound/pci/vx222/vx222_ops.c:		chip->mic_level = ucontrol->value.integer.value[0];
+sound/pci/vx222/vx222_ops.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pci/vx222/vx222_ops.c:	if (_chip->type != VX_TYPE_MIC)
+sound/pci/vx222/vx222_ops.c:	chip->input_level[0] = chip->input_level[1] = 0;
+sound/pci/vx222/vx222_ops.c:	chip->mic_level = 0;
+sound/pci/vx222/vx222_ops.c:	if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_input_level, chip))) < 0)
+sound/pci/vx222/vx222_ops.c:	if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_mic_level, chip))) < 0)
+sound/pci/ymfpci/ymfpci.c:	if (chip->pci->device >= 0x0010) { /* YMF 744/754 */
+sound/pci/ymfpci/ymfpci.c:			if (!(io_port = pci_resource_start(chip->pci, 2)))
+sound/pci/ymfpci/ymfpci.c:				dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:			dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:		dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:	chip->gameport = gp = gameport_allocate_port();
+sound/pci/ymfpci/ymfpci.c:		dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci.c:	gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
+sound/pci/ymfpci/ymfpci.c:	gameport_set_dev_parent(gp, &chip->pci->dev);
+sound/pci/ymfpci/ymfpci.c:	if (chip->pci->device >= 0x0010) /* YMF 744/754 */
+sound/pci/ymfpci/ymfpci.c:		pci_write_config_word(chip->pci, PCIR_DSXG_JOYBASE, io_port);
+sound/pci/ymfpci/ymfpci.c:	pci_write_config_word(chip->pci, PCIR_DSXG_LEGACY, legacy_ctrl | YMFPCI_LEGACY_JPEN);
+sound/pci/ymfpci/ymfpci.c:	pci_write_config_word(chip->pci, PCIR_DSXG_ELEGACY, legacy_ctrl2);
+sound/pci/ymfpci/ymfpci.c:	gameport_register_port(chip->gameport);
+sound/pci/ymfpci/ymfpci.c:	if (chip->gameport) {
+sound/pci/ymfpci/ymfpci.c:		struct resource *r = gameport_get_port_data(chip->gameport);
+sound/pci/ymfpci/ymfpci.c:		gameport_unregister_port(chip->gameport);
+sound/pci/ymfpci/ymfpci.c:		chip->gameport = NULL;
+sound/pci/ymfpci/ymfpci.c:	chip->fm_res = fm_res;
+sound/pci/ymfpci/ymfpci.c:	chip->mpu_res = mpu_res;
+sound/pci/ymfpci/ymfpci.c:		chip->reg_area_phys,
+sound/pci/ymfpci/ymfpci.c:		chip->irq);
+sound/pci/ymfpci/ymfpci.c:	if (chip->ac97->ext_id & AC97_EI_SDAC) {
+sound/pci/ymfpci/ymfpci.c:	if (chip->mpu_res) {
+sound/pci/ymfpci/ymfpci.c:					       -1, &chip->rawmidi)) < 0) {
+sound/pci/ymfpci/ymfpci.c:	if (chip->fm_res) {
+sound/pci/ymfpci/ymfpci.h:#define YMFREG(chip, reg)		(chip->port + YDSXGR_##reg)
+sound/pci/ymfpci/ymfpci_main.c:	return readb(chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	writeb(val, chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	return readw(chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	writew(val, chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	return readl(chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	writel(val, chip->reg_area_virt + offset);
+sound/pci/ymfpci/ymfpci_main.c:	dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->device_id == PCI_DEVICE_ID_YAMAHA_744 && chip->rev < 2) {
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->start_count++ > 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT) & 1;
+sound/pci/ymfpci/ymfpci_main.c:      	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (--chip->start_count > 0)
+sound/pci/ymfpci/ymfpci_main.c:	if (atomic_read(&chip->interrupt_sleep_count)) {
+sound/pci/ymfpci/ymfpci_main.c:		atomic_set(&chip->interrupt_sleep_count, 0);
+sound/pci/ymfpci/ymfpci_main.c:		wake_up(&chip->interrupt_sleep);
+sound/pci/ymfpci/ymfpci_main.c:      	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:		voice = &chip->voices[idx];
+sound/pci/ymfpci/ymfpci_main.c:		voice2 = pair ? &chip->voices[idx+1] : NULL;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->voice_lock, flags);	
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (pvoice->number == chip->src441_used) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->src441_used = -1;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		pos = le32_to_cpu(voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:			dev_dbg(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:			       chip->active_bank,
+sound/pci/ymfpci/ymfpci_main.c:			       voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:			spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:			spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:			unsigned int next_bank = 1 - chip->active_bank;
+sound/pci/ymfpci/ymfpci_main.c:			volume = cpu_to_le32(chip->pcm_mixer[subs].left << 15);
+sound/pci/ymfpci/ymfpci_main.c:			volume = cpu_to_le32(chip->pcm_mixer[subs].right << 15);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		pos = le32_to_cpu(chip->bank_capture[ypcm->capture_bank_number][chip->active_bank]->start) >> ypcm->shift;
+sound/pci/ymfpci/ymfpci_main.c:			dev_dbg(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:			       chip->active_bank,
+sound/pci/ymfpci/ymfpci_main.c:			       voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:			spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:			spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		chip->ctrl_playback[ypcm->voices[0]->number + 1] = cpu_to_le32(ypcm->voices[0]->bank_addr);
+sound/pci/ymfpci/ymfpci_main.c:			chip->ctrl_playback[ypcm->voices[1]->number + 1] = cpu_to_le32(ypcm->voices[1]->bank_addr);
+sound/pci/ymfpci/ymfpci_main.c:		if (substream->pcm == chip->pcm && !ypcm->use_441_slot) {
+sound/pci/ymfpci/ymfpci_main.c:			kctl = chip->pcm_mixer[substream->number].ctl;
+sound/pci/ymfpci/ymfpci_main.c:		chip->ctrl_playback[ypcm->voices[0]->number + 1] = 0;
+sound/pci/ymfpci/ymfpci_main.c:			chip->ctrl_playback[ypcm->voices[1]->number + 1] = 0;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO, &kctl->id);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		ypcm->voices[1] = &ypcm->chip->voices[ypcm->voices[0]->number + 1];
+sound/pci/ymfpci/ymfpci_main.c:		vol_left = cpu_to_le32(ypcm->chip->pcm_mixer
+sound/pci/ymfpci/ymfpci_main.c:		vol_right = cpu_to_le32(ypcm->chip->pcm_mixer
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&ypcm->chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	else if (ypcm->chip->device_id == PCI_DEVICE_ID_YAMAHA_754 &&
+sound/pci/ymfpci/ymfpci_main.c:		 voiceidx == 0 && (ypcm->chip->src441_used == -1 ||
+sound/pci/ymfpci/ymfpci_main.c:				   ypcm->chip->src441_used == voice->number)) {
+sound/pci/ymfpci/ymfpci_main.c:		ypcm->chip->src441_used = voice->number;
+sound/pci/ymfpci/ymfpci_main.c:	if (ypcm->chip->src441_used == voice->number &&
+sound/pci/ymfpci/ymfpci_main.c:		ypcm->chip->src441_used = -1;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&ypcm->chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:				4096, &chip->ac3_tmp_base) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][0]->base =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][1]->base = cpu_to_le32(chip->ac3_tmp_base.addr);
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][0]->loop_end =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[3][1]->loop_end = cpu_to_le32(1024);
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][0]->base =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][1]->base = cpu_to_le32(chip->ac3_tmp_base.addr + 2048);
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][0]->loop_end =
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_effect[4][1]->loop_end = cpu_to_le32(1024);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->ac3_tmp_base.area) {
+sound/pci/ymfpci/ymfpci_main.c:		snd_dma_free_pages(&chip->ac3_tmp_base);
+sound/pci/ymfpci/ymfpci_main.c:		chip->ac3_tmp_base.area = NULL;
+sound/pci/ymfpci/ymfpci_main.c:					  substream->pcm == chip->pcm);
+sound/pci/ymfpci/ymfpci_main.c:	if (substream->pcm == chip->pcm && !ypcm->use_441_slot) {
+sound/pci/ymfpci/ymfpci_main.c:		kctl = chip->pcm_mixer[substream->number].ctl;
+sound/pci/ymfpci/ymfpci_main.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_INFO, &kctl->id);
+sound/pci/ymfpci/ymfpci_main.c:		bank = chip->bank_capture[ypcm->capture_bank_number][nbank];
+sound/pci/ymfpci/ymfpci_main.c:	return le32_to_cpu(voice->bank[chip->active_bank].start);
+sound/pci/ymfpci/ymfpci_main.c:	return le32_to_cpu(chip->bank_capture[ypcm->capture_bank_number][chip->active_bank]->start) >> ypcm->shift;
+sound/pci/ymfpci/ymfpci_main.c:		add_wait_queue(&chip->interrupt_sleep, &wait);
+sound/pci/ymfpci/ymfpci_main.c:		atomic_inc(&chip->interrupt_sleep_count);
+sound/pci/ymfpci/ymfpci_main.c:		remove_wait_queue(&chip->interrupt_sleep, &wait);
+sound/pci/ymfpci/ymfpci_main.c:		chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT) & 1;
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock(&chip->voice_lock);
+sound/pci/ymfpci/ymfpci_main.c:			voice = &chip->voices[nvoice];
+sound/pci/ymfpci/ymfpci_main.c:			if (chip->capture_substream[nvoice])
+sound/pci/ymfpci/ymfpci_main.c:				snd_ymfpci_pcm_capture_interrupt(chip->capture_substream[nvoice]);
+sound/pci/ymfpci/ymfpci_main.c:			if (chip->effect_substream[nvoice])
+sound/pci/ymfpci/ymfpci_main.c:				snd_ymfpci_pcm_effect_interrupt(chip->effect_substream[nvoice]);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock(&chip->voice_lock);
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		if (atomic_read(&chip->interrupt_sleep_count)) {
+sound/pci/ymfpci/ymfpci_main.c:			atomic_set(&chip->interrupt_sleep_count, 0);
+sound/pci/ymfpci/ymfpci_main.c:			wake_up(&chip->interrupt_sleep);
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->timer)
+sound/pci/ymfpci/ymfpci_main.c:			snd_timer_interrupt(chip->timer, chip->timer_ticks);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->rawmidi)
+sound/pci/ymfpci/ymfpci_main.c:		snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data);
+sound/pci/ymfpci/ymfpci_main.c:	if (! chip->rear_opened) {
+sound/pci/ymfpci/ymfpci_main.c:		if (! chip->spdif_opened) /* set AC3 */
+sound/pci/ymfpci/ymfpci_main.c:	if (! chip->rear_opened) {
+sound/pci/ymfpci/ymfpci_main.c:		if (! chip->spdif_opened)
+sound/pci/ymfpci/ymfpci_main.c:	ypcm->output_rear = chip->mode_dup4ch ? 1 : 0;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		chip->rear_opened++;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_bits = chip->spdif_bits;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_opened++;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/ymfpci/ymfpci_main.c:		       SNDRV_CTL_EVENT_MASK_INFO, &chip->spdif_pcm_ctl->id);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->rear_opened++;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->capture_substream[capture_bank_number] = substream;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	if (ypcm->output_rear && chip->rear_opened > 0) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->rear_opened--;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_opened = 0;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE |
+sound/pci/ymfpci/ymfpci_main.c:		       SNDRV_CTL_EVENT_MASK_INFO, &chip->spdif_pcm_ctl->id);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->rear_opened > 0) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->rear_opened--;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		chip->capture_substream[ypcm->capture_bank_number] = NULL;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI", device, 32, 1, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI - PCM2", device, 0, 1, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_754 ? "Direct Recording" : "AC'97");
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm2 = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI - IEC958", device, 1, 0, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm_spdif = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_pcm_new(chip->card, "YMFPCI - Rear", device, 1, 0, &pcm)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->pcm_4ch = pcm;
+sound/pci/ymfpci/ymfpci_main.c:					      &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[0] = (chip->spdif_bits >> 0) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[1] = (chip->spdif_bits >> 8) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	change = chip->spdif_bits != val;
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_bits = val;
+sound/pci/ymfpci/ymfpci_main.c:	if ((snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & 1) && chip->pcm_spdif == NULL)
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[0] = (chip->spdif_pcm_bits >> 0) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.iec958.status[1] = (chip->spdif_pcm_bits >> 8) & 0xff;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	change = chip->spdif_pcm_bits != val;
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_bits = val;
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.integer.value[0] = chip->mode_dup4ch;
+sound/pci/ymfpci/ymfpci_main.c:	change = (ucontrol->value.integer.value[0] != chip->mode_dup4ch);
+sound/pci/ymfpci/ymfpci_main.c:		chip->mode_dup4ch = !!ucontrol->value.integer.value[0];
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.integer.value[0] = chip->pcm_mixer[subs].left;
+sound/pci/ymfpci/ymfpci_main.c:	ucontrol->value.integer.value[1] = chip->pcm_mixer[subs].right;
+sound/pci/ymfpci/ymfpci_main.c:	if (ucontrol->value.integer.value[0] != chip->pcm_mixer[subs].left ||
+sound/pci/ymfpci/ymfpci_main.c:	    ucontrol->value.integer.value[1] != chip->pcm_mixer[subs].right) {
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[subs].left = ucontrol->value.integer.value[0];
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[subs].right = ucontrol->value.integer.value[1];
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->pcm_mixer[subs].left > 0x8000)
+sound/pci/ymfpci/ymfpci_main.c:			chip->pcm_mixer[subs].left = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->pcm_mixer[subs].right > 0x8000)
+sound/pci/ymfpci/ymfpci_main.c:			chip->pcm_mixer[subs].right = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock_irqsave(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock_irqrestore(&chip->voice_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97_bus = NULL;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97 = NULL;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97_bus->private_free = snd_ymfpci_mixer_free_ac97_bus;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ac97_bus->no_vra = 1; /* YMFPCI doesn't need VRA */
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	snd_ac97_update_bits(chip->ac97, AC97_EXTENDED_STATUS,
+sound/pci/ymfpci/ymfpci_main.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_controls[idx], chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->ac97->ext_id & AC97_EI_SDAC) {
+sound/pci/ymfpci/ymfpci_main.c:		err = snd_ctl_add(chip->card, kctl);
+sound/pci/ymfpci/ymfpci_main.c:	if (snd_BUG_ON(!chip->pcm_spdif))
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_spdif_default, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	kctl->id.device = chip->pcm_spdif->device;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_spdif_mask, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	kctl->id.device = chip->pcm_spdif->device;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_spdif_stream, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	kctl->id.device = chip->pcm_spdif->device;
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_pcm_ctl = kctl;
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->device_id == PCI_DEVICE_ID_YAMAHA_754 &&
+sound/pci/ymfpci/ymfpci_main.c:	    (err = snd_ctl_add(chip->card, kctl = snd_ctl_new1(&snd_ymfpci_drec_source, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_rear_shared, chip))) < 0)
+sound/pci/ymfpci/ymfpci_main.c:	substream = chip->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream;
+sound/pci/ymfpci/ymfpci_main.c:		kctl->id.device = chip->pcm->device;
+sound/pci/ymfpci/ymfpci_main.c:		if ((err = snd_ctl_add(chip->card, kctl)) < 0)
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[idx].left = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[idx].right = 0x8000;
+sound/pci/ymfpci/ymfpci_main.c:		chip->pcm_mixer[idx].ctl = kctl;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:		chip->timer_ticks = timer->sticks;
+sound/pci/ymfpci/ymfpci_main.c:		chip->timer_ticks = 2;
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/pci/ymfpci/ymfpci_main.c:	tid.card = chip->card->number;
+sound/pci/ymfpci/ymfpci_main.c:	if ((err = snd_timer_new(chip->card, "YMFPCI", &tid, &timer)) >= 0) {
+sound/pci/ymfpci/ymfpci_main.c:	chip->timer = timer;
+sound/pci/ymfpci/ymfpci_main.c:	err = request_firmware(&chip->dsp_microcode, "yamaha/ds1_dsp.fw",
+sound/pci/ymfpci/ymfpci_main.c:			       &chip->pci->dev);
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->dsp_microcode->size != YDSXG_DSPLENGTH) {
+sound/pci/ymfpci/ymfpci_main.c:			dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:	is_1e = chip->device_id == PCI_DEVICE_ID_YAMAHA_724F ||
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_740C ||
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_744 ||
+sound/pci/ymfpci/ymfpci_main.c:		chip->device_id == PCI_DEVICE_ID_YAMAHA_754;
+sound/pci/ymfpci/ymfpci_main.c:	err = request_firmware(&chip->controller_microcode, name,
+sound/pci/ymfpci/ymfpci_main.c:			       &chip->pci->dev);
+sound/pci/ymfpci/ymfpci_main.c:		if (chip->controller_microcode->size != YDSXG_CTRLLENGTH) {
+sound/pci/ymfpci/ymfpci_main.c:			dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:	inst = (const __le32 *)chip->dsp_microcode->data;
+sound/pci/ymfpci/ymfpci_main.c:	inst = (const __le32 *)chip->controller_microcode->data;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_size_playback = snd_ymfpci_readl(chip, YDSXGR_PLAYCTRLSIZE) << 2;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_size_capture = snd_ymfpci_readl(chip, YDSXGR_RECCTRLSIZE) << 2;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_size_effect = snd_ymfpci_readl(chip, YDSXGR_EFFCTRLSIZE) << 2;
+sound/pci/ymfpci/ymfpci_main.c:	chip->work_size = YDSXG_DEFAULT_WORK_SIZE;
+sound/pci/ymfpci/ymfpci_main.c:	       ALIGN(chip->bank_size_playback * 2 * YDSXG_PLAYBACK_VOICES, 0x100) +
+sound/pci/ymfpci/ymfpci_main.c:	       ALIGN(chip->bank_size_capture * 2 * YDSXG_CAPTURE_VOICES, 0x100) +
+sound/pci/ymfpci/ymfpci_main.c:	       ALIGN(chip->bank_size_effect * 2 * YDSXG_EFFECT_VOICES, 0x100) +
+sound/pci/ymfpci/ymfpci_main.c:	       chip->work_size;
+sound/pci/ymfpci/ymfpci_main.c:	if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &chip->pci->dev,
+sound/pci/ymfpci/ymfpci_main.c:				size, &chip->work_ptr) < 0) 
+sound/pci/ymfpci/ymfpci_main.c:	ptr = chip->work_ptr.area;
+sound/pci/ymfpci/ymfpci_main.c:	ptr_addr = chip->work_ptr.addr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_playback = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_playback_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ctrl_playback = (__le32 *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->ctrl_playback[0] = cpu_to_le32(YDSXG_PLAYBACK_VOICES);
+sound/pci/ymfpci/ymfpci_main.c:		chip->voices[voice].number = voice;
+sound/pci/ymfpci/ymfpci_main.c:		chip->voices[voice].bank = (struct snd_ymfpci_playback_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:		chip->voices[voice].bank_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:			chip->bank_playback[voice][bank] = (struct snd_ymfpci_playback_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:			ptr += chip->bank_size_playback;
+sound/pci/ymfpci/ymfpci_main.c:			ptr_addr += chip->bank_size_playback;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_capture = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_capture_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:			chip->bank_capture[voice][bank] = (struct snd_ymfpci_capture_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:			ptr += chip->bank_size_capture;
+sound/pci/ymfpci/ymfpci_main.c:			ptr_addr += chip->bank_size_capture;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_effect = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->bank_base_effect_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:			chip->bank_effect[voice][bank] = (struct snd_ymfpci_effect_bank *)ptr;
+sound/pci/ymfpci/ymfpci_main.c:			ptr += chip->bank_size_effect;
+sound/pci/ymfpci/ymfpci_main.c:			ptr_addr += chip->bank_size_effect;
+sound/pci/ymfpci/ymfpci_main.c:	chip->work_base = ptr;
+sound/pci/ymfpci/ymfpci_main.c:	chip->work_base_addr = ptr_addr;
+sound/pci/ymfpci/ymfpci_main.c:	snd_BUG_ON(ptr + chip->work_size !=
+sound/pci/ymfpci/ymfpci_main.c:		   chip->work_ptr.area + chip->work_ptr.bytes);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_PLAYCTRLBASE, chip->bank_base_playback_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_RECCTRLBASE, chip->bank_base_capture_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_EFFCTRLBASE, chip->bank_base_effect_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_WORKBASE, chip->work_base_addr);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writel(chip, YDSXGR_WORKSIZE, chip->work_size >> 2);
+sound/pci/ymfpci/ymfpci_main.c:	chip->spdif_bits = chip->spdif_pcm_bits = SNDRV_PCM_DEFAULT_CON_SPDIF & 0xffff;
+sound/pci/ymfpci/ymfpci_main.c:	snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->res_reg_area) {	/* don't touch busy hardware */
+sound/pci/ymfpci/ymfpci_main.c:	pci_set_power_state(chip->pci, PCI_D3hot);
+sound/pci/ymfpci/ymfpci_main.c:	kfree(chip->saved_regs);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->irq >= 0)
+sound/pci/ymfpci/ymfpci_main.c:		free_irq(chip->irq, chip);
+sound/pci/ymfpci/ymfpci_main.c:	release_and_free_resource(chip->mpu_res);
+sound/pci/ymfpci/ymfpci_main.c:	release_and_free_resource(chip->fm_res);
+sound/pci/ymfpci/ymfpci_main.c:	iounmap(chip->reg_area_virt);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->work_ptr.area)
+sound/pci/ymfpci/ymfpci_main.c:		snd_dma_free_pages(&chip->work_ptr);
+sound/pci/ymfpci/ymfpci_main.c:	release_and_free_resource(chip->res_reg_area);
+sound/pci/ymfpci/ymfpci_main.c:	pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
+sound/pci/ymfpci/ymfpci_main.c:	pci_disable_device(chip->pci);
+sound/pci/ymfpci/ymfpci_main.c:	release_firmware(chip->dsp_microcode);
+sound/pci/ymfpci/ymfpci_main.c:	release_firmware(chip->controller_microcode);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ac97_suspend(chip->ac97);
+sound/pci/ymfpci/ymfpci_main.c:		chip->saved_regs[i] = snd_ymfpci_readl(chip, saved_regs_index[i]);
+sound/pci/ymfpci/ymfpci_main.c:	chip->saved_ydsxgr_mode = snd_ymfpci_readl(chip, YDSXGR_MODE);
+sound/pci/ymfpci/ymfpci_main.c:	pci_read_config_word(chip->pci, PCIR_DSXG_LEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			     &chip->saved_dsxg_legacy);
+sound/pci/ymfpci/ymfpci_main.c:	pci_read_config_word(chip->pci, PCIR_DSXG_ELEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			     &chip->saved_dsxg_elegacy);
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writel(chip, saved_regs_index[i], chip->saved_regs[i]);
+sound/pci/ymfpci/ymfpci_main.c:	snd_ac97_resume(chip->ac97);
+sound/pci/ymfpci/ymfpci_main.c:	pci_write_config_word(chip->pci, PCIR_DSXG_LEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			      chip->saved_dsxg_legacy);
+sound/pci/ymfpci/ymfpci_main.c:	pci_write_config_word(chip->pci, PCIR_DSXG_ELEGACY,
+sound/pci/ymfpci/ymfpci_main.c:			      chip->saved_dsxg_elegacy);
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->start_count > 0) {
+sound/pci/ymfpci/ymfpci_main.c:		spin_lock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:		snd_ymfpci_writel(chip, YDSXGR_MODE, chip->saved_ydsxgr_mode);
+sound/pci/ymfpci/ymfpci_main.c:		chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT);
+sound/pci/ymfpci/ymfpci_main.c:		spin_unlock_irq(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	chip->old_legacy_ctrl = old_legacy_ctrl;
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_init(&chip->reg_lock);
+sound/pci/ymfpci/ymfpci_main.c:	spin_lock_init(&chip->voice_lock);
+sound/pci/ymfpci/ymfpci_main.c:	init_waitqueue_head(&chip->interrupt_sleep);
+sound/pci/ymfpci/ymfpci_main.c:	atomic_set(&chip->interrupt_sleep_count, 0);
+sound/pci/ymfpci/ymfpci_main.c:	chip->card = card;
+sound/pci/ymfpci/ymfpci_main.c:	chip->pci = pci;
+sound/pci/ymfpci/ymfpci_main.c:	chip->irq = -1;
+sound/pci/ymfpci/ymfpci_main.c:	chip->device_id = pci->device;
+sound/pci/ymfpci/ymfpci_main.c:	chip->rev = pci->revision;
+sound/pci/ymfpci/ymfpci_main.c:	chip->reg_area_phys = pci_resource_start(pci, 0);
+sound/pci/ymfpci/ymfpci_main.c:	chip->reg_area_virt = ioremap_nocache(chip->reg_area_phys, 0x8000);
+sound/pci/ymfpci/ymfpci_main.c:	chip->src441_used = -1;
+sound/pci/ymfpci/ymfpci_main.c:	if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, 0x8000, "YMFPCI")) == NULL) {
+sound/pci/ymfpci/ymfpci_main.c:		dev_err(chip->card->dev,
+sound/pci/ymfpci/ymfpci_main.c:			chip->reg_area_phys, chip->reg_area_phys + 0x8000 - 1);
+sound/pci/ymfpci/ymfpci_main.c:		dev_err(chip->card->dev, "unable to grab IRQ %d\n", pci->irq);
+sound/pci/ymfpci/ymfpci_main.c:	chip->irq = pci->irq;
+sound/pci/ymfpci/ymfpci_main.c:		dev_err(chip->card->dev, "firmware request failed: %d\n", err);
+sound/pci/ymfpci/ymfpci_main.c:	chip->saved_regs = kmalloc_array(YDSXGR_NUM_SAVED_REGS, sizeof(u32),
+sound/pci/ymfpci/ymfpci_main.c:	if (chip->saved_regs == NULL) {
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_CONFIGURED)
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	chip->chip_status |= PDAUDIOCF_STAT_IS_STALE; /* to be sure */
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	snd_card_disconnect(chip->card);
+sound/pcmcia/pdaudiocf/pdaudiocf.c:	snd_card_free_when_closed(chip->card);
+sound/pcmcia/pdaudiocf/pdaudiocf.h:	outw(chip->regmap[reg>>1] = val, chip->port + reg);
+sound/pcmcia/pdaudiocf/pdaudiocf.h:	return inw(chip->port + reg);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_lock_irqsave(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:			spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:			spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_lock_irqsave(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	while (inw(chip->port + PDAUDIOCF_REG_SCR) & PDAUDIOCF_AK_SBP) {
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:			spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	outw((u16)reg << 8 | val | (1<<13), chip->port + PDAUDIOCF_REG_AK_IFR);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_unlock_irqrestore(&chip->ak4117_lock, flags);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	printk(KERN_DEBUG "PDAUDIOCF DUMP (0x%lx):\n", chip->port);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_WDP));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_RDP));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_TCR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_SCR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_ISR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_IER));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       inw(chip->port + PDAUDIOCF_REG_AK_IFR));
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:		pdacf_reg_write(chip, PDAUDIOCF_REG_SCR, chip->suspend_reg_scr);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_ak4117_reinit(chip->ak4117);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	pdacf_reg_write(chip, PDAUDIOCF_REG_TCR, chip->regmap[PDAUDIOCF_REG_TCR>>1]);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	pdacf_reg_write(chip, PDAUDIOCF_REG_IER, chip->regmap[PDAUDIOCF_REG_IER>>1]);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_card_ro_proc_new(chip->card, "pdaudiocf", chip, pdacf_proc_read);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->card = card;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	mutex_init(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	spin_lock_init(&chip->ak4117_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	val = chip->regmap[PDAUDIOCF_REG_SCR>>1];
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	err = snd_ak4117_create(chip->card, pdacf_ak4117_read, pdacf_ak4117_write, pgm, chip, &chip->ak4117);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->ak4117->change_callback_private = chip;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->ak4117->change_callback = snd_pdacf_ak4117_change;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_pdacf_ak4117_change(chip->ak4117, AK4117_UNLCK, 0);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->suspend_reg_scr = val;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	/* disable interrupts, but use direct write to preserve old register value in chip->regmap */
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	val = inw(chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	outw(val, chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	/* disable interrupts, but use direct write to preserve old register value in chip->regmap */
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	val = inw(chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	outw(val, chip->port + PDAUDIOCF_REG_IER);
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->chip_status |= PDAUDIOCF_STAT_IS_SUSPENDED;	/* ignore interrupts from now */
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	return (chip->ak4117->rcs0 & AK4117_UNLCK) == 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	       (snd_ak4117_external_rate(chip->ak4117) <= 0 || !check_signal(chip)))
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	chip->chip_status &= ~PDAUDIOCF_STAT_IS_SUSPENDED;
+sound/pcmcia/pdaudiocf/pdaudiocf_core.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	stat = inw(chip->port + PDAUDIOCF_REG_ISR);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_substream)
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		snd_ak4117_check_rate_and_errors(chip->ak4117, 0);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	unsigned int xor = chip->pcm_xor;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_sample == 3) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_little) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono24le((char *)chip->pcm_area + (off * 3), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo24le((char *)chip->pcm_area + (off * 6), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono24be((char *)chip->pcm_area + (off * 3), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo24be((char *)chip->pcm_area + (off * 6), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_swab == 0) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono16((u16 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono32((u32 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo16((u16 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo32((u32 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		if (chip->pcm_channels == 1) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono16sw((u16 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_mono32sw((u32 *)chip->pcm_area + off, xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:			if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo16sw((u16 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:				pdacf_transfer_stereo32sw((u32 *)chip->pcm_area + (off * 2), xor, size, rdp_port);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|PDAUDIOCF_STAT_IS_CONFIGURED)) != PDAUDIOCF_STAT_IS_CONFIGURED)
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_substream == NULL || chip->pcm_substream->runtime == NULL || !snd_pcm_running(chip->pcm_substream))
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	rdp = inw(chip->port + PDAUDIOCF_REG_RDP);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	wdp = inw(chip->port + PDAUDIOCF_REG_WDP);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	size /= chip->pcm_frame;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_hwptr += size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_hwptr %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_tdone += size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	if (chip->pcm_frame == 2) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	off = chip->pcm_hwptr + chip->pcm_tdone;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	off %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	chip->pcm_tdone += size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		cont = chip->pcm_size - off;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		off %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	while (chip->pcm_tdone >= chip->pcm_period) {
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		chip->pcm_hwptr += chip->pcm_period;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		chip->pcm_hwptr %= chip->pcm_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		chip->pcm_tdone -= chip->pcm_period;
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		snd_pcm_period_elapsed(chip->pcm_substream);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:		mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_irq.c:	mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	while (inw(chip->port + PDAUDIOCF_REG_RDP) != inw(chip->port + PDAUDIOCF_REG_WDP)) {
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		inw(chip->port + PDAUDIOCF_REG_MD);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_STALE)
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_hwptr = 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_tdone = 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		rate = snd_ak4117_check_rate_and_errors(chip->ak4117, AK4117_CHECK_NO_STAT|AK4117_CHECK_NO_RATE);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	mutex_lock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_running += inc;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->pcm_running) {
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		if ((chip->ak4117->rcs0 & AK4117_UNLCK) || runtime->rate != rate) {
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:			chip->pcm_running -= inc;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	mutex_unlock(&chip->reg_lock);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	snd_ak4117_check_rate_and_errors(chip->ak4117, AK4117_CHECK_NO_RATE);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_STALE)
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_channels = runtime->channels;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_little = snd_pcm_format_little_endian(runtime->format) > 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_swab = snd_pcm_format_big_endian(runtime->format) > 0;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_swab = chip->pcm_little;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_xor = 0x80008000;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_sample = 4;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_frame = 2;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_sample = 2;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_sample = 3;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_frame = 3;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		chip->pcm_xor &= 0xffff0000;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:		snd_ak4117_reg_write(chip->ak4117, AK4117_REG_IO, AK4117_DIF2|AK4117_DIF1|AK4117_DIF0, aval);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_size = runtime->buffer_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_period = runtime->period_size;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_area = runtime->dma_area;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	if (chip->chip_status & PDAUDIOCF_STAT_IS_STALE)
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_substream = subs;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm_substream = NULL;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	return chip->pcm_hwptr;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	err = snd_pcm_new(chip->card, "PDAudioCF", 0, 0, 1, &pcm);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	strcpy(pcm->name, chip->card->shortname);
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	chip->pcm = pcm;
+sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c:	err = snd_ak4117_build(chip->ak4117, pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream);
+sound/pcmcia/vx/vxp_mixer.c:	ucontrol->value.integer.value[0] = chip->mic_level;
+sound/pcmcia/vx/vxp_mixer.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	if (chip->mic_level != ucontrol->value.integer.value[0]) {
+sound/pcmcia/vx/vxp_mixer.c:		chip->mic_level = ucontrol->value.integer.value[0];
+sound/pcmcia/vx/vxp_mixer.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	ucontrol->value.integer.value[0] = chip->mic_level;
+sound/pcmcia/vx/vxp_mixer.c:	mutex_lock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	if (chip->mic_level != val) {
+sound/pcmcia/vx/vxp_mixer.c:		chip->mic_level = val;
+sound/pcmcia/vx/vxp_mixer.c:		mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	mutex_unlock(&_chip->mixer_mutex);
+sound/pcmcia/vx/vxp_mixer.c:	chip->mic_level = 0;
+sound/pcmcia/vx/vxp_mixer.c:	switch (_chip->type) {
+sound/pcmcia/vx/vxp_mixer.c:	switch (_chip->type) {
+sound/pcmcia/vx/vxp_mixer.c:		if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_mic_level, chip))) < 0)
+sound/pcmcia/vx/vxp_mixer.c:		if ((err = snd_ctl_add(_chip->card, snd_ctl_new1(&vx_control_mic_boost, chip))) < 0)
+sound/pcmcia/vx/vxp_ops.c:	return chip->port + vxp_reg_offset[reg];
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP | VXP_CDSP_DSP_RESET_MASK);
+sound/pcmcia/vx/vxp_ops.c:	chip->regCDSP &= ~VXP_CDSP_DSP_RESET_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP | VXP_CDSP_CODEC_RESET_MASK);
+sound/pcmcia/vx/vxp_ops.c:	chip->regCDSP &= ~VXP_CDSP_CODEC_RESET_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG &= ~VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG &= ~VXP_DLG_XILINX_REPROG_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	if (! (_chip->chip_status & VX_STAT_XILINX_LOADED))
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG | VXP_DLG_ACK_MEMIRQ_MASK);
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG & ~VXP_DLG_ACK_MEMIRQ_MASK);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP |= VXP_CDSP_VALID_IRQ_MASK;
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_VALID_IRQ_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= VXP_DLG_DMA16_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG |= do_write ? VXP_DLG_DMAWRITE_SEL_MASK : VXP_DLG_DMAREAD_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG &= ~(VXP_DLG_DMAWRITE_SEL_MASK|
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, chip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	pchip->regDIALOG &= ~VXP_DLG_DMAREAD_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, pchip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	pchip->regDIALOG &= ~VXP_DLG_DMA16_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, DIALOG, pchip->regDIALOG);
+sound/pcmcia/vx/vxp_ops.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/pcmcia/vx/vxp_ops.c:	mutex_lock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:	if (pchip->regCDSP & P24_CDSP_MICS_SEL_MASK) {
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP &= ~P24_CDSP_MIC20_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP |=  P24_CDSP_MIC38_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP |=  P24_CDSP_MIC20_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			pchip->regCDSP &= ~P24_CDSP_MIC38_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		vx_outb(chip, CDSP, pchip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	mutex_unlock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:	if (chip->chip_status & VX_STAT_IS_STALE)
+sound/pcmcia/vx/vxp_ops.c:	mutex_lock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:	if (pchip->regCDSP & VXP_CDSP_MIC_SEL_MASK) {
+sound/pcmcia/vx/vxp_ops.c:	mutex_unlock(&chip->lock);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP |= VXP_CDSP_DATAIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_DATAIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		if (_chip->type == VX_TYPE_VXP440)
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP &= ~P24_CDSP_MICS_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP &= ~VXP_CDSP_MIC_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_DATAIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		if (_chip->type == VX_TYPE_VXP440) {
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP &= ~P24_CDSP_MICS_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			if (chip->mic_level)
+sound/pcmcia/vx/vxp_ops.c:				chip->regCDSP |=  P24_CDSP_MIC38_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:				chip->regCDSP |= P24_CDSP_MIC20_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:			chip->regCDSP |= VXP_CDSP_MIC_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:			vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:			vx_outb(chip, MICRO, vx_compute_mic_level(chip->mic_level));
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP &= ~VXP_CDSP_CLOCKIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:		chip->regCDSP |= VXP_CDSP_CLOCKIN_SEL_MASK;
+sound/pcmcia/vx/vxp_ops.c:	vx_outb(chip, CDSP, chip->regCDSP);
+sound/pcmcia/vx/vxp_ops.c:	chip->regCDSP = 0;
+sound/pcmcia/vx/vxp_ops.c:	chip->regDIALOG = 0;
+sound/pcmcia/vx/vxpocket.c:	chip->ibl.size = ibl;
+sound/pcmcia/vx/vxpocket.c:	struct snd_card *card = chip->card;
+sound/pcmcia/vx/vxpocket.c:	chip->irq = irq;
+sound/pcmcia/vx/vxpocket.c:		chip->hw = &vxp440_hw;
+sound/pcmcia/vx/vxpocket.c:		chip->type = vxp440_hw.type;
+sound/pcmcia/vx/vxpocket.c:		strcpy(chip->card->driver, vxp440_hw.name);
+sound/pcmcia/vx/vxpocket.c:	chip->dev = &link->dev;
+sound/pcmcia/vx/vxpocket.c:	chip->chip_status |= VX_STAT_IS_STALE; /* to be sure */
+sound/pcmcia/vx/vxpocket.c:	snd_card_disconnect(chip->card);
+sound/pcmcia/vx/vxpocket.c:	snd_card_free_when_closed(chip->card);
+sound/ppc/awacs.c:	while (!(in_le32(&chip->awacs->codec_stat) & MASK_VALID)) {
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER)
+sound/ppc/awacs.c:	out_le32(&chip->awacs->codec_ctrl, val | (chip->subframe << 22));
+sound/ppc/awacs.c:	while (in_le32(&chip->awacs->codec_ctrl) & MASK_NEWECMD) {
+sound/ppc/awacs.c:	chip->awacs_reg[reg] = val;
+sound/ppc/awacs.c:	if (chip->model != PMAC_SCREAMER)
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	if (chip->manufacturer == 0x1)
+sound/ppc/awacs.c:				   chip->awacs_reg[1] | MASK_RECALIBRATE |
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:	chip->awacs_reg[1] &= ~MASK_SAMPLERATE;
+sound/ppc/awacs.c:	chip->awacs_reg[1] |= chip->rate_index << 3;
+sound/ppc/awacs.c:	snd_pmac_awacs_write_reg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	vol[0] = (chip->awacs_reg[reg] >> lshift) & 0xf;
+sound/ppc/awacs.c:	vol[1] = chip->awacs_reg[reg] & 0xf;
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	oldval = chip->awacs_reg[reg];
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	val = (chip->awacs_reg[reg] >> shift) & 1;
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	val = chip->awacs_reg[reg] & ~mask;
+sound/ppc/awacs.c:	changed = chip->awacs_reg[reg] != val;
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	chip->mixer_data = NULL;
+sound/ppc/awacs.c:	chip->mixer_free = NULL;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	if (chip->awacs_reg[6] & MASK_MIC_BOOST)
+sound/ppc/awacs.c:	if (chip->awacs_reg[0] & MASK_GAINLINE)
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/awacs.c:	val0 = chip->awacs_reg[0] & ~MASK_GAINLINE;
+sound/ppc/awacs.c:	val6 = chip->awacs_reg[6] & ~MASK_MIC_BOOST;
+sound/ppc/awacs.c:	if (val0 != chip->awacs_reg[0]) {
+sound/ppc/awacs.c:	if (val6 != chip->awacs_reg[6]) {
+sound/ppc/awacs.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, snd_ctl_new1(&mixers[i], chip));
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 0, chip->awacs_reg[0]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 2, chip->awacs_reg[2]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 4, chip->awacs_reg[4]);
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 5, chip->awacs_reg[5]);
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 7, chip->awacs_reg[7]);
+sound/ppc/awacs.c:	snd_pmac_awacs_write_noreg(chip, 1, (chip->awacs_reg[1]
+sound/ppc/awacs.c:			chip->awacs_reg[1] & ~MASK_PAROUT);
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:	if (chip->mixer_data) {
+sound/ppc/awacs.c:		struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:	return (in_le32(&chip->awacs->codec_stat) & chip->hp_stat_mask) ? 1 : 0;
+sound/ppc/awacs.c:	if (chip->auto_mute) {
+sound/ppc/awacs.c:		if (chip->mixer_data) {
+sound/ppc/awacs.c:			struct awacs_amp *amp = chip->mixer_data;
+sound/ppc/awacs.c:			int reg = chip->awacs_reg[1]
+sound/ppc/awacs.c:			if (do_notify && reg == chip->awacs_reg[1])
+sound/ppc/awacs.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/awacs.c:				       &chip->master_sw_ctl->id);
+sound/ppc/awacs.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/awacs.c:				       &chip->speaker_sw_ctl->id);
+sound/ppc/awacs.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/awacs.c:				       &chip->hp_detect_ctl->id);
+sound/ppc/awacs.c:	chip->awacs_reg[0] = MASK_MUX_CD | 0xff | MASK_GAINLINE;
+sound/ppc/awacs.c:	chip->awacs_reg[1] = MASK_CMUTE | MASK_AMUTE;
+sound/ppc/awacs.c:	if (chip->has_iic || chip->device_id == 0x5 ||
+sound/ppc/awacs.c:	    /* chip->_device_id == 0x8 || */
+sound/ppc/awacs.c:	    chip->device_id == 0xb)
+sound/ppc/awacs.c:		chip->awacs_reg[1] |= MASK_PAROUT;
+sound/ppc/awacs.c:	chip->awacs_reg[2] = vol;
+sound/ppc/awacs.c:	chip->awacs_reg[4] = vol;
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		chip->awacs_reg[5] = vol;
+sound/ppc/awacs.c:		chip->awacs_reg[6] = MASK_MIC_BOOST;
+sound/ppc/awacs.c:		chip->awacs_reg[7] = 0;
+sound/ppc/awacs.c:	chip->manufacturer = (in_le32(&chip->awacs->codec_stat) >> 8) & 0xf;
+sound/ppc/awacs.c:	chip->revision = (in_le32(&chip->awacs->codec_stat) >> 12) & 0xf;
+sound/ppc/awacs.c:	if (chip->revision == 3 && chip->has_iic && CHECK_CUDA_AMP()) {
+sound/ppc/awacs.c:		chip->mixer_data = amp;
+sound/ppc/awacs.c:		chip->mixer_free = awacs_amp_free;
+sound/ppc/awacs.c:	if (chip->hp_stat_mask == 0) {
+sound/ppc/awacs.c:		switch (chip->model) {
+sound/ppc/awacs.c:			chip->hp_stat_mask = pm7500 || pm5500 ? MASK_HDPCONN
+sound/ppc/awacs.c:			switch (chip->device_id) {
+sound/ppc/awacs.c:				chip->hp_stat_mask = imac
+sound/ppc/awacs.c:				chip->hp_stat_mask = MASK_LOCONN;
+sound/ppc/awacs.c:				chip->hp_stat_mask = MASK_HDPCONN;
+sound/ppc/awacs.c:	strcpy(chip->card->mixername, "PowerMac AWACS");
+sound/ppc/awacs.c:	else if (chip->model == PMAC_SCREAMER || pm5500)
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card,
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card,
+sound/ppc/awacs.c:	chip->master_sw_ctl = snd_ctl_new1((pm7500 || imac || g4agp || lombard)
+sound/ppc/awacs.c:	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/awacs.c:	if (chip->mixer_data) {
+sound/ppc/awacs.c:		chip->master_sw_ctl = snd_ctl_new1(&snd_pmac_awacs_amp_hp_sw,
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/awacs.c:		chip->speaker_sw_ctl = snd_ctl_new1(&snd_pmac_awacs_amp_spk_sw,
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card,
+sound/ppc/awacs.c:		chip->speaker_sw_ctl = snd_ctl_new1(imac1
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+sound/ppc/awacs.c:						 chip->master_sw_ctl);
+sound/ppc/awacs.c:						  chip->speaker_sw_ctl);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, vmaster_sw);
+sound/ppc/awacs.c:		err = snd_ctl_add(chip->card, vmaster_vol);
+sound/ppc/awacs.c:	else if (chip->model == PMAC_SCREAMER)
+sound/ppc/awacs.c:	chip->set_format = snd_pmac_awacs_set_format;
+sound/ppc/awacs.c:	chip->suspend = snd_pmac_awacs_suspend;
+sound/ppc/awacs.c:	chip->resume = snd_pmac_awacs_resume;
+sound/ppc/awacs.c:	chip->detect_headphone = snd_pmac_awacs_detect_headphone;
+sound/ppc/awacs.c:	chip->update_automute = snd_pmac_awacs_update_automute;
+sound/ppc/awacs.c:	if (chip->model == PMAC_SCREAMER) {
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
+sound/ppc/awacs.c:		snd_pmac_awacs_write_noreg(chip, 0, chip->awacs_reg[0]);
+sound/ppc/beep.c:	struct pmac_beep *beep = chip->beep;
+sound/ppc/beep.c:	if (! chip || (beep = chip->beep) == NULL)
+sound/ppc/beep.c:		spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/beep.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	beep_speed = snd_pmac_rate_index(chip, &chip->playback, BEEP_SRATE);
+sound/ppc/beep.c:	srate = chip->freq_table[beep_speed];
+sound/ppc/beep.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/beep.c:	if (chip->playback.running || chip->capture.running || beep->running) {
+sound/ppc/beep.c:		spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/beep.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/beep.c:	if (snd_BUG_ON(!chip->beep))
+sound/ppc/beep.c:	ucontrol->value.integer.value[0] = chip->beep->volume;
+sound/ppc/beep.c:	if (snd_BUG_ON(!chip->beep))
+sound/ppc/beep.c:	oval = chip->beep->volume;
+sound/ppc/beep.c:	chip->beep->volume = nval;
+sound/ppc/beep.c:	return oval != chip->beep->volume;
+sound/ppc/beep.c:	dmabuf = dma_alloc_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4,
+sound/ppc/beep.c:	input_dev->dev.parent = &chip->pdev->dev;
+sound/ppc/beep.c:	err = snd_ctl_add(chip->card, beep_ctl);
+sound/ppc/beep.c:	chip->beep = beep;
+sound/ppc/beep.c: fail2:	snd_ctl_remove(chip->card, beep_ctl);
+sound/ppc/beep.c:		dma_free_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4,
+sound/ppc/beep.c:	if (chip->beep) {
+sound/ppc/beep.c:		input_unregister_device(chip->beep->dev);
+sound/ppc/beep.c:		dma_free_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4,
+sound/ppc/beep.c:				  chip->beep->buf, chip->beep->addr);
+sound/ppc/beep.c:		kfree(chip->beep);
+sound/ppc/beep.c:		chip->beep = NULL;
+sound/ppc/burgundy.c:	while ((in_le32(&chip->awacs->codec_ctrl) & MASK_NEWECMD) && timeout--)
+sound/ppc/burgundy.c:	while (!(in_le32(&chip->awacs->codec_stat) & MASK_EXTEND) && timeout--)
+sound/ppc/burgundy.c:	while ((in_le32(&chip->awacs->codec_stat) & MASK_EXTEND) && timeout--)
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200c00 + (val & 0xff));
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200d00 +((val>>8) & 0xff));
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200e00 +((val>>16) & 0xff));
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x200f00 +((val>>24) & 0xff));
+sound/ppc/burgundy.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100000);
+sound/ppc/burgundy.c:	val += (in_le32(&chip->awacs->codec_stat) >> 4) & 0xff;
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100100);
+sound/ppc/burgundy.c:	val += ((in_le32(&chip->awacs->codec_stat)>>4) & 0xff) <<8;
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100200);
+sound/ppc/burgundy.c:	val += ((in_le32(&chip->awacs->codec_stat)>>4) & 0xff) <<16;
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100300);
+sound/ppc/burgundy.c:	val += ((in_le32(&chip->awacs->codec_stat)>>4) & 0xff) <<24;
+sound/ppc/burgundy.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x300000 + (val & 0xff));
+sound/ppc/burgundy.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	out_le32(&chip->awacs->codec_ctrl, addr + 0x100000);
+sound/ppc/burgundy.c:	val += (in_le32(&chip->awacs->codec_stat) >> 4) & 0xff;
+sound/ppc/burgundy.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/burgundy.c:	return (in_le32(&chip->awacs->codec_stat) & chip->hp_stat_mask) ? 1 : 0;
+sound/ppc/burgundy.c:	if (chip->auto_mute) {
+sound/ppc/burgundy.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/burgundy.c:				       &chip->master_sw_ctl->id);
+sound/ppc/burgundy.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/burgundy.c:				       &chip->speaker_sw_ctl->id);
+sound/ppc/burgundy.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/burgundy.c:				       &chip->hp_detect_ctl->id);
+sound/ppc/burgundy.c:	if ((in_le32(&chip->awacs->codec_ctrl) & MASK_ERRCODE) == 0xf0000) {
+sound/ppc/burgundy.c:	if (chip->hp_stat_mask == 0) {
+sound/ppc/burgundy.c:			chip->hp_stat_mask = BURGUNDY_HPDETECT_IMAC_UPPER
+sound/ppc/burgundy.c:			chip->hp_stat_mask = BURGUNDY_HPDETECT_PMAC_BACK;
+sound/ppc/burgundy.c:	strcpy(chip->card->mixername, "PowerMac Burgundy");
+sound/ppc/burgundy.c:		err = snd_ctl_add(chip->card,
+sound/ppc/burgundy.c:		err = snd_ctl_add(chip->card,
+sound/ppc/burgundy.c:	chip->master_sw_ctl = snd_ctl_new1(imac
+sound/ppc/burgundy.c:	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/burgundy.c:	chip->master_sw_ctl = snd_ctl_new1(imac
+sound/ppc/burgundy.c:	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/burgundy.c:		chip->master_sw_ctl = snd_ctl_new1(
+sound/ppc/burgundy.c:		err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+sound/ppc/burgundy.c:	chip->speaker_sw_ctl = snd_ctl_new1(imac
+sound/ppc/burgundy.c:	err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+sound/ppc/burgundy.c:	chip->detect_headphone = snd_pmac_burgundy_detect_headphone;
+sound/ppc/burgundy.c:	chip->update_automute = snd_pmac_burgundy_update_automute;
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	if (! (mix = chip->mixer_data))
+sound/ppc/daca.c:	struct pmac_daca *mix = chip->mixer_data;
+sound/ppc/daca.c:	struct pmac_daca *mix = chip->mixer_data;
+sound/ppc/daca.c:	chip->mixer_data = NULL;
+sound/ppc/daca.c:	chip->mixer_data = mix;
+sound/ppc/daca.c:	chip->mixer_free = daca_cleanup;
+sound/ppc/daca.c:	strcpy(chip->card->mixername, "PowerMac DACA");
+sound/ppc/daca.c:		if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&daca_mixers[i], chip))) < 0)
+sound/ppc/daca.c:	chip->resume = daca_resume;
+sound/ppc/pmac.c:	rec->space = dma_alloc_coherent(&chip->pdev->dev, rsize,
+sound/ppc/pmac.c:		dma_free_coherent(&chip->pdev->dev, rsize, rec->space, rec->dma_base);
+sound/ppc/pmac.c:	if (rate > chip->freq_table[0])
+sound/ppc/pmac.c:	for (i = 0; i < chip->num_freqs; i++, ok >>= 1) {
+sound/ppc/pmac.c:		if (rate >= chip->freq_table[i])
+sound/ppc/pmac.c:		return &chip->playback;
+sound/ppc/pmac.c:		return &chip->capture;
+sound/ppc/pmac.c:	out_le32(&chip->awacs->control, chip->control_mask | (chip->rate_index << 8));
+sound/ppc/pmac.c:	out_le32(&chip->awacs->byteswap, chip->format == SNDRV_PCM_FORMAT_S16_LE ? 1 : 0);
+sound/ppc/pmac.c:	if (chip->set_format)
+sound/ppc/pmac.c:		chip->set_format(chip);
+sound/ppc/pmac.c:	chip->rate_index = rate_index;
+sound/ppc/pmac.c:	chip->format = runtime->format;
+sound/ppc/pmac.c:	spin_lock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->command = cpu_to_le16(DBDMA_STOP);
+sound/ppc/pmac.c:	snd_pmac_dma_set_command(rec, &chip->extra_dma);
+sound/ppc/pmac.c:	spin_unlock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:	spin_lock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:	spin_unlock_irq(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:		spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:	return snd_pmac_pcm_prepare(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_trigger(chip, &chip->playback, subs, cmd);
+sound/ppc/pmac.c:	return snd_pmac_pcm_pointer(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_prepare(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_trigger(chip, &chip->capture, subs, cmd);
+sound/ppc/pmac.c:	return snd_pmac_pcm_pointer(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:			spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:			spin_lock(&chip->reg_lock);
+sound/ppc/pmac.c:	spin_unlock(&chip->reg_lock);
+sound/ppc/pmac.c:	for (i = chip->num_freqs - 1; i >= 0; i--) {
+sound/ppc/pmac.c:			freq_table[num_freqs++] = chip->freq_table[i];
+sound/ppc/pmac.c:	for (i = 0; i < chip->num_freqs; i++)
+sound/ppc/pmac.c:		if (chip->freqs_ok & (1 << i))
+sound/ppc/pmac.c:				snd_pcm_rate_to_rate_bit(chip->freq_table[i]);
+sound/ppc/pmac.c:	for (i = 0; i < chip->num_freqs; i++) {
+sound/ppc/pmac.c:		if (chip->freqs_ok & (1 << i)) {
+sound/ppc/pmac.c:			runtime->hw.rate_max = chip->freq_table[i];
+sound/ppc/pmac.c:	for (i = chip->num_freqs - 1; i >= 0; i--) {
+sound/ppc/pmac.c:		if (chip->freqs_ok & (1 << i)) {
+sound/ppc/pmac.c:			runtime->hw.rate_min = chip->freq_table[i];
+sound/ppc/pmac.c:	runtime->hw.formats = chip->formats_ok;
+sound/ppc/pmac.c:	if (chip->can_capture) {
+sound/ppc/pmac.c:		if (! chip->can_duplex)
+sound/ppc/pmac.c:	astr->cur_freqs = chip->freqs_ok;
+sound/ppc/pmac.c:	astr->cur_formats = chip->formats_ok;
+sound/ppc/pmac.c:	return snd_pmac_pcm_open(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_open(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_close(chip, &chip->playback, subs);
+sound/ppc/pmac.c:	return snd_pmac_pcm_close(chip, &chip->capture, subs);
+sound/ppc/pmac.c:	if (! chip->can_capture)
+sound/ppc/pmac.c:	err = snd_pcm_new(chip->card, chip->card->driver, 0, 1, num_captures, &pcm);
+sound/ppc/pmac.c:	if (chip->can_capture)
+sound/ppc/pmac.c:	strcpy(pcm->name, chip->card->shortname);
+sound/ppc/pmac.c:	chip->pcm = pcm;
+sound/ppc/pmac.c:	chip->formats_ok = SNDRV_PCM_FMTBIT_S16_BE;
+sound/ppc/pmac.c:	if (chip->can_byte_swap)
+sound/ppc/pmac.c:		chip->formats_ok |= SNDRV_PCM_FMTBIT_S16_LE;
+sound/ppc/pmac.c:	chip->playback.cur_formats = chip->formats_ok;
+sound/ppc/pmac.c:	chip->capture.cur_formats = chip->formats_ok;
+sound/ppc/pmac.c:	chip->playback.cur_freqs = chip->freqs_ok;
+sound/ppc/pmac.c:	chip->capture.cur_freqs = chip->freqs_ok;
+sound/ppc/pmac.c:					      &chip->pdev->dev,
+sound/ppc/pmac.c:	out_le32(&chip->playback.dma->control, (RUN|PAUSE|FLUSH|WAKE|DEAD) << 16);
+sound/ppc/pmac.c:	snd_pmac_wait_ack(&chip->playback);
+sound/ppc/pmac.c:	out_le32(&chip->capture.dma->control, (RUN|PAUSE|FLUSH|WAKE|DEAD) << 16);
+sound/ppc/pmac.c:	snd_pmac_wait_ack(&chip->capture);
+sound/ppc/pmac.c:	struct pmac_stream *rec = &chip->playback;
+sound/ppc/pmac.c:	chip->extra_dma.cmds->req_count = cpu_to_le16(bytes);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->xfer_status = cpu_to_le16(0);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->cmd_dep = cpu_to_le32(chip->extra_dma.addr);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->phy_addr = cpu_to_le32(addr);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->command = cpu_to_le16(OUTPUT_MORE + BR_ALWAYS);
+sound/ppc/pmac.c:	out_le32(&chip->awacs->control,
+sound/ppc/pmac.c:		 (in_le32(&chip->awacs->control) & ~0x1f00)
+sound/ppc/pmac.c:	out_le32(&chip->awacs->byteswap, 0);
+sound/ppc/pmac.c:	snd_pmac_dma_set_command(rec, &chip->extra_dma);
+sound/ppc/pmac.c:	snd_pmac_dma_stop(&chip->playback);
+sound/ppc/pmac.c:	chip->extra_dma.cmds->command = cpu_to_le16(DBDMA_STOP);
+sound/ppc/pmac.c:	snd_pmac_pcm_update(chip, &chip->playback);
+sound/ppc/pmac.c:	snd_pmac_pcm_update(chip, &chip->capture);
+sound/ppc/pmac.c:	int ctrl = in_le32(&chip->awacs->control);
+sound/ppc/pmac.c:		if (chip->update_automute)
+sound/ppc/pmac.c:			chip->update_automute(chip, 1);
+sound/ppc/pmac.c:		int err = (in_le32(&chip->awacs->codec_stat) & MASK_ERRCODE) >> 16;
+sound/ppc/pmac.c:		if (err && chip->model <= PMAC_SCREAMER)
+sound/ppc/pmac.c:	out_le32(&chip->awacs->control, ctrl);
+sound/ppc/pmac.c:		ppc_md.feature_call(PMAC_FTR_SOUND_CHIP_ENABLE, chip->node, 0, enable);
+sound/ppc/pmac.c:	if (chip->initialized) {
+sound/ppc/pmac.c:		out_le32(&chip->awacs->control, in_le32(&chip->awacs->control) & 0xfff);
+sound/ppc/pmac.c:	if (chip->node)
+sound/ppc/pmac.c:	if (chip->mixer_free)
+sound/ppc/pmac.c:		chip->mixer_free(chip);
+sound/ppc/pmac.c:	if (chip->irq >= 0)
+sound/ppc/pmac.c:		free_irq(chip->irq, (void*)chip);
+sound/ppc/pmac.c:	if (chip->tx_irq >= 0)
+sound/ppc/pmac.c:		free_irq(chip->tx_irq, (void*)chip);
+sound/ppc/pmac.c:	if (chip->rx_irq >= 0)
+sound/ppc/pmac.c:		free_irq(chip->rx_irq, (void*)chip);
+sound/ppc/pmac.c:	snd_pmac_dbdma_free(chip, &chip->playback.cmd);
+sound/ppc/pmac.c:	snd_pmac_dbdma_free(chip, &chip->capture.cmd);
+sound/ppc/pmac.c:	snd_pmac_dbdma_free(chip, &chip->extra_dma);
+sound/ppc/pmac.c:	iounmap(chip->macio_base);
+sound/ppc/pmac.c:	iounmap(chip->latch_base);
+sound/ppc/pmac.c:	iounmap(chip->awacs);
+sound/ppc/pmac.c:	iounmap(chip->playback.dma);
+sound/ppc/pmac.c:	iounmap(chip->capture.dma);
+sound/ppc/pmac.c:	if (chip->node) {
+sound/ppc/pmac.c:			if (chip->requested & (1 << i))
+sound/ppc/pmac.c:				release_mem_region(chip->rsrc[i].start,
+sound/ppc/pmac.c:						   resource_size(&chip->rsrc[i]));
+sound/ppc/pmac.c:	pci_dev_put(chip->pdev);
+sound/ppc/pmac.c:	of_node_put(chip->node);
+sound/ppc/pmac.c:	for (mio = chip->node->parent; mio; mio = mio->parent) {
+sound/ppc/pmac.c:				chip->can_byte_swap = 0;
+sound/ppc/pmac.c:		chip->can_byte_swap = 0 ;
+sound/ppc/pmac.c:		chip->can_duplex = 0;
+sound/ppc/pmac.c:	chip->subframe = 0;
+sound/ppc/pmac.c:	chip->revision = 0;
+sound/ppc/pmac.c:	chip->freqs_ok = 0xff; /* all ok */
+sound/ppc/pmac.c:	chip->model = PMAC_AWACS;
+sound/ppc/pmac.c:	chip->can_byte_swap = 1;
+sound/ppc/pmac.c:	chip->can_duplex = 1;
+sound/ppc/pmac.c:	chip->can_capture = 1;
+sound/ppc/pmac.c:	chip->num_freqs = ARRAY_SIZE(awacs_freqs);
+sound/ppc/pmac.c:	chip->freq_table = awacs_freqs;
+sound/ppc/pmac.c:	chip->pdev = NULL;
+sound/ppc/pmac.c:	chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */
+sound/ppc/pmac.c:		chip->is_pbook_3400 = 1;
+sound/ppc/pmac.c:		chip->is_pbook_G3 = 1;
+sound/ppc/pmac.c:	chip->node = of_find_node_by_name(NULL, "awacs");
+sound/ppc/pmac.c:	sound = of_node_get(chip->node);
+sound/ppc/pmac.c:	if (!chip->node)
+sound/ppc/pmac.c:		chip->node = of_find_node_by_name(NULL, "davbus");
+sound/ppc/pmac.c:	if (! chip->node) {
+sound/ppc/pmac.c:		chip->node = of_find_node_by_name(NULL, "i2s-a");
+sound/ppc/pmac.c:		if (chip->node && chip->node->parent &&
+sound/ppc/pmac.c:		    chip->node->parent->parent) {
+sound/ppc/pmac.c:			if (of_device_is_compatible(chip->node->parent->parent,
+sound/ppc/pmac.c:				chip->is_k2 = 1;
+sound/ppc/pmac.c:	if (! chip->node)
+sound/ppc/pmac.c:			if (sound->parent == chip->node)
+sound/ppc/pmac.c:		of_node_put(chip->node);
+sound/ppc/pmac.c:		chip->node = NULL;
+sound/ppc/pmac.c:		chip->subframe = *prop;
+sound/ppc/pmac.c:		of_node_put(chip->node);
+sound/ppc/pmac.c:		chip->node = NULL;
+sound/ppc/pmac.c:		chip->model = PMAC_SCREAMER;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->model = PMAC_BURGUNDY;
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->model = PMAC_DACA;
+sound/ppc/pmac.c:		chip->can_capture = 0;  /* no capture */
+sound/ppc/pmac.c:		chip->can_duplex = 0;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->model = PMAC_TUMBLER;
+sound/ppc/pmac.c:		chip->can_capture = of_machine_is_compatible("PowerMac4,2")
+sound/ppc/pmac.c:		chip->can_duplex = 0;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
+sound/ppc/pmac.c:		chip->freq_table = tumbler_freqs;
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->model = PMAC_SNAPPER;
+sound/ppc/pmac.c:		// chip->can_byte_swap = 0; /* FIXME: check this */
+sound/ppc/pmac.c:		chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
+sound/ppc/pmac.c:		chip->freq_table = tumbler_freqs;
+sound/ppc/pmac.c:		chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
+sound/ppc/pmac.c:		chip->device_id = *prop;
+sound/ppc/pmac.c:	chip->has_iic = (dn != NULL);
+sound/ppc/pmac.c:	macio = macio_find(chip->node, macio_unknown);
+sound/ppc/pmac.c:				chip->pdev = pdev;
+sound/ppc/pmac.c:	if (chip->pdev == NULL)
+sound/ppc/pmac.c:		chip->freqs_ok = 0;
+sound/ppc/pmac.c:			for (i = 0; i < chip->num_freqs; ++i) {
+sound/ppc/pmac.c:				if (r == chip->freq_table[i]) {
+sound/ppc/pmac.c:					chip->freqs_ok |= (1 << i);
+sound/ppc/pmac.c:		chip->freqs_ok = 1;
+sound/ppc/pmac.c:	ucontrol->value.integer.value[0] = chip->auto_mute;
+sound/ppc/pmac.c:	if (ucontrol->value.integer.value[0] != chip->auto_mute) {
+sound/ppc/pmac.c:		chip->auto_mute = !!ucontrol->value.integer.value[0];
+sound/ppc/pmac.c:		if (chip->update_automute)
+sound/ppc/pmac.c:			chip->update_automute(chip, 1);
+sound/ppc/pmac.c:	if (chip->detect_headphone)
+sound/ppc/pmac.c:		ucontrol->value.integer.value[0] = chip->detect_headphone(chip);
+sound/ppc/pmac.c:	chip->auto_mute = 1;
+sound/ppc/pmac.c:	err = snd_ctl_add(chip->card, snd_ctl_new1(&auto_mute_controls[0], chip));
+sound/ppc/pmac.c:	chip->hp_detect_ctl = snd_ctl_new1(&auto_mute_controls[1], chip);
+sound/ppc/pmac.c:	return snd_ctl_add(chip->card, chip->hp_detect_ctl);
+sound/ppc/pmac.c:	chip->card = card;
+sound/ppc/pmac.c:	spin_lock_init(&chip->reg_lock);
+sound/ppc/pmac.c:	chip->irq = chip->tx_irq = chip->rx_irq = -1;
+sound/ppc/pmac.c:	chip->playback.stream = SNDRV_PCM_STREAM_PLAYBACK;
+sound/ppc/pmac.c:	chip->capture.stream = SNDRV_PCM_STREAM_CAPTURE;
+sound/ppc/pmac.c:	if (snd_pmac_dbdma_alloc(chip, &chip->playback.cmd, PMAC_MAX_FRAGS + 1) < 0 ||
+sound/ppc/pmac.c:	    snd_pmac_dbdma_alloc(chip, &chip->capture.cmd, PMAC_MAX_FRAGS + 1) < 0 ||
+sound/ppc/pmac.c:	    snd_pmac_dbdma_alloc(chip, &chip->extra_dma, 2) < 0 ||
+sound/ppc/pmac.c:	np = chip->node;
+sound/ppc/pmac.c:	chip->requested = 0;
+sound/ppc/pmac.c:	if (chip->is_k2) {
+sound/ppc/pmac.c:						   &chip->rsrc[i])) {
+sound/ppc/pmac.c:			if (request_mem_region(chip->rsrc[i].start,
+sound/ppc/pmac.c:					       resource_size(&chip->rsrc[i]),
+sound/ppc/pmac.c:				       i, rnames[i], &chip->rsrc[i]);
+sound/ppc/pmac.c:			chip->requested |= (1 << i);
+sound/ppc/pmac.c:		ctrl_addr = chip->rsrc[0].start;
+sound/ppc/pmac.c:		txdma_addr = chip->rsrc[1].start;
+sound/ppc/pmac.c:						   &chip->rsrc[i])) {
+sound/ppc/pmac.c:			if (request_mem_region(chip->rsrc[i].start,
+sound/ppc/pmac.c:					       resource_size(&chip->rsrc[i]),
+sound/ppc/pmac.c:				       i, rnames[i], &chip->rsrc[i]);
+sound/ppc/pmac.c:			chip->requested |= (1 << i);
+sound/ppc/pmac.c:		ctrl_addr = chip->rsrc[0].start;
+sound/ppc/pmac.c:		txdma_addr = chip->rsrc[1].start;
+sound/ppc/pmac.c:		rxdma_addr = chip->rsrc[2].start;
+sound/ppc/pmac.c:	chip->awacs = ioremap(ctrl_addr, 0x1000);
+sound/ppc/pmac.c:	chip->playback.dma = ioremap(txdma_addr, 0x100);
+sound/ppc/pmac.c:	chip->capture.dma = ioremap(rxdma_addr, 0x100);
+sound/ppc/pmac.c:	if (chip->model <= PMAC_BURGUNDY) {
+sound/ppc/pmac.c:		chip->irq = irq;
+sound/ppc/pmac.c:	chip->tx_irq = irq;
+sound/ppc/pmac.c:	chip->rx_irq = irq;
+sound/ppc/pmac.c:	if (chip->model <= PMAC_BURGUNDY)
+sound/ppc/pmac.c:		out_le32(&chip->awacs->control, chip->control_mask);
+sound/ppc/pmac.c:	if (chip->is_pbook_3400) {
+sound/ppc/pmac.c:		chip->latch_base = ioremap (0xf301a000, 0x1000);
+sound/ppc/pmac.c:		in_8(chip->latch_base + 0x190);
+sound/ppc/pmac.c:	} else if (chip->is_pbook_G3) {
+sound/ppc/pmac.c:		for (mio = chip->node->parent; mio; mio = mio->parent) {
+sound/ppc/pmac.c:					chip->macio_base =
+sound/ppc/pmac.c:		if (chip->macio_base)
+sound/ppc/pmac.c:			out_8(chip->macio_base + 0x37, 3);
+sound/ppc/pmac.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/ppc/pmac.c:	if (chip->suspend)
+sound/ppc/pmac.c:		chip->suspend(chip);
+sound/ppc/pmac.c:	spin_lock_irqsave(&chip->reg_lock, flags);
+sound/ppc/pmac.c:	spin_unlock_irqrestore(&chip->reg_lock, flags);
+sound/ppc/pmac.c:	if (chip->irq >= 0)
+sound/ppc/pmac.c:		disable_irq(chip->irq);
+sound/ppc/pmac.c:	if (chip->tx_irq >= 0)
+sound/ppc/pmac.c:		disable_irq(chip->tx_irq);
+sound/ppc/pmac.c:	if (chip->rx_irq >= 0)
+sound/ppc/pmac.c:		disable_irq(chip->rx_irq);
+sound/ppc/pmac.c:	if (chip->resume)
+sound/ppc/pmac.c:		chip->resume(chip);
+sound/ppc/pmac.c:	if (chip->macio_base && chip->is_pbook_G3)
+sound/ppc/pmac.c:		out_8(chip->macio_base + 0x37, 3);
+sound/ppc/pmac.c:	else if (chip->is_pbook_3400)
+sound/ppc/pmac.c:		in_8(chip->latch_base + 0x190);
+sound/ppc/pmac.c:	if (chip->irq >= 0)
+sound/ppc/pmac.c:		enable_irq(chip->irq);
+sound/ppc/pmac.c:	if (chip->tx_irq >= 0)
+sound/ppc/pmac.c:		enable_irq(chip->tx_irq);
+sound/ppc/pmac.c:	if (chip->rx_irq >= 0)
+sound/ppc/pmac.c:		enable_irq(chip->rx_irq);
+sound/ppc/pmac.c:	snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/ppc/powermac.c:	switch (chip->model) {
+sound/ppc/powermac.c:			card->shortname, chip->device_id, chip->subframe);
+sound/ppc/powermac.c:			card->shortname, chip->device_id, chip->subframe);
+sound/ppc/powermac.c:		name_ext = chip->model == PMAC_TUMBLER ? "Tumbler" : "Snapper";
+sound/ppc/powermac.c:			card->shortname, chip->device_id, chip->subframe);
+sound/ppc/powermac.c:		name_ext = chip->model == PMAC_SCREAMER ? "Screamer" : "AWACS";
+sound/ppc/powermac.c:		if (chip->is_pbook_3400)
+sound/ppc/powermac.c:		else if (chip->is_pbook_G3)
+sound/ppc/powermac.c:			card->shortname, name_ext, chip->revision);
+sound/ppc/powermac.c:		snd_printk(KERN_ERR "unsupported hardware %d\n", chip->model);
+sound/ppc/powermac.c:	chip->initialized = 1;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:		chip->model == PMAC_TUMBLER ? TAS3001_DRC_MAX : TAS3004_DRC_MAX;
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:		if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:		if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	if (chip->update_automute && chip->auto_mute)
+sound/ppc/tumbler.c:	if (! (mix = chip->mixer_data))
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:			snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/tumbler.c:	mix = chip->mixer_data;
+sound/ppc/tumbler.c:				   chip->master_sw_ctl);
+sound/ppc/tumbler.c:				   chip->lineout_sw_ctl);
+sound/ppc/tumbler.c:			   chip->speaker_sw_ctl);
+sound/ppc/tumbler.c:			   chip->speaker_sw_ctl);
+sound/ppc/tumbler.c:			   chip->master_sw_ctl);
+sound/ppc/tumbler.c:				   chip->lineout_sw_ctl);
+sound/ppc/tumbler.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/tumbler.c:				       &chip->hp_detect_ctl->id);
+sound/ppc/tumbler.c:		snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/ppc/tumbler.c:			       &chip->drc_sw_ctl->id);
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (chip->auto_mute) {
+sound/ppc/tumbler.c:		mix = chip->mixer_data;
+sound/ppc/tumbler.c:	if (chip->update_automute && chip->initialized) {
+sound/ppc/tumbler.c:		chip->update_automute(chip, 1);
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	if (chip->model == PMAC_SNAPPER) {
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:	if (chip->update_automute)
+sound/ppc/tumbler.c:		chip->update_automute(chip, 0);
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	struct pmac_tumbler *mix = chip->mixer_data;
+sound/ppc/tumbler.c:	chip->mixer_data = NULL;
+sound/ppc/tumbler.c:	chip->mixer_data = mix;
+sound/ppc/tumbler.c:	chip->mixer_free = tumbler_cleanup;
+sound/ppc/tumbler.c:	for_each_child_of_node(chip->node, np) {
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:	sprintf(chip->card->mixername, "PowerMac %s", chipname);
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER) {
+sound/ppc/tumbler.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&tumbler_mixers[i], chip))) < 0)
+sound/ppc/tumbler.c:			if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snapper_mixers[i], chip))) < 0)
+sound/ppc/tumbler.c:	chip->master_sw_ctl = snd_ctl_new1(&tumbler_hp_sw, chip);
+sound/ppc/tumbler.c:	if ((err = snd_ctl_add(chip->card, chip->master_sw_ctl)) < 0)
+sound/ppc/tumbler.c:	chip->speaker_sw_ctl = snd_ctl_new1(&tumbler_speaker_sw, chip);
+sound/ppc/tumbler.c:	if ((err = snd_ctl_add(chip->card, chip->speaker_sw_ctl)) < 0)
+sound/ppc/tumbler.c:		chip->lineout_sw_ctl = snd_ctl_new1(&tumbler_lineout_sw, chip);
+sound/ppc/tumbler.c:		if ((err = snd_ctl_add(chip->card, chip->lineout_sw_ctl)) < 0)
+sound/ppc/tumbler.c:	chip->drc_sw_ctl = snd_ctl_new1(&tumbler_drc_sw, chip);
+sound/ppc/tumbler.c:	if ((err = snd_ctl_add(chip->card, chip->drc_sw_ctl)) < 0)
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	if (chip->model == PMAC_TUMBLER)
+sound/ppc/tumbler.c:	chip->suspend = tumbler_suspend;
+sound/ppc/tumbler.c:	chip->resume = tumbler_resume;
+sound/ppc/tumbler.c:	chip->detect_headphone = tumbler_detect_headphone;
+sound/ppc/tumbler.c:	chip->update_automute = tumbler_update_automute;
+sound/sh/sh_dac_audio.c:	hrtimer_start(&chip->hrtimer, chip->wakeups_per_second,
+sound/sh/sh_dac_audio.c:	hrtimer_cancel(&chip->hrtimer);
+sound/sh/sh_dac_audio.c:	chip->buffer_begin = chip->buffer_end = chip->data_buffer;
+sound/sh/sh_dac_audio.c:	chip->processed = 0;
+sound/sh/sh_dac_audio.c:	chip->empty = 1;
+sound/sh/sh_dac_audio.c:	chip->wakeups_per_second = 1000000000 / chip->rate;
+sound/sh/sh_dac_audio.c:	chip->substream = substream;
+sound/sh/sh_dac_audio.c:	chip->buffer_begin = chip->buffer_end = chip->data_buffer;
+sound/sh/sh_dac_audio.c:	chip->processed = 0;
+sound/sh/sh_dac_audio.c:	chip->empty = 1;
+sound/sh/sh_dac_audio.c:	chip->pdata->start(chip->pdata);
+sound/sh/sh_dac_audio.c:	chip->substream = NULL;
+sound/sh/sh_dac_audio.c:	chip->pdata->stop(chip->pdata);
+sound/sh/sh_dac_audio.c:	struct snd_pcm_runtime *runtime = chip->substream->runtime;
+sound/sh/sh_dac_audio.c:	chip->buffer_size = runtime->buffer_size;
+sound/sh/sh_dac_audio.c:	memset(chip->data_buffer, 0, chip->pdata->buffer_size);
+sound/sh/sh_dac_audio.c:		chip->buffer_begin = chip->buffer_end = chip->data_buffer;
+sound/sh/sh_dac_audio.c:		chip->processed = 0;
+sound/sh/sh_dac_audio.c:		chip->empty = 1;
+sound/sh/sh_dac_audio.c:	if (copy_from_user_toio(chip->data_buffer + pos, src, count))
+sound/sh/sh_dac_audio.c:	chip->buffer_end = chip->data_buffer + pos + count;
+sound/sh/sh_dac_audio.c:	if (chip->empty) {
+sound/sh/sh_dac_audio.c:		chip->empty = 0;
+sound/sh/sh_dac_audio.c:	memcpy_toio(chip->data_buffer + pos, src, count);
+sound/sh/sh_dac_audio.c:	chip->buffer_end = chip->data_buffer + pos + count;
+sound/sh/sh_dac_audio.c:	if (chip->empty) {
+sound/sh/sh_dac_audio.c:		chip->empty = 0;
+sound/sh/sh_dac_audio.c:	memset_io(chip->data_buffer + pos, 0, count);
+sound/sh/sh_dac_audio.c:	chip->buffer_end = chip->data_buffer + pos + count;
+sound/sh/sh_dac_audio.c:	if (chip->empty) {
+sound/sh/sh_dac_audio.c:		chip->empty = 0;
+sound/sh/sh_dac_audio.c:	int pointer = chip->buffer_begin - chip->data_buffer;
+sound/sh/sh_dac_audio.c:	err = snd_pcm_new(chip->card, "SH_DAC PCM", device, 1, 0, &pcm);
+sound/sh/sh_dac_audio.c:	kfree(chip->data_buffer);
+sound/sh/sh_dac_audio.c:	struct snd_pcm_runtime *runtime = chip->substream->runtime;
+sound/sh/sh_dac_audio.c:	if (!chip->empty) {
+sound/sh/sh_dac_audio.c:		sh_dac_output(*chip->buffer_begin, chip->pdata->channel);
+sound/sh/sh_dac_audio.c:		chip->buffer_begin++;
+sound/sh/sh_dac_audio.c:		chip->processed++;
+sound/sh/sh_dac_audio.c:		if (chip->processed >= b_ps) {
+sound/sh/sh_dac_audio.c:			chip->processed -= b_ps;
+sound/sh/sh_dac_audio.c:			snd_pcm_period_elapsed(chip->substream);
+sound/sh/sh_dac_audio.c:		if (chip->buffer_begin == (chip->data_buffer +
+sound/sh/sh_dac_audio.c:					   chip->buffer_size - 1))
+sound/sh/sh_dac_audio.c:			chip->buffer_begin = chip->data_buffer;
+sound/sh/sh_dac_audio.c:		if (chip->buffer_begin == chip->buffer_end)
+sound/sh/sh_dac_audio.c:			chip->empty = 1;
+sound/sh/sh_dac_audio.c:	if (!chip->empty)
+sound/sh/sh_dac_audio.c:		hrtimer_start(&chip->hrtimer, chip->wakeups_per_second,
+sound/sh/sh_dac_audio.c:/* create  --  chip-specific constructor for the cards components */
+sound/sh/sh_dac_audio.c:	chip->card = card;
+sound/sh/sh_dac_audio.c:	hrtimer_init(&chip->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+sound/sh/sh_dac_audio.c:	chip->hrtimer.function = sh_dac_audio_timer;
+sound/sh/sh_dac_audio.c:	chip->rate = 8000;
+sound/sh/sh_dac_audio.c:	chip->pdata = devptr->dev.platform_data;
+sound/sh/sh_dac_audio.c:	chip->data_buffer = kmalloc(chip->pdata->buffer_size, GFP_KERNEL);
+sound/sh/sh_dac_audio.c:	if (chip->data_buffer == NULL) {
+sound/soc/codecs/88pm860x-codec.c:	pm860x->i2c = (chip->id == CHIP_PM8607) ? chip->client
+sound/soc/codecs/88pm860x-codec.c:			: chip->companion;
+sound/soc/codecs/88pm860x-codec.c:	pm860x->regmap = (chip->id == CHIP_PM8607) ? chip->regmap
+sound/soc/codecs/88pm860x-codec.c:			: chip->regmap_companion;
+sound/soc/codecs/88pm860x-codec.c:		pm860x->irq[i] = res->start + chip->irq_base;
+sound/soc/codecs/es7134.c:	for (i = 0; i < priv->chip->mode_num; i++) {
+sound/soc/codecs/es7134.c:		const struct es7134_clock_mode *mode = &priv->chip->modes[i];
+sound/soc/codecs/es7134.c:	if (chip->extra_widget_num) {
+sound/soc/codecs/es7134.c:		ret = snd_soc_dapm_new_controls(dapm, chip->extra_widgets,
+sound/soc/codecs/es7134.c:						chip->extra_widget_num);
+sound/soc/codecs/es7134.c:	if (chip->extra_route_num) {
+sound/soc/codecs/es7134.c:		ret = snd_soc_dapm_add_routes(dapm, chip->extra_routes,
+sound/soc/codecs/es7134.c:					      chip->extra_route_num);
+sound/soc/codecs/es7134.c:				      priv->chip->dai_drv, 1);
+sound/soc/codecs/es7241.c:	for (i = 0; i < priv->chip->mode_num; i++) {
+sound/soc/codecs/es7241.c:		const struct es7241_clock_mode *mode = &priv->chip->modes[i];
+sound/soc/codecs/tas571x.c:		return priv->chip->vol_reg_size;
+sound/soc/codecs/tas571x.c:	if (WARN_ON(priv->chip->num_supply_names > TAS571X_MAX_SUPPLIES))
+sound/soc/codecs/tas571x.c:	for (i = 0; i < priv->chip->num_supply_names; i++)
+sound/soc/codecs/tas571x.c:		priv->supplies[i].supply = priv->chip->supply_names[i];
+sound/soc/codecs/tas571x.c:	ret = devm_regulator_bulk_get(dev, priv->chip->num_supply_names,
+sound/soc/codecs/tas571x.c:	ret = regulator_bulk_enable(priv->chip->num_supply_names,
+sound/soc/codecs/tas571x.c:					priv->chip->regmap_config);
+sound/soc/codecs/tas571x.c:	priv->component_driver.controls = priv->chip->controls;
+sound/soc/codecs/tas571x.c:	priv->component_driver.num_controls = priv->chip->num_controls;
+sound/soc/codecs/tas571x.c:	if (priv->chip->vol_reg_size == 2) {
+sound/soc/codecs/tas571x.c:	regulator_bulk_disable(priv->chip->num_supply_names, priv->supplies);
+sound/soc/intel/common/sst-firmware.c:	chip->irq = irq;
+sound/soc/intel/common/sst-firmware.c:	chip->regs = devm_ioremap_resource(dev, mem);
+sound/soc/intel/common/sst-firmware.c:	if (IS_ERR(chip->regs))
+sound/soc/intel/common/sst-firmware.c:		return ERR_CAST(chip->regs);
+sound/soc/intel/common/sst-firmware.c:	chip->dev = dev;
+sound/soc/rockchip/Makefile:snd-soc-rockchip-i2s-objs := rockchip_i2s.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-pcm-objs := rockchip_pcm.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-pdm-objs := rockchip_pdm.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-spdif-objs := rockchip_spdif.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_I2S) += snd-soc-rockchip-i2s.o snd-soc-rockchip-pcm.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_PDM) += snd-soc-rockchip-pdm.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_SPDIF) += snd-soc-rockchip-spdif.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-max98090-objs := rockchip_max98090.o
+sound/soc/rockchip/Makefile:snd-soc-rockchip-rt5645-objs := rockchip_rt5645.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_MAX98090) += snd-soc-rockchip-max98090.o
+sound/soc/rockchip/Makefile:obj-$(CONFIG_SND_SOC_ROCKCHIP_RT5645) += snd-soc-rockchip-rt5645.o
+sound/soc/rockchip/rockchip_i2s.c:#define DRV_NAME "rockchip-i2s"
+sound/soc/rockchip/rockchip_max98090.c:#define DRV_NAME "rockchip-snd-max98090"
+sound/soc/rockchip/rockchip_max98090.c:	{ .compatible = "rockchip,rockchip-audio-max98090", },
+sound/soc/rockchip/rockchip_pdm.c:	.name = "rockchip-pdm",
+sound/soc/rockchip/rockchip_pdm.c:		.name = "rockchip-pdm",
+sound/soc/rockchip/rockchip_rt5645.c:#define DRV_NAME "rockchip-snd-rt5645"
+sound/soc/rockchip/rockchip_rt5645.c:	{ .compatible = "rockchip,rockchip-audio-rt5645", },
+sound/soc/rockchip/rockchip_spdif.c:	.name = "rockchip-spdif",
+sound/soc/rockchip/rockchip_spdif.c:		.name = "rockchip-spdif",
+sound/soc/rockchip/rockchip_spdif.c:MODULE_ALIAS("platform:rockchip-spdif");
+sound/soc/sof/intel/hda-dsp.c:	snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, chip->ipc_ctl,
+sound/soc/sof/intel/hda-dsp.c:	snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, chip->ipc_ctl,
+sound/soc/sof/intel/hda-dsp.c:	ret = hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
+sound/soc/sof/intel/hda-loader.c:	ret = hda_dsp_core_power_up(sdev, chip->cores_mask);
+sound/soc/sof/intel/hda-loader.c:	for (i = 0; i < chip->ssp_count; i++) {
+sound/soc/sof/intel/hda-loader.c:						 chip->ssp_base_offset
+sound/soc/sof/intel/hda-loader.c:	snd_sof_dsp_write(sdev, HDA_DSP_BAR, chip->ipc_req,
+sound/soc/sof/intel/hda-loader.c:			  chip->ipc_req_mask | (HDA_DSP_IPC_PURGE_FW |
+sound/soc/sof/intel/hda-loader.c:					    chip->ipc_ack, status,
+sound/soc/sof/intel/hda-loader.c:					    ((status & chip->ipc_ack_mask)
+sound/soc/sof/intel/hda-loader.c:						    == chip->ipc_ack_mask),
+sound/soc/sof/intel/hda-loader.c:				  chip->cores_mask & ~(HDA_DSP_CORE_MASK(0)));
+sound/soc/sof/intel/hda-loader.c:					chip->rom_init_timeout *
+sound/soc/sof/intel/hda-loader.c:	hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
+sound/soc/sof/intel/hda.c:		hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
+sound/soc/uniphier/aio-compress.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-compress.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = chip->regmap_sg;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = chip->regmap;
+sound/soc/uniphier/aio-core.c:	chip->plls[pll_id].freq = freq;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = chip->regmap;
+sound/soc/uniphier/aio-core.c:	if (chip->chip_spec->addr_ext)
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct device *dev = &sub->aio->chip->pdev->dev;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:			switch (chip->plls[sub->aio->pll_out].freq) {
+sound/soc/uniphier/aio-core.c:			switch (chip->plls[sub->aio->pll_out].freq) {
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-core.c:	struct regmap *r = sub->aio->chip->regmap;
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:	if (pll_id < 0 || chip->num_plls <= pll_id) {
+sound/soc/uniphier/aio-cpu.c:	return chip->plls[pll_id].enable;
+sound/soc/uniphier/aio-cpu.c:	for (i = 0; i < chip->num_aios; i++) {
+sound/soc/uniphier/aio-cpu.c:		struct uniphier_aio_sub *sub = &chip->aios[i].sub[0];
+sound/soc/uniphier/aio-cpu.c:	const struct uniphier_aio_chip_spec *chip_spec = aio->chip->chip_spec;
+sound/soc/uniphier/aio-cpu.c:	pll = &aio->chip->plls[pll_id];
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:		for (pll_id = 0; pll_id < aio->chip->num_plls; pll_id++) {
+sound/soc/uniphier/aio-cpu.c:		if (pll_id == aio->chip->num_plls) {
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-cpu.c:	aio->chip->active = 1;
+sound/soc/uniphier/aio-cpu.c:	aio->chip->active = 0;
+sound/soc/uniphier/aio-cpu.c:	aio->chip->num_wup_aios--;
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios) {
+sound/soc/uniphier/aio-cpu.c:		reset_control_assert(aio->chip->rst);
+sound/soc/uniphier/aio-cpu.c:		clk_disable_unprepare(aio->chip->clk);
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->active)
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios) {
+sound/soc/uniphier/aio-cpu.c:		ret = clk_prepare_enable(aio->chip->clk);
+sound/soc/uniphier/aio-cpu.c:		ret = reset_control_deassert(aio->chip->rst);
+sound/soc/uniphier/aio-cpu.c:	aio->chip->num_wup_aios++;
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios)
+sound/soc/uniphier/aio-cpu.c:		reset_control_assert(aio->chip->rst);
+sound/soc/uniphier/aio-cpu.c:	if (!aio->chip->num_wup_aios)
+sound/soc/uniphier/aio-cpu.c:		clk_disable_unprepare(aio->chip->clk);
+sound/soc/uniphier/aio-cpu.c:	chip->chip_spec = of_device_get_match_data(dev);
+sound/soc/uniphier/aio-cpu.c:	if (!chip->chip_spec)
+sound/soc/uniphier/aio-cpu.c:	chip->regmap_sg = syscon_regmap_lookup_by_phandle(dev->of_node,
+sound/soc/uniphier/aio-cpu.c:	if (IS_ERR(chip->regmap_sg)) {
+sound/soc/uniphier/aio-cpu.c:		if (PTR_ERR(chip->regmap_sg) == -EPROBE_DEFER)
+sound/soc/uniphier/aio-cpu.c:		chip->regmap_sg = NULL;
+sound/soc/uniphier/aio-cpu.c:	chip->clk = devm_clk_get(dev, "aio");
+sound/soc/uniphier/aio-cpu.c:	if (IS_ERR(chip->clk))
+sound/soc/uniphier/aio-cpu.c:		return PTR_ERR(chip->clk);
+sound/soc/uniphier/aio-cpu.c:	chip->rst = devm_reset_control_get_shared(dev, "aio");
+sound/soc/uniphier/aio-cpu.c:	if (IS_ERR(chip->rst))
+sound/soc/uniphier/aio-cpu.c:		return PTR_ERR(chip->rst);
+sound/soc/uniphier/aio-cpu.c:	chip->num_aios = chip->chip_spec->num_dais;
+sound/soc/uniphier/aio-cpu.c:	chip->num_wup_aios = chip->num_aios;
+sound/soc/uniphier/aio-cpu.c:	chip->aios = devm_kcalloc(dev,
+sound/soc/uniphier/aio-cpu.c:				  chip->num_aios, sizeof(struct uniphier_aio),
+sound/soc/uniphier/aio-cpu.c:	if (!chip->aios)
+sound/soc/uniphier/aio-cpu.c:	chip->num_plls = chip->chip_spec->num_plls;
+sound/soc/uniphier/aio-cpu.c:	chip->plls = devm_kcalloc(dev,
+sound/soc/uniphier/aio-cpu.c:				  chip->num_plls,
+sound/soc/uniphier/aio-cpu.c:	if (!chip->plls)
+sound/soc/uniphier/aio-cpu.c:	memcpy(chip->plls, chip->chip_spec->plls,
+sound/soc/uniphier/aio-cpu.c:	       sizeof(struct uniphier_aio_pll) * chip->num_plls);
+sound/soc/uniphier/aio-cpu.c:	for (i = 0; i < chip->num_aios; i++) {
+sound/soc/uniphier/aio-cpu.c:		struct uniphier_aio *aio = &chip->aios[i];
+sound/soc/uniphier/aio-cpu.c:	chip->pdev = pdev;
+sound/soc/uniphier/aio-cpu.c:	ret = clk_prepare_enable(chip->clk);
+sound/soc/uniphier/aio-cpu.c:	ret = reset_control_deassert(chip->rst);
+sound/soc/uniphier/aio-cpu.c:					      chip->chip_spec->dais,
+sound/soc/uniphier/aio-cpu.c:					      chip->chip_spec->num_dais);
+sound/soc/uniphier/aio-cpu.c:	reset_control_assert(chip->rst);
+sound/soc/uniphier/aio-cpu.c:	clk_disable_unprepare(chip->clk);
+sound/soc/uniphier/aio-cpu.c:	reset_control_assert(chip->rst);
+sound/soc/uniphier/aio-cpu.c:	clk_disable_unprepare(chip->clk);
+sound/soc/uniphier/aio-dma.c:	for (i = 0; i < chip->num_aios; i++) {
+sound/soc/uniphier/aio-dma.c:		struct uniphier_aio *aio = &chip->aios[i];
+sound/soc/uniphier/aio-dma.c:	struct device *dev = &aio->chip->pdev->dev;
+sound/soc/uniphier/aio-dma.c:	chip->regmap = devm_regmap_init_mmio(dev, preg,
+sound/soc/uniphier/aio-dma.c:	if (IS_ERR(chip->regmap))
+sound/soc/uniphier/aio-dma.c:		return PTR_ERR(chip->regmap);
+sound/soc/uniphier/aio.h:	return &chip->aios[dai->id];
+sound/sparc/cs4231.c:	__cs4231_writeb(chip, chip->mce_bit | reg, CS4231U(chip, REGSEL));
+sound/sparc/cs4231.c:	unsigned char tmp = (chip->image[reg] & mask) | value;
+sound/sparc/cs4231.c:	chip->image[reg] = tmp;
+sound/sparc/cs4231.c:	if (!chip->calibrate_mute)
+sound/sparc/cs4231.c:	chip->image[reg] = value;
+sound/sparc/cs4231.c:	__cs4231_writeb(chip, chip->mce_bit | reg, CS4231U(chip, REGSEL));
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mce_bit |= CS4231_MCE;
+sound/sparc/cs4231.c:			    chip->port);
+sound/sparc/cs4231.c:		__cs4231_writeb(chip, chip->mce_bit | (timeout & 0x1f),
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mce_bit &= ~CS4231_MCE;
+sound/sparc/cs4231.c:	__cs4231_writeb(chip, chip->mce_bit | (reg & 0x1f),
+sound/sparc/cs4231.c:			    "- codec still busy\n", chip->port);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		dma_cont = &chip->p_dma;
+sound/sparc/cs4231.c:				chip->playback_substream,
+sound/sparc/cs4231.c:				&chip->p_periods_sent);
+sound/sparc/cs4231.c:		dma_cont = &chip->c_dma;
+sound/sparc/cs4231.c:				chip->capture_substream,
+sound/sparc/cs4231.c:				&chip->c_periods_sent);
+sound/sparc/cs4231.c:			if (s == chip->playback_substream) {
+sound/sparc/cs4231.c:			} else if (s == chip->capture_substream) {
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_IFACE_CTRL] |= what;
+sound/sparc/cs4231.c:			chip->image[CS4231_IFACE_CTRL] &= ~what;
+sound/sparc/cs4231.c:			       chip->image[CS4231_IFACE_CTRL]);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (chip->calibrate_mute == mute) {
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:				chip->image[CS4231_LEFT_INPUT]);
+sound/sparc/cs4231.c:				chip->image[CS4231_RIGHT_INPUT]);
+sound/sparc/cs4231.c:				chip->image[CS4231_LOOPBACK]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX1_LEFT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX1_RIGHT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX2_LEFT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_AUX2_RIGHT_INPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_LEFT_OUTPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_RIGHT_OUTPUT]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_LEFT_LINE_IN]);
+sound/sparc/cs4231.c:			mute ? 0x80 : chip->image[CS4231_RIGHT_LINE_IN]);
+sound/sparc/cs4231.c:			mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
+sound/sparc/cs4231.c:	chip->calibrate_mute = mute;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_lock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		       (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE) ?
+sound/sparc/cs4231.c:		       (pdfr & 0xf0) | (chip->image[CS4231_REC_FORMAT] & 0x0f) :
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_unlock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	mutex_lock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE)) {
+sound/sparc/cs4231.c:			       ((chip->image[CS4231_PLAYBK_FORMAT]) & 0xf0) |
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_unlock(&chip->mce_mutex);
+sound/sparc/cs4231.c:	return chip->image[CS4231_PLAYBK_FORMAT] & 1 ? 9969 : 9920;
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if ((chip->image[CS4231_ALT_FEATURE_1] & CS4231_TIMER_ENABLE) == 0 ||
+sound/sparc/cs4231.c:	    (unsigned char)(ticks >> 8) != chip->image[CS4231_TIMER_HIGH] ||
+sound/sparc/cs4231.c:	    (unsigned char)ticks != chip->image[CS4231_TIMER_LOW]) {
+sound/sparc/cs4231.c:			       chip->image[CS4231_TIMER_HIGH] =
+sound/sparc/cs4231.c:			       chip->image[CS4231_TIMER_LOW] =
+sound/sparc/cs4231.c:			       chip->image[CS4231_ALT_FEATURE_1] |
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_ALT_FEATURE_1] &= ~CS4231_TIMER_ENABLE;
+sound/sparc/cs4231.c:		       chip->image[CS4231_ALT_FEATURE_1]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE |
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] |= CS4231_AUTOCALIB;
+sound/sparc/cs4231.c:	snd_cs4231_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_ALT_FEATURE_1]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		    chip->image[CS4231_ALT_FEATURE_1]);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_ALT_FEATURE_2]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			chip->image[CS4231_PLAYBK_FORMAT]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	snd_cs4231_out(chip, CS4231_REC_FORMAT, chip->image[CS4231_REC_FORMAT]);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	mutex_lock(&chip->open_mutex);
+sound/sparc/cs4231.c:	if ((chip->mode & mode)) {
+sound/sparc/cs4231.c:		mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	if (chip->mode & CS4231_MODE_OPEN) {
+sound/sparc/cs4231.c:		chip->mode |= mode;
+sound/sparc/cs4231.c:		mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mode = mode;
+sound/sparc/cs4231.c:	mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	mutex_lock(&chip->open_mutex);
+sound/sparc/cs4231.c:	chip->mode &= ~mode;
+sound/sparc/cs4231.c:	if (chip->mode & CS4231_MODE_OPEN) {
+sound/sparc/cs4231.c:		mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (chip->image[CS4231_IFACE_CTRL] &
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		chip->image[CS4231_IFACE_CTRL] &=
+sound/sparc/cs4231.c:				chip->image[CS4231_IFACE_CTRL]);
+sound/sparc/cs4231.c:		spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->mode = 0;
+sound/sparc/cs4231.c:	mutex_unlock(&chip->open_mutex);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_PLAYBACK_ENABLE |
+sound/sparc/cs4231.c:	chip->p_periods_sent = 0;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] &= ~(CS4231_RECORD_ENABLE |
+sound/sparc/cs4231.c:	chip->c_periods_sent = 0;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:		chip->capture_substream->runtime->overrange++;
+sound/sparc/cs4231.c:	if (chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE) {
+sound/sparc/cs4231.c:		snd_pcm_period_elapsed(chip->playback_substream);
+sound/sparc/cs4231.c:		snd_cs4231_advance_dma(&chip->p_dma, chip->playback_substream,
+sound/sparc/cs4231.c:					    &chip->p_periods_sent);
+sound/sparc/cs4231.c:	if (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE) {
+sound/sparc/cs4231.c:		snd_pcm_period_elapsed(chip->capture_substream);
+sound/sparc/cs4231.c:		snd_cs4231_advance_dma(&chip->c_dma, chip->capture_substream,
+sound/sparc/cs4231.c:					    &chip->c_periods_sent);
+sound/sparc/cs4231.c:	struct cs4231_dma_control *dma_cont = &chip->p_dma;
+sound/sparc/cs4231.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE))
+sound/sparc/cs4231.c:	struct cs4231_dma_control *dma_cont = &chip->c_dma;
+sound/sparc/cs4231.c:	if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE))
+sound/sparc/cs4231.c:			spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:			spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	snd_printdd("cs4231: port = %p, id = 0x%x\n", chip->port, id);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->image[CS4231_MISC_INFO] = CS4231_MODE2;
+sound/sparc/cs4231.c:	chip->image[CS4231_IFACE_CTRL] =
+sound/sparc/cs4231.c:		chip->image[CS4231_IFACE_CTRL] & ~CS4231_SINGLE_DMA;
+sound/sparc/cs4231.c:	chip->image[CS4231_ALT_FEATURE_1] = 0x80;
+sound/sparc/cs4231.c:	chip->image[CS4231_ALT_FEATURE_2] = 0x01;
+sound/sparc/cs4231.c:		chip->image[CS4231_ALT_FEATURE_2] |= 0x02;
+sound/sparc/cs4231.c:	ptr = (unsigned char *) &chip->image;
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	chip->playback_substream = substream;
+sound/sparc/cs4231.c:	chip->p_periods_sent = 0;
+sound/sparc/cs4231.c:	chip->capture_substream = substream;
+sound/sparc/cs4231.c:	chip->c_periods_sent = 0;
+sound/sparc/cs4231.c:	chip->playback_substream = NULL;
+sound/sparc/cs4231.c:	chip->capture_substream = NULL;
+sound/sparc/cs4231.c:					      &chip->op->dev,
+sound/sparc/cs4231.c:	chip->pcm = pcm;
+sound/sparc/cs4231.c:	chip->timer = timer;
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		(chip->image[CS4231_LEFT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/sparc/cs4231.c:		(chip->image[CS4231_RIGHT_INPUT] & CS4231_MIXS_ALL) >> 6;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	left = (chip->image[CS4231_LEFT_INPUT] & ~CS4231_MIXS_ALL) | left;
+sound/sparc/cs4231.c:	right = (chip->image[CS4231_RIGHT_INPUT] & ~CS4231_MIXS_ALL) | right;
+sound/sparc/cs4231.c:	change = left != chip->image[CS4231_LEFT_INPUT] ||
+sound/sparc/cs4231.c:		 right != chip->image[CS4231_RIGHT_INPUT];
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	ucontrol->value.integer.value[0] = (chip->image[reg] >> shift) & mask;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	val = (chip->image[reg] & ~(mask << shift)) | val;
+sound/sparc/cs4231.c:	change = val != chip->image[reg];
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:		(chip->image[left_reg] >> shift_left) & mask;
+sound/sparc/cs4231.c:		(chip->image[right_reg] >> shift_right) & mask;
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	val1 = (chip->image[left_reg] & ~(mask << shift_left)) | val1;
+sound/sparc/cs4231.c:	val2 = (chip->image[right_reg] & ~(mask << shift_right)) | val2;
+sound/sparc/cs4231.c:	change = val1 != chip->image[left_reg];
+sound/sparc/cs4231.c:	change |= val2 != chip->image[right_reg];
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	if (snd_BUG_ON(!chip || !chip->pcm))
+sound/sparc/cs4231.c:	strcpy(card->mixername, chip->pcm->name);
+sound/sparc/cs4231.c:	chip->card = card;
+sound/sparc/cs4231.c:	dev_set_drvdata(&chip->op->dev, chip);
+sound/sparc/cs4231.c:	csr = sbus_readl(chip->port + APCCSR);
+sound/sparc/cs4231.c:	sbus_writel(csr, chip->port + APCCSR);
+sound/sparc/cs4231.c:		if (chip->timer)
+sound/sparc/cs4231.c:			snd_timer_interrupt(chip->timer, chip->timer->sticks);
+sound/sparc/cs4231.c:	spin_lock_irqsave(&chip->lock, flags);
+sound/sparc/cs4231.c:	spin_unlock_irqrestore(&chip->lock, flags);
+sound/sparc/cs4231.c:	struct platform_device *op = chip->op;
+sound/sparc/cs4231.c:	if (chip->irq[0])
+sound/sparc/cs4231.c:		free_irq(chip->irq[0], chip);
+sound/sparc/cs4231.c:	if (chip->port)
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[0], chip->port, chip->regs_size);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->c_dma.sbus_info.lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->p_dma.sbus_info.lock);
+sound/sparc/cs4231.c:	mutex_init(&chip->mce_mutex);
+sound/sparc/cs4231.c:	mutex_init(&chip->open_mutex);
+sound/sparc/cs4231.c:	chip->op = op;
+sound/sparc/cs4231.c:	chip->regs_size = resource_size(&op->resource[0]);
+sound/sparc/cs4231.c:	memcpy(&chip->image, &snd_cs4231_original_image,
+sound/sparc/cs4231.c:	chip->port = of_ioremap(&op->resource[0], 0,
+sound/sparc/cs4231.c:				chip->regs_size, "cs4231");
+sound/sparc/cs4231.c:	if (!chip->port) {
+sound/sparc/cs4231.c:	chip->c_dma.sbus_info.regs = chip->port;
+sound/sparc/cs4231.c:	chip->p_dma.sbus_info.regs = chip->port;
+sound/sparc/cs4231.c:	chip->c_dma.sbus_info.dir = APC_RECORD;
+sound/sparc/cs4231.c:	chip->p_dma.sbus_info.dir = APC_PLAY;
+sound/sparc/cs4231.c:	chip->p_dma.prepare = sbus_dma_prepare;
+sound/sparc/cs4231.c:	chip->p_dma.enable = sbus_dma_enable;
+sound/sparc/cs4231.c:	chip->p_dma.request = sbus_dma_request;
+sound/sparc/cs4231.c:	chip->p_dma.address = sbus_dma_addr;
+sound/sparc/cs4231.c:	chip->c_dma.prepare = sbus_dma_prepare;
+sound/sparc/cs4231.c:	chip->c_dma.enable = sbus_dma_enable;
+sound/sparc/cs4231.c:	chip->c_dma.request = sbus_dma_request;
+sound/sparc/cs4231.c:	chip->c_dma.address = sbus_dma_addr;
+sound/sparc/cs4231.c:	chip->irq[0] = op->archdata.irqs[0];
+sound/sparc/cs4231.c:	struct platform_device *op = chip->op;
+sound/sparc/cs4231.c:	if (chip->c_dma.ebus_info.regs) {
+sound/sparc/cs4231.c:		ebus_dma_unregister(&chip->c_dma.ebus_info);
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[2], chip->c_dma.ebus_info.regs, 0x10);
+sound/sparc/cs4231.c:	if (chip->p_dma.ebus_info.regs) {
+sound/sparc/cs4231.c:		ebus_dma_unregister(&chip->p_dma.ebus_info);
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[1], chip->p_dma.ebus_info.regs, 0x10);
+sound/sparc/cs4231.c:	if (chip->port)
+sound/sparc/cs4231.c:		of_iounmap(&op->resource[0], chip->port, 0x10);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->c_dma.ebus_info.lock);
+sound/sparc/cs4231.c:	spin_lock_init(&chip->p_dma.ebus_info.lock);
+sound/sparc/cs4231.c:	mutex_init(&chip->mce_mutex);
+sound/sparc/cs4231.c:	mutex_init(&chip->open_mutex);
+sound/sparc/cs4231.c:	chip->flags |= CS4231_FLAG_EBUS;
+sound/sparc/cs4231.c:	chip->op = op;
+sound/sparc/cs4231.c:	memcpy(&chip->image, &snd_cs4231_original_image,
+sound/sparc/cs4231.c:	strcpy(chip->c_dma.ebus_info.name, "cs4231(capture)");
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.flags = EBUS_DMA_FLAG_USE_EBDMA_HANDLER;
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.callback = snd_cs4231_ebus_capture_callback;
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.client_cookie = chip;
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.irq = op->archdata.irqs[0];
+sound/sparc/cs4231.c:	strcpy(chip->p_dma.ebus_info.name, "cs4231(play)");
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.flags = EBUS_DMA_FLAG_USE_EBDMA_HANDLER;
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.callback = snd_cs4231_ebus_play_callback;
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.client_cookie = chip;
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.irq = op->archdata.irqs[1];
+sound/sparc/cs4231.c:	chip->p_dma.prepare = _ebus_dma_prepare;
+sound/sparc/cs4231.c:	chip->p_dma.enable = _ebus_dma_enable;
+sound/sparc/cs4231.c:	chip->p_dma.request = _ebus_dma_request;
+sound/sparc/cs4231.c:	chip->p_dma.address = _ebus_dma_addr;
+sound/sparc/cs4231.c:	chip->c_dma.prepare = _ebus_dma_prepare;
+sound/sparc/cs4231.c:	chip->c_dma.enable = _ebus_dma_enable;
+sound/sparc/cs4231.c:	chip->c_dma.request = _ebus_dma_request;
+sound/sparc/cs4231.c:	chip->c_dma.address = _ebus_dma_addr;
+sound/sparc/cs4231.c:	chip->port = of_ioremap(&op->resource[0], 0, 0x10, "cs4231");
+sound/sparc/cs4231.c:	chip->p_dma.ebus_info.regs =
+sound/sparc/cs4231.c:	chip->c_dma.ebus_info.regs =
+sound/sparc/cs4231.c:	if (!chip->port || !chip->p_dma.ebus_info.regs ||
+sound/sparc/cs4231.c:	    !chip->c_dma.ebus_info.regs) {
+sound/sparc/cs4231.c:	if (ebus_dma_register(&chip->c_dma.ebus_info)) {
+sound/sparc/cs4231.c:	if (ebus_dma_irq_enable(&chip->c_dma.ebus_info, 1)) {
+sound/sparc/cs4231.c:	if (ebus_dma_register(&chip->p_dma.ebus_info)) {
+sound/sparc/cs4231.c:	if (ebus_dma_irq_enable(&chip->p_dma.ebus_info, 1)) {
+sound/sparc/cs4231.c:	snd_card_free(chip->card);
+sound/spi/at73c213.c:	chip->spi_wbuffer[0] = reg;
+sound/spi/at73c213.c:	chip->spi_wbuffer[1] = val;
+sound/spi/at73c213.c:	msg_xfer.tx_buf = chip->spi_wbuffer;
+sound/spi/at73c213.c:	msg_xfer.rx_buf = chip->spi_rbuffer;
+sound/spi/at73c213.c:	retval = spi_sync(chip->spi, &msg);
+sound/spi/at73c213.c:		chip->reg_image[reg] = val;
+sound/spi/at73c213.c:	.rate_min	= 8000,  /* Replaced by chip->bitrate later. */
+sound/spi/at73c213.c:	.rate_max	= 50000, /* Replaced by chip->bitrate later. */
+sound/spi/at73c213.c:	unsigned long ssc_rate = clk_get_rate(chip->ssc->clk);
+sound/spi/at73c213.c:		status = clk_round_rate(chip->board->dac_clk, dac_rate_new);
+sound/spi/at73c213.c:	status = clk_set_rate(chip->board->dac_clk, status);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CMR, ssc_div/2);
+sound/spi/at73c213.c:	chip->bitrate = ssc_rate / (ssc_div * 16 * 2);
+sound/spi/at73c213.c:	dev_info(&chip->spi->dev,
+sound/spi/at73c213.c:			chip->bitrate, ssc_div);
+sound/spi/at73c213.c:	snd_at73c213_playback_hw.rate_min = chip->bitrate;
+sound/spi/at73c213.c:	snd_at73c213_playback_hw.rate_max = chip->bitrate;
+sound/spi/at73c213.c:	chip->substream = substream;
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:	chip->substream = NULL;
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:	val = ssc_readl(chip->ssc->regs, TFMR);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, TFMR, val);
+sound/spi/at73c213.c:	chip->period = 0;
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TPR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TCR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TNPR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, PDC_TNCR,
+sound/spi/at73c213.c:	spin_lock(&chip->lock);
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, IER, SSC_BIT(IER_ENDTX));
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_PTCR, SSC_BIT(PDC_PTCR_TXTEN));
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_PTCR, SSC_BIT(PDC_PTCR_TXTDIS));
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, IDR, SSC_BIT(IDR_ENDTX));
+sound/spi/at73c213.c:		dev_dbg(&chip->spi->dev, "spurious command %x\n", cmd);
+sound/spi/at73c213.c:	spin_unlock(&chip->lock);
+sound/spi/at73c213.c:	bytes = ssc_readl(chip->ssc->regs, PDC_TPR)
+sound/spi/at73c213.c:	retval = snd_pcm_new(chip->card, chip->card->shortname,
+sound/spi/at73c213.c:	chip->pcm = pcm;
+sound/spi/at73c213.c:	snd_pcm_lib_preallocate_pages_for_all(chip->pcm,
+sound/spi/at73c213.c:			SNDRV_DMA_TYPE_DEV, &chip->ssc->pdev->dev,
+sound/spi/at73c213.c:	struct snd_pcm_runtime *runtime = chip->substream->runtime;
+sound/spi/at73c213.c:	spin_lock(&chip->lock);
+sound/spi/at73c213.c:	status = ssc_readl(chip->ssc->regs, IMR);
+sound/spi/at73c213.c:		chip->period++;
+sound/spi/at73c213.c:		if (chip->period == runtime->periods)
+sound/spi/at73c213.c:			chip->period = 0;
+sound/spi/at73c213.c:		next_period = chip->period + 1;
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_TNPR,
+sound/spi/at73c213.c:		ssc_writel(chip->ssc->regs, PDC_TNCR,
+sound/spi/at73c213.c:	ssc_readl(chip->ssc->regs, IMR);
+sound/spi/at73c213.c:	spin_unlock(&chip->lock);
+sound/spi/at73c213.c:		snd_pcm_period_elapsed(chip->substream);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:		(chip->reg_image[reg] >> shift) & mask;
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:	val = (chip->reg_image[reg] & ~(mask << shift)) | val;
+sound/spi/at73c213.c:	change = val != chip->reg_image[reg];
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:		(chip->reg_image[left_reg] >> shift_left) & mask;
+sound/spi/at73c213.c:		(chip->reg_image[right_reg] >> shift_right) & mask;
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:	val1 = (chip->reg_image[left_reg] & ~(mask << shift_left)) | val1;
+sound/spi/at73c213.c:	val2 = (chip->reg_image[right_reg] & ~(mask << shift_right)) | val2;
+sound/spi/at73c213.c:	change = val1 != chip->reg_image[left_reg]
+sound/spi/at73c213.c:		|| val2 != chip->reg_image[right_reg];
+sound/spi/at73c213.c:		mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:		mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:		(chip->reg_image[reg] >> shift) & 0x01;
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	mutex_lock(&chip->mixer_lock);
+sound/spi/at73c213.c:	val |= (chip->reg_image[reg] & ~(mask << shift));
+sound/spi/at73c213.c:	change = val != chip->reg_image[reg];
+sound/spi/at73c213.c:	mutex_unlock(&chip->mixer_lock);
+sound/spi/at73c213.c:	if (chip == NULL || chip->pcm == NULL)
+sound/spi/at73c213.c:	card = chip->card;
+sound/spi/at73c213.c:	strcpy(card->mixername, chip->pcm->name);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, TCMR,
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, TFMR,
+sound/spi/at73c213.c:	clk_enable(chip->board->dac_clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXEN));
+sound/spi/at73c213.c:	clk_disable(chip->board->dac_clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXDIS));
+sound/spi/at73c213.c:	if (chip->irq >= 0) {
+sound/spi/at73c213.c:		free_irq(chip->irq, chip);
+sound/spi/at73c213.c:		chip->irq = -1;
+sound/spi/at73c213.c:	irq = chip->ssc->irq;
+sound/spi/at73c213.c:	spin_lock_init(&chip->lock);
+sound/spi/at73c213.c:	mutex_init(&chip->mixer_lock);
+sound/spi/at73c213.c:	chip->card = card;
+sound/spi/at73c213.c:	chip->irq = -1;
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:		dev_dbg(&chip->spi->dev, "unable to request irq %d\n", irq);
+sound/spi/at73c213.c:	chip->irq = irq;
+sound/spi/at73c213.c:	memcpy(&chip->reg_image, &snd_at73c213_original_image,
+sound/spi/at73c213.c:	free_irq(chip->irq, chip);
+sound/spi/at73c213.c:	chip->irq = -1;
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:	chip->spi = spi;
+sound/spi/at73c213.c:	chip->board = board;
+sound/spi/at73c213.c:	chip->ssc = ssc_request(board->ssc_id);
+sound/spi/at73c213.c:	if (IS_ERR(chip->ssc)) {
+sound/spi/at73c213.c:		retval = PTR_ERR(chip->ssc);
+sound/spi/at73c213.c:	sprintf(card->longname, "%s on irq %d", card->shortname, chip->irq);
+sound/spi/at73c213.c:	ssc_free(chip->ssc);
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXDIS));
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:					chip->reg_image[PA_CTRL] | 0x0f);
+sound/spi/at73c213.c:	clk_disable(chip->board->dac_clk);
+sound/spi/at73c213.c:	ssc_free(chip->ssc);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXDIS));
+sound/spi/at73c213.c:	clk_disable(chip->ssc->clk);
+sound/spi/at73c213.c:	clk_disable(chip->board->dac_clk);
+sound/spi/at73c213.c:	clk_enable(chip->board->dac_clk);
+sound/spi/at73c213.c:	clk_enable(chip->ssc->clk);
+sound/spi/at73c213.c:	ssc_writel(chip->ssc->regs, CR, SSC_BIT(CR_TXEN));
+sound/usb/6fire/chip.c:		if (chip->pcm)
+sound/usb/6fire/chip.c:		if (chip->midi)
+sound/usb/6fire/chip.c:		if (chip->comm)
+sound/usb/6fire/chip.c:		if (chip->control)
+sound/usb/6fire/chip.c:		if (chip->card) {
+sound/usb/6fire/chip.c:			snd_card_disconnect(chip->card);
+sound/usb/6fire/chip.c:			snd_card_free_when_closed(chip->card);
+sound/usb/6fire/chip.c:			chip->card = NULL;
+sound/usb/6fire/chip.c:		if (chip->pcm)
+sound/usb/6fire/chip.c:		if (chip->midi)
+sound/usb/6fire/chip.c:		if (chip->comm)
+sound/usb/6fire/chip.c:		if (chip->control)
+sound/usb/6fire/chip.c:		if (chip->card)
+sound/usb/6fire/chip.c:			snd_card_free(chip->card);
+sound/usb/6fire/chip.c:	chip->dev = device;
+sound/usb/6fire/chip.c:	chip->regidx = regidx;
+sound/usb/6fire/chip.c:	chip->intf_count = 1;
+sound/usb/6fire/chip.c:	chip->card = card;
+sound/usb/6fire/chip.c:		chip->intf_count--;
+sound/usb/6fire/chip.c:		if (!chip->intf_count) {
+sound/usb/6fire/chip.c:			devices[chip->regidx] = NULL;
+sound/usb/6fire/chip.c:			chips[chip->regidx] = NULL;
+sound/usb/6fire/chip.c:			chip->shutdown = true;
+sound/usb/6fire/comm.c:	urb->pipe = usb_sndintpipe(rt->chip->dev, COMM_EP);
+sound/usb/6fire/comm.c:	urb->dev = rt->chip->dev;
+sound/usb/6fire/comm.c:	struct midi_runtime *midi_rt = rt->chip->midi;
+sound/usb/6fire/comm.c:	if (!rt->chip->shutdown) {
+sound/usb/6fire/comm.c:	ret = usb6fire_comm_send_buffer(buffer, rt->chip->dev);
+sound/usb/6fire/comm.c:	ret = usb6fire_comm_send_buffer(buffer, rt->chip->dev);
+sound/usb/6fire/comm.c:	urb->pipe = usb_rcvintpipe(chip->dev, COMM_EP);
+sound/usb/6fire/comm.c:	urb->dev = chip->dev;
+sound/usb/6fire/comm.c:		dev_err(&chip->dev->dev, "cannot create comm data receiver.");
+sound/usb/6fire/comm.c:	chip->comm = rt;
+sound/usb/6fire/comm.c:	struct comm_runtime *rt = chip->comm;
+sound/usb/6fire/comm.c:	struct comm_runtime *rt = chip->comm;
+sound/usb/6fire/comm.c:	chip->comm = NULL;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct usb_device *device = rt->chip->dev;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = rt->chip->comm;
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/control.c:	struct comm_runtime *comm_rt = chip->comm;
+sound/usb/6fire/control.c:	ret = usb6fire_control_add_virtual(rt, chip->card,
+sound/usb/6fire/control.c:		dev_err(&chip->dev->dev, "cannot add control.\n");
+sound/usb/6fire/control.c:	ret = usb6fire_control_add_virtual(rt, chip->card,
+sound/usb/6fire/control.c:		dev_err(&chip->dev->dev, "cannot add control.\n");
+sound/usb/6fire/control.c:		ret = snd_ctl_add(chip->card, snd_ctl_new1(&elements[i], rt));
+sound/usb/6fire/control.c:			dev_err(&chip->dev->dev, "cannot add control.\n");
+sound/usb/6fire/control.c:	chip->control = rt;
+sound/usb/6fire/control.c:	kfree(chip->control);
+sound/usb/6fire/control.c:	chip->control = NULL;
+sound/usb/6fire/midi.c:	struct comm_runtime *comm_rt = chip->comm;
+sound/usb/6fire/midi.c:	ret = snd_rawmidi_new(chip->card, "6FireUSB", 0, 1, 1, &rt->instance);
+sound/usb/6fire/midi.c:		dev_err(&chip->dev->dev, "unable to create midi.\n");
+sound/usb/6fire/midi.c:	chip->midi = rt;
+sound/usb/6fire/midi.c:	struct midi_runtime *rt = chip->midi;
+sound/usb/6fire/midi.c:	struct midi_runtime *rt = chip->midi;
+sound/usb/6fire/midi.c:	chip->midi = NULL;
+sound/usb/6fire/pcm.c:	struct control_runtime *ctrl_rt = rt->chip->control;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:	dev_err(&rt->chip->dev->dev, "error getting pcm substream slot.\n");
+sound/usb/6fire/pcm.c:	struct control_runtime *ctrl_rt = rt->chip->control;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev, "Unknown sample format.");
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = in_urb->chip->pcm;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = urb->chip->pcm;
+sound/usb/6fire/pcm.c:		dev_err(&rt->chip->dev->dev, "invalid stream type.\n");
+sound/usb/6fire/pcm.c:			dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:			dev_err(&rt->chip->dev->dev,
+sound/usb/6fire/pcm.c:	urb->instance.dev = chip->dev;
+sound/usb/6fire/pcm.c:	urb->instance.pipe = in ? usb_rcvisocpipe(chip->dev, ep)
+sound/usb/6fire/pcm.c:			: usb_sndisocpipe(chip->dev, ep);
+sound/usb/6fire/pcm.c:	ret = snd_pcm_new(chip->card, "DMX6FireUSB", 0, 1, 1, &pcm);
+sound/usb/6fire/pcm.c:		dev_err(&chip->dev->dev, "cannot create pcm instance.\n");
+sound/usb/6fire/pcm.c:	chip->pcm = rt;
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/6fire/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/6fire/pcm.c:	chip->pcm = NULL;
+sound/usb/caiaq/control.c:	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
+sound/usb/caiaq/control.c:	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
+sound/usb/caiaq/control.c:	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
+sound/usb/card.c:	struct usb_device *dev = chip->dev;
+sound/usb/card.c:	if ((chip->usb_id == USB_ID(0x18d1, 0x2d04) ||
+sound/usb/card.c:	     chip->usb_id == USB_ID(0x18d1, 0x2d05)) &&
+sound/usb/card.c:		int err = __snd_usbmidi_create(chip->card, iface,
+sound/usb/card.c:					     &chip->midi_list, NULL,
+sound/usb/card.c:					     chip->usb_id);
+sound/usb/card.c:	struct usb_device *dev = chip->dev;
+sound/usb/card.c:			chip->badd_profile = badd;
+sound/usb/card.c:	list_for_each_entry_safe(ep, n, &chip->ep_list, list)
+sound/usb/card.c:	mutex_destroy(&chip->mutex);
+sound/usb/card.c:	if (!atomic_read(&chip->shutdown))
+sound/usb/card.c:		dev_set_drvdata(&chip->dev->dev, NULL);
+sound/usb/card.c:	struct snd_card *card = chip->card;
+sound/usb/card.c:			USB_ID_VENDOR(chip->usb_id),
+sound/usb/card.c:			USB_ID_PRODUCT(chip->usb_id));
+sound/usb/card.c:	struct snd_card *card = chip->card;
+sound/usb/card.c:	mutex_init(&chip->mutex);
+sound/usb/card.c:	init_waitqueue_head(&chip->shutdown_wait);
+sound/usb/card.c:	chip->index = idx;
+sound/usb/card.c:	chip->dev = dev;
+sound/usb/card.c:	chip->card = card;
+sound/usb/card.c:	chip->setup = device_setup[idx];
+sound/usb/card.c:	chip->autoclock = autoclock;
+sound/usb/card.c:	atomic_set(&chip->active, 1); /* avoid autopm during probing */
+sound/usb/card.c:	atomic_set(&chip->usage_count, 0);
+sound/usb/card.c:	atomic_set(&chip->shutdown, 0);
+sound/usb/card.c:	chip->usb_id = usb_id;
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->pcm_list);
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->ep_list);
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->midi_list);
+sound/usb/card.c:	INIT_LIST_HEAD(&chip->mixer_list);
+sound/usb/card.c:		USB_ID_VENDOR(chip->usb_id), USB_ID_PRODUCT(chip->usb_id));
+sound/usb/card.c:			atomic_inc(&chip->active); /* avoid autopm */
+sound/usb/card.c:					chip->pm_intf = intf;
+sound/usb/card.c:	if (!chip->ctrl_intf)
+sound/usb/card.c:		chip->ctrl_intf = alts;
+sound/usb/card.c:	chip->txfr_quirk = 0;
+sound/usb/card.c:	err = snd_card_register(chip->card);
+sound/usb/card.c:	usb_chip[chip->index] = chip;
+sound/usb/card.c:	chip->num_interfaces++;
+sound/usb/card.c:	atomic_dec(&chip->active);
+sound/usb/card.c:		/* chip->active is inside the chip->card object,
+sound/usb/card.c:		atomic_dec(&chip->active);
+sound/usb/card.c:		if (!chip->num_interfaces)
+sound/usb/card.c:			snd_card_free(chip->card);
+sound/usb/card.c:	card = chip->card;
+sound/usb/card.c:	if (atomic_inc_return(&chip->shutdown) == 1) {
+sound/usb/card.c:		wait_event(chip->shutdown_wait,
+sound/usb/card.c:			   !atomic_read(&chip->usage_count));
+sound/usb/card.c:		list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/card.c:		list_for_each_entry(ep, &chip->ep_list, list) {
+sound/usb/card.c:		list_for_each(p, &chip->midi_list) {
+sound/usb/card.c:		list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/card.c:	chip->num_interfaces--;
+sound/usb/card.c:	if (chip->num_interfaces <= 0) {
+sound/usb/card.c:		usb_chip[chip->index] = NULL;
+sound/usb/card.c:	atomic_inc(&chip->usage_count);
+sound/usb/card.c:	if (atomic_read(&chip->shutdown)) {
+sound/usb/card.c:	if (atomic_dec_and_test(&chip->usage_count))
+sound/usb/card.c:		wake_up(&chip->shutdown_wait);
+sound/usb/card.c:	if (atomic_dec_and_test(&chip->usage_count))
+sound/usb/card.c:		wake_up(&chip->shutdown_wait);
+sound/usb/card.c:	if (atomic_read(&chip->shutdown))
+sound/usb/card.c:	if (atomic_inc_return(&chip->active) == 1)
+sound/usb/card.c:		return usb_autopm_get_interface(chip->pm_intf);
+sound/usb/card.c:	if (atomic_read(&chip->shutdown))
+sound/usb/card.c:	if (atomic_dec_and_test(&chip->active))
+sound/usb/card.c:		usb_autopm_put_interface(chip->pm_intf);
+sound/usb/card.c:	chip->autosuspended = !!PMSG_IS_AUTO(message);
+sound/usb/card.c:	if (!chip->autosuspended)
+sound/usb/card.c:		snd_power_change_state(chip->card, SNDRV_CTL_POWER_D3hot);
+sound/usb/card.c:	if (!chip->num_suspended_intf++) {
+sound/usb/card.c:		list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/card.c:		list_for_each(p, &chip->midi_list)
+sound/usb/card.c:		list_for_each_entry(mixer, &chip->mixer_list, list)
+sound/usb/card.c:	if (--chip->num_suspended_intf)
+sound/usb/card.c:	atomic_inc(&chip->active); /* avoid autopm */
+sound/usb/card.c:	list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/card.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/card.c:	list_for_each(p, &chip->midi_list) {
+sound/usb/card.c:	if (!chip->autosuspended)
+sound/usb/card.c:		snd_power_change_state(chip->card, SNDRV_CTL_POWER_D0);
+sound/usb/card.c:	chip->autosuspended = 0;
+sound/usb/card.c:	atomic_dec(&chip->active); /* allow autopm after this point */
+sound/usb/clock.c:	ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/clock.c:	ret = snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0),
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:			snd_usb_find_clock_source_v3(chip->ctrl_intf, source_id);
+sound/usb/clock.c:			snd_usb_find_clock_source(chip->ctrl_intf, source_id);
+sound/usb/clock.c:	source = snd_usb_find_clock_source(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:	selector = snd_usb_find_clock_selector(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:		if (!validate || ret > 0 || !chip->autoclock)
+sound/usb/clock.c:	multiplier = snd_usb_find_clock_multiplier(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:	source = snd_usb_find_clock_source_v3(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:	selector = snd_usb_find_clock_selector_v3(chip->ctrl_intf, entity_id);
+sound/usb/clock.c:		if (!validate || ret > 0 || !chip->autoclock)
+sound/usb/clock.c:	multiplier = snd_usb_find_clock_multiplier_v3(chip->ctrl_intf,
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:	if (chip->sample_rate_read_error > 2)
+sound/usb/clock.c:		chip->sample_rate_read_error++;
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:	struct usb_device *dev = chip->dev;
+sound/usb/clock.c:		cs_desc = snd_usb_find_clock_source_v3(chip->ctrl_intf, clock);
+sound/usb/clock.c:		cs_desc = snd_usb_find_clock_source(chip->ctrl_intf, clock);
+sound/usb/clock.c:		if (chip->badd_profile >= UAC3_FUNCTION_SUBCLASS_GENERIC_IO) {
+sound/usb/endpoint.c:		usb_free_coherent(u->ep->chip->dev, u->buffer_size,
+sound/usb/endpoint.c:	if (ep->chip->tx_length_quirk)
+sound/usb/endpoint.c:	urb->dev = ep->chip->dev; /* we need to set this at each time */
+sound/usb/endpoint.c:		if (snd_usb_get_speed(ep->chip->dev) >= USB_SPEED_HIGH) {
+sound/usb/endpoint.c:	urb->dev = ep->chip->dev; /* we need to set this at each time */
+sound/usb/endpoint.c:	if (unlikely(atomic_read(&ep->chip->shutdown)))
+sound/usb/endpoint.c: * New endpoints will be added to chip->ep_list and must be freed by
+sound/usb/endpoint.c:	mutex_lock(&chip->mutex);
+sound/usb/endpoint.c:	list_for_each_entry(ep, &chip->ep_list, list) {
+sound/usb/endpoint.c:		ep->pipe = usb_sndisocpipe(chip->dev, ep_num);
+sound/usb/endpoint.c:		ep->pipe = usb_rcvisocpipe(chip->dev, ep_num);
+sound/usb/endpoint.c:		else if (snd_usb_get_speed(chip->dev) == USB_SPEED_FULL)
+sound/usb/endpoint.c:	list_add_tail(&ep->list, &chip->ep_list);
+sound/usb/endpoint.c:	mutex_unlock(&chip->mutex);
+sound/usb/endpoint.c:	if (!force && atomic_read(&ep->chip->shutdown)) /* to be sure... */
+sound/usb/endpoint.c:		usb_free_coherent(ep->chip->dev, SYNC_URBS * 4,
+sound/usb/endpoint.c:	int tx_length_quirk = (ep->chip->tx_length_quirk &&
+sound/usb/endpoint.c:	if (snd_usb_get_speed(ep->chip->dev) != USB_SPEED_FULL) {
+sound/usb/endpoint.c:		if (snd_usb_get_speed(ep->chip->dev) == USB_SPEED_WIRELESS) {
+sound/usb/endpoint.c:			usb_alloc_coherent(ep->chip->dev, u->buffer_size,
+sound/usb/endpoint.c:	ep->syncbuf = usb_alloc_coherent(ep->chip->dev, SYNC_URBS * 4,
+sound/usb/endpoint.c:	if (snd_usb_get_speed(ep->chip->dev) == USB_SPEED_FULL)
+sound/usb/endpoint.c:	if (atomic_read(&ep->chip->shutdown))
+sound/usb/format.c:		if (((chip->usb_id == USB_ID(0x0582, 0x0016)) ||
+sound/usb/format.c:		     (chip->usb_id == USB_ID(0x0582, 0x000c))) &&
+sound/usb/format.c:		if (chip->usb_id == USB_ID(0x04fa, 0x4201))
+sound/usb/format.c:			    (chip->usb_id == USB_ID(0x0d8c, 0x0201) ||
+sound/usb/format.c:			     chip->usb_id == USB_ID(0x0d8c, 0x0102) ||
+sound/usb/format.c:			     chip->usb_id == USB_ID(0x0ccd, 0x00b1)) &&
+sound/usb/format.c:			    (chip->usb_id == USB_ID(0x041e, 0x4064) ||
+sound/usb/format.c:			     chip->usb_id == USB_ID(0x041e, 0x4068)))
+sound/usb/format.c:	switch (chip->usb_id) {
+sound/usb/format.c:	struct usb_device *dev = chip->dev;
+sound/usb/format.c:		switch (chip->usb_id) {
+sound/usb/format.c:			if (chip->setup == 0x00 && 
+sound/usb/format.c:	if (chip->usb_id == USB_ID(0x041e, 0x3000) ||
+sound/usb/format.c:	    chip->usb_id == USB_ID(0x041e, 0x3020) ||
+sound/usb/format.c:	    chip->usb_id == USB_ID(0x041e, 0x3061)) {
+sound/usb/helper.c:	switch (snd_usb_get_speed(chip->dev)) {
+sound/usb/helper.h:	return get_iface_desc(chip->ctrl_intf)->bInterfaceNumber;
+sound/usb/hiface/chip.c:	chip->dev = device;
+sound/usb/hiface/chip.c:	chip->card = card;
+sound/usb/hiface/chip.c:	ret = snd_card_register(chip->card);
+sound/usb/hiface/chip.c:	snd_card_free(chip->card);
+sound/usb/hiface/chip.c:	card = chip->card;
+sound/usb/hiface/pcm.c:	struct usb_device *device = rt->chip->dev;
+sound/usb/hiface/pcm.c:	struct device *device = &rt->chip->dev->dev;
+sound/usb/hiface/pcm.c:			struct device *device = &rt->chip->dev->dev;
+sound/usb/hiface/pcm.c:	struct device *device = &urb->chip->dev->dev;
+sound/usb/hiface/pcm.c:	struct pcm_runtime *rt = out_urb->chip->pcm;
+sound/usb/hiface/pcm.c:		struct device *device = &rt->chip->dev->dev;
+sound/usb/hiface/pcm.c:	usb_fill_bulk_urb(&urb->instance, chip->dev,
+sound/usb/hiface/pcm.c:			  usb_sndbulkpipe(chip->dev, ep), (void *)urb->buffer,
+sound/usb/hiface/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/hiface/pcm.c:	struct pcm_runtime *rt = chip->pcm;
+sound/usb/hiface/pcm.c:	kfree(chip->pcm);
+sound/usb/hiface/pcm.c:	chip->pcm = NULL;
+sound/usb/hiface/pcm.c:	ret = snd_pcm_new(chip->card, "USB-SPDIF Audio", 0, 1, 0, &pcm);
+sound/usb/hiface/pcm.c:		dev_err(&chip->dev->dev, "Cannot create pcm instance\n");
+sound/usb/hiface/pcm.c:	chip->pcm = rt;
+sound/usb/media.c:	mdev = subs->stream->chip->media_dev;
+sound/usb/media.c:	struct device *ctl_dev = &chip->card->ctl_dev;
+sound/usb/media.c:	struct media_device *mdev = chip->media_dev;
+sound/usb/media.c:	ctl_intf = chip->ctl_intf_media_devnode;
+sound/usb/media.c:		chip->ctl_intf_media_devnode = ctl_intf;
+sound/usb/media.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/media.c:		mctl->media_entity.name = chip->card->mixername;
+sound/usb/media.c:	struct media_device *mdev = chip->media_dev;
+sound/usb/media.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/media.c:		media_devnode_remove(chip->ctl_intf_media_devnode);
+sound/usb/media.c:	chip->ctl_intf_media_devnode = NULL;
+sound/usb/media.c:	if (chip->media_dev) {
+sound/usb/media.c:		mdev = chip->media_dev;
+sound/usb/media.c:	chip->media_dev = mdev;
+sound/usb/media.c:			chip->media_dev = NULL;
+sound/usb/media.c:	struct media_device *mdev = chip->media_dev;
+sound/usb/media.c:	list_for_each_entry(stream, &chip->pcm_list, list) {
+sound/usb/media.c:		chip->media_dev = NULL;
+sound/usb/mixer.c:	int len = usb_string(chip->dev, index, buf, maxlen - 1);
+sound/usb/mixer.c:		err = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), request,
+sound/usb/mixer.c:	ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), bRequest,
+sound/usb/mixer.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer.c:				      usb_sndctrlpipe(chip->dev, 0), request,
+sound/usb/mixer.c:	while (snd_ctl_find_id(mixer->chip->card, &kctl->id))
+sound/usb/mixer.c:	err = snd_ctl_add(mixer->chip->card, kctl);
+sound/usb/mixer.c:	err = snd_usb_ctl_msg(state->chip->dev,
+sound/usb/mixer.c:			usb_rcvctrlpipe(state->chip->dev, 0),
+sound/usb/mixer.c:	switch (chip->usb_id) {
+sound/usb/mixer.c:				snd_ctl_notify(cval->head.mixer->chip->card,
+sound/usb/mixer.c:		ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), UAC2_CS_CUR,
+sound/usb/mixer.c:		ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), UAC2_CS_CUR,
+sound/usb/mixer.c:			check_no_speaker_on_headset(kctl, mixer->chip->card);
+sound/usb/mixer.c:	switch (state->chip->usb_id) {
+sound/usb/mixer.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer.c:	int badd_profile = mixer->chip->badd_profile;
+sound/usb/mixer.c:		if (map->id == state.chip->usb_id) {
+sound/usb/mixer.c:		snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/mixer.c:				chip->usb_id, snd_usb_ctrl_intf(chip),
+sound/usb/mixer.c:		snd_iprintf(buffer, "Card: %s\n", chip->card->longname);
+sound/usb/mixer.c:			snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer.c:		urb->dev = mixer->chip->dev;
+sound/usb/mixer.c:	usb_fill_int_urb(mixer->urb, mixer->chip->dev,
+sound/usb/mixer.c:			 usb_rcvintpipe(mixer->chip->dev, epnum),
+sound/usb/mixer.c:	ucontrol->value.integer.value[0] = mixer->chip->keep_iface;
+sound/usb/mixer.c:	if (mixer->chip->keep_iface == keep_iface)
+sound/usb/mixer.c:	mixer->chip->keep_iface = keep_iface;
+sound/usb/mixer.c:	if (snd_ctl_find_id(mixer->chip->card, &kctl->id)) {
+sound/usb/mixer.c:	return snd_ctl_add(mixer->chip->card, kctl);
+sound/usb/mixer.c:	strcpy(chip->card->mixername, "USB Mixer");
+sound/usb/mixer.c:	mixer->hostif = &usb_ifnum_to_if(chip->dev, ctrlif)->altsetting[0];
+sound/usb/mixer.c:			chip->badd_profile >= UAC3_FUNCTION_SUBCLASS_GENERIC_IO) {
+sound/usb/mixer.c:	err = snd_device_new(chip->card, SNDRV_DEV_CODEC, mixer, &dev_ops);
+sound/usb/mixer.c:	if (list_empty(&chip->mixer_list))
+sound/usb/mixer.c:		snd_card_ro_proc_new(chip->card, "usbmixer", chip,
+sound/usb/mixer.c:	list_add(&mixer->list, &chip->mixer_list);
+sound/usb/mixer_quirks.c:		if (rc_configs[i].usb_id == mixer->chip->usb_id)
+sound/usb/mixer_quirks.c:	err = snd_hwdep_new(mixer->chip->card, "SB remote control", 0, &hwdep);
+sound/usb/mixer_quirks.c:		 "%s remote control", mixer->chip->card->shortname);
+sound/usb/mixer_quirks.c:	usb_fill_control_urb(mixer->rc_urb, mixer->chip->dev,
+sound/usb/mixer_quirks.c:			     usb_rcvctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_quirks.c:	if (chip->usb_id == USB_ID(0x041e, 0x3042))
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x24,
+sound/usb/mixer_quirks.c:	if (chip->usb_id == USB_ID(0x041e, 0x30df))
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x24,
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x24,
+sound/usb/mixer_quirks.c:		if ((mixer->chip->usb_id == USB_ID(0x041e, 0x3042)) && i == 0)
+sound/usb/mixer_quirks.c:		if ((mixer->chip->usb_id == USB_ID(0x041e, 0x30df)) && i == 0)
+sound/usb/mixer_quirks.c:			(mixer->chip->usb_id == USB_ID(0x041e, 0x3040) ||
+sound/usb/mixer_quirks.c:			 mixer->chip->usb_id == USB_ID(0x041e, 0x3042) ||
+sound/usb/mixer_quirks.c:			 mixer->chip->usb_id == USB_ID(0x041e, 0x30df) ||
+sound/usb/mixer_quirks.c:			 mixer->chip->usb_id == USB_ID(0x041e, 0x3048)))
+sound/usb/mixer_quirks.c:	snd_iprintf(buffer, "%s jacks\n\n", mixer->chip->card->shortname);
+sound/usb/mixer_quirks.c:	if (mixer->chip->usb_id == USB_ID(0x041e, 0x3020))
+sound/usb/mixer_quirks.c:	else if (mixer->chip->usb_id == USB_ID(0x041e, 0x3040) ||
+sound/usb/mixer_quirks.c:		 mixer->chip->usb_id == USB_ID(0x041e, 0x3048))
+sound/usb/mixer_quirks.c:		err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_quirks.c:				      usb_rcvctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:		      usb_sndctrlpipe(chip->dev, 0), UAC_SET_CUR,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0), 0x08,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_sndctrlpipe(chip->dev, 0), 0x1,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:				usb_rcvctrlpipe(chip->dev, 0), 0x81,
+sound/usb/mixer_quirks.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer_quirks.c:	err = usb_control_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			      usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	list_for_each_entry(mixer, &chip->mixer_list, list) {
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:	iface = usb_ifnum_to_if(chip->dev, 1);
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0),
+sound/usb/mixer_quirks.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_quirks.c:			usb_sndctrlpipe(chip->dev, 0), HID_REQ_SET_REPORT,
+sound/usb/mixer_quirks.c:	snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0), UAC_SET_CUR,
+sound/usb/mixer_quirks.c:	struct usb_device *dev = chip->dev;
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:		snd_card_ro_proc_new(mixer->chip->card, "audigy2nx",
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_quirks.c:		mixer->rc_urb->dev = mixer->chip->dev;
+sound/usb/mixer_quirks.c:		if (mixer->chip->usb_id == USB_ID(0x041e, 0x3040) ||
+sound/usb/mixer_quirks.c:		    mixer->chip->usb_id == USB_ID(0x041e, 0x3048))
+sound/usb/mixer_quirks.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_scarlett.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_scarlett.c:				usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/mixer_scarlett.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_scarlett.c:	err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_scarlett.c:		usb_sndctrlpipe(mixer->chip->dev, 0), UAC2_CS_CUR,
+sound/usb/mixer_scarlett_gen2.c:	err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_scarlett_gen2.c:			usb_sndctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_scarlett_gen2.c:	err = snd_usb_ctl_msg(mixer->chip->dev,
+sound/usb/mixer_scarlett_gen2.c:			usb_sndctrlpipe(mixer->chip->dev, 0),
+sound/usb/mixer_scarlett_gen2.c:	snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_INFO,
+sound/usb/mixer_scarlett_gen2.c:	snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer_scarlett_gen2.c:		snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer_scarlett_gen2.c:		snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
+sound/usb/mixer_scarlett_gen2.c:		urb->dev = mixer->chip->dev;
+sound/usb/mixer_scarlett_gen2.c:	struct usb_device *dev = mixer->chip->dev;
+sound/usb/mixer_scarlett_gen2.c:	switch (mixer->chip->usb_id) {
+sound/usb/mixer_scarlett_gen2.c:	if (!(mixer->chip->setup & SCARLETT2_ENABLE)) {
+sound/usb/mixer_us16x08.c:	mutex_lock(&chip->mutex);
+sound/usb/mixer_us16x08.c:	snd_usb_ctl_msg(chip->dev,
+sound/usb/mixer_us16x08.c:		usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/mixer_us16x08.c:	mutex_unlock(&chip->mutex);
+sound/usb/mixer_us16x08.c:	return snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0),
+sound/usb/pcm.c:	if (atomic_read(&subs->stream->chip->shutdown))
+sound/usb/pcm.c:	struct usb_device *dev = chip->dev;
+sound/usb/pcm.c:	struct usb_device *dev = chip->dev;
+sound/usb/pcm.c:	switch (subs->stream->chip->usb_id) {
+sound/usb/pcm.c:	    USB_ID_VENDOR(subs->stream->chip->usb_id) == 0x0582 /* Roland */ &&
+sound/usb/pcm.c:		if (!subs->stream->chip->keep_iface) {
+sound/usb/pcm.c:	if (!as->chip->keep_iface &&
+sound/usb/power.c:	struct usb_device *dev = chip->dev;
+sound/usb/power.c:	err = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/power.c:	err = snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0), UAC2_CS_CUR,
+sound/usb/proc.c:	if (!atomic_read(&chip->shutdown))
+sound/usb/proc.c:		snd_iprintf(buffer, "%03d/%03d\n", chip->dev->bus->busnum, chip->dev->devnum);
+sound/usb/proc.c:	if (!atomic_read(&chip->shutdown))
+sound/usb/proc.c:			    USB_ID_VENDOR(chip->usb_id),
+sound/usb/proc.c:			    USB_ID_PRODUCT(chip->usb_id));
+sound/usb/proc.c:	snd_card_ro_proc_new(chip->card, "usbbus", chip,
+sound/usb/proc.c:	snd_card_ro_proc_new(chip->card, "usbid", chip,
+sound/usb/proc.c:	snd_iprintf(buffer, "%s : %s\n", stream->chip->card->longname, stream->pcm->name);
+sound/usb/proc.c:	struct snd_card *card = stream->chip->card;
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, quirk->ifnum);
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, quirk->ifnum);
+sound/usb/quirks.c:	chip->txfr_quirk = 1;
+sound/usb/quirks.c:	return snd_usbmidi_create(chip->card, intf, &chip->midi_list, quirk);
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x1686, 0x00dd)) /* Zoom R16/24 */
+sound/usb/quirks.c:		chip->tx_length_quirk = 1;
+sound/usb/quirks.c:	usb_set_interface(chip->dev, altsd->bInterfaceNumber, 0);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, fp->iface, 0);
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	ifcount = chip->dev->actconfig->desc.bNumInterfaces;
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, ifnum);
+sound/usb/quirks.c:			chip->usb_id == USB_ID(0x0582, 0x002b)
+sound/usb/quirks.c:		return __snd_usbmidi_create(chip->card, iface,
+sound/usb/quirks.c:					  &chip->midi_list, quirk,
+sound/usb/quirks.c:					  chip->usb_id);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, fp->iface, 0);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, iface, 0);
+sound/usb/quirks.c:	if (chip->setup & MAUDIO_SET) {
+sound/usb/quirks.c:		if (chip->setup & MAUDIO_SET_COMPATIBLE) {
+sound/usb/quirks.c:			if ((chip->setup & MAUDIO_SET_96K) && altno != 1)
+sound/usb/quirks.c:			mask = chip->setup & MAUDIO_SET_MASK;
+sound/usb/quirks.c:		    altno, iface, chip->setup);
+sound/usb/quirks.c:	usb_set_interface(chip->dev, iface, 0);
+sound/usb/quirks.c:	if (chip->setup & MAUDIO_SET) {
+sound/usb/quirks.c:		if ((chip->setup & MAUDIO_SET_DTS) && altno != 6)
+sound/usb/quirks.c:		if ((chip->setup & MAUDIO_SET_96K) && altno != 1)
+sound/usb/quirks.c:		mask = chip->setup & MAUDIO_SET_MASK;
+sound/usb/quirks.c:	usb_set_interface(chip->dev, iface, 0);
+sound/usb/quirks.c:	if (chip->setup & (MAUDIO_SET | MAUDIO_SET_24B)) {
+sound/usb/quirks.c:		if (chip->setup & MAUDIO_SET_96K) {
+sound/usb/quirks.c:		} else if (chip->setup & MAUDIO_SET_DI) {
+sound/usb/quirks.c:		    altno, iface, chip->setup);
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x0763, 0x2003))
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x0763, 0x2001))
+sound/usb/quirks.c:	if (chip->usb_id == USB_ID(0x0763, 0x2012))
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/quirks.c:		if (chip->setup == 0x00 ||
+sound/usb/quirks.c:	switch (subs->stream->chip->usb_id) {
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	if (is_itf_usb_dsd_dac(subs->stream->chip->usb_id)) {
+sound/usb/quirks.c:	if (USB_ID_VENDOR(ep->chip->usb_id) == 0x23ba &&
+sound/usb/quirks.c:	if ((ep->chip->usb_id == USB_ID(0x0763, 0x2030) ||
+sound/usb/quirks.c:	     ep->chip->usb_id == USB_ID(0x0763, 0x2031)) &&
+sound/usb/quirks.c:	if ((ep->chip->usb_id == USB_ID(0x0644, 0x8038) ||  /* TEAC UD-H01 */
+sound/usb/quirks.c:	     ep->chip->usb_id == USB_ID(0x1852, 0x5034)) && /* T+A Dac8 */
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	if (USB_ID_VENDOR(chip->usb_id) == 0x23ba &&
+sound/usb/quirks.c:	if (USB_ID_VENDOR(chip->usb_id) == 0x0644 &&
+sound/usb/quirks.c:	if (is_itf_usb_dsd_dac(chip->usb_id)
+sound/usb/quirks.c:	if ((chip->usb_id == USB_ID(0x1686, 0x00dd) ||
+sound/usb/quirks.c:	     chip->usb_id == USB_ID(0x046d, 0x0a46) ||
+sound/usb/quirks.c:	     chip->usb_id == USB_ID(0x0b0e, 0x0349)) &&
+sound/usb/quirks.c:	if (USB_ID_VENDOR(chip->usb_id) == 0x23ba &&
+sound/usb/quirks.c:	    USB_ID_PRODUCT(chip->usb_id) < 0x0110) {
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/quirks.c:			switch (le16_to_cpu(chip->dev->descriptor.bcdDevice)) {
+sound/usb/quirks.c:	if (is_itf_usb_dsd_dac(chip->usb_id)) {
+sound/usb/quirks.c:		iface = usb_ifnum_to_if(chip->dev, fp->iface);
+sound/usb/quirks.c:	switch (USB_ID_VENDOR(chip->usb_id)) {
+sound/usb/quirks.c:	switch (chip->usb_id) {
+sound/usb/stream.c:	subs->dev = as->chip->dev;
+sound/usb/stream.c:	subs->txfr_quirk = as->chip->txfr_quirk;
+sound/usb/stream.c:	subs->tx_length_quirk = as->chip->tx_length_quirk;
+sound/usb/stream.c:	list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/stream.c:	list_for_each_entry(as, &chip->pcm_list, list) {
+sound/usb/stream.c:	as->pcm_index = chip->pcm_devs;
+sound/usb/stream.c:	err = snd_pcm_new(chip->card, "USB Audio", chip->pcm_devs,
+sound/usb/stream.c:	if (chip->pcm_devs > 0)
+sound/usb/stream.c:		sprintf(pcm->name, "USB Audio #%d", chip->pcm_devs);
+sound/usb/stream.c:	if (chip->usb_id == USB_ID(0x0763, 0x2003))
+sound/usb/stream.c:		list_add(&as->list, &chip->pcm_list);
+sound/usb/stream.c:		list_add_tail(&as->list, &chip->pcm_list);
+sound/usb/stream.c:	chip->pcm_devs++;
+sound/usb/stream.c:	if (snd_usb_get_speed(chip->dev) == USB_SPEED_HIGH)
+sound/usb/stream.c:	struct usb_device *dev = chip->dev;
+sound/usb/stream.c:		iterm = snd_usb_find_input_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:		input_term = snd_usb_find_input_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:		output_term = snd_usb_find_output_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:	struct usb_device *dev = chip->dev;
+sound/usb/stream.c:	badd_profile = chip->badd_profile;
+sound/usb/stream.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/stream.c:			usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/stream.c:	err = snd_usb_ctl_msg(chip->dev,
+sound/usb/stream.c:			usb_rcvctrlpipe(chip->dev, 0),
+sound/usb/stream.c:	input_term = snd_usb_find_input_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:	output_term = snd_usb_find_output_terminal_descriptor(chip->ctrl_intf,
+sound/usb/stream.c:		pd = snd_usb_find_power_domain(chip->ctrl_intf,
+sound/usb/stream.c:	dev = chip->dev;
+sound/usb/stream.c:	if (chip->usb_id == USB_ID(0x04fa, 0x4201))
+sound/usb/stream.c:		if (USB_ID_VENDOR(chip->usb_id) == 0x0582 &&
+sound/usb/stream.c:		usb_set_interface(chip->dev, iface_no, altno);
+tools/perf/tests/parse-events.c:	TEST_ASSERT_VAL("wrong complex name parsing", strcmp(evsel->name, "COMPLEX_CYCLES_NAME:orig=cycles,desc=chip-clock-ticks") == 0);
+tools/perf/tests/parse-events.c:		.name  = "cycles/name='COMPLEX_CYCLES_NAME:orig=cycles,desc=chip-clock-ticks'/Duk",
+tools/perf/tests/parse-events.c:		.name  = "cpu/name='COMPLEX_CYCLES_NAME:orig=cycles,desc=chip-clock-ticks',period=0x1,event=0x2/ukp",
diff --git a/drivers/mtd/nand/raw/nand_micron.c b/drivers/mtd/nand/raw/nand_micron.c
index 56654030ec7f..986418f87227 100644
--- a/drivers/mtd/nand/raw/nand_micron.c
+++ b/drivers/mtd/nand/raw/nand_micron.c
@@ -36,6 +36,15 @@
 #define NAND_ECC_STATUS_1_3_CORRECTED	BIT(4)
 #define NAND_ECC_STATUS_7_8_CORRECTED	(BIT(4) | BIT(3))
 
+/*
+ * Micron SLC chips are subject to a shallow erase issue: if the first
+ * pages of a block have not enough bytes programmed, the internal
+ * machinery might declare the block empty and skip the actual erase
+ * operation. This is the number of pages we check by software.
+ */
+#define MICRON_SHALLOW_ERASE_MIN_PAGE 16
+#define MICRON_PAGE_MASK_TRIGGER GENMASK(MICRON_SHALLOW_ERASE_MIN_PAGE, 0)
+
 struct nand_onfi_vendor_micron {
 	u8 two_plane_read;
 	u8 read_cache;
@@ -64,6 +73,7 @@ struct micron_on_die_ecc {
 
 struct micron_nand {
 	struct micron_on_die_ecc ecc;
+	u16 *writtenp;
 };
 
 static int micron_nand_setup_read_retry(struct nand_chip *chip, int retry_mode)
@@ -429,6 +439,106 @@ static int micron_supports_on_die_ecc(struct nand_chip *chip)
 	return MICRON_ON_DIE_SUPPORTED;
 }
 
+static int micron_nand_avoid_shallow_erase(struct nand_chip *chip,
+					   unsigned int eb)
+{
+	struct micron_nand *micron = nand_get_manufacturer_data(chip);
+	unsigned int page = eb * nanddev_pages_per_eraseblock(&chip->base);
+	u8 *databuf = nand_get_data_buf(chip);
+	int ret, i;
+
+	memset(databuf, 0xFF, nanddev_page_size(&chip->base));
+
+	/* Micron advises to only write odd pages */
+	for (i = 0; i < MICRON_SHALLOW_ERASE_MIN_PAGE; i += 2, page += 2) {
+		if (!(micron->writtenp[eb] & BIT(i))) {
+			ret = nand_write_page_raw(chip, databuf, false, page);
+			if (ret)
+				return ret;
+		}
+	}
+
+	return 0;
+}
+
+static int micron_nand_erase(struct nand_chip *chip, struct erase_info *instr,
+			int allowbbt)
+{
+	struct micron_nand *micron = nand_get_manufacturer_data(chip);
+	unsigned int eb_sz = nanddev_eraseblock_size(&chip->base);
+	unsigned int first_eb = DIV_ROUND_DOWN_ULL(instr->addr, eb_sz);
+	unsigned int nb_eb = DIV_ROUND_UP_ULL(instr->len, eb_sz);
+	unsigned int eb;
+
+	if (!micron)
+		return -EINVAL;
+
+	/*
+	 * Check that enough pages have been written in each block.
+	 * If not, write them before actually erasing.
+	 */
+	for (eb = first_eb; eb < first_eb + nb_eb; eb++) {
+		/* Il all the first pages are not written yet, do it */
+		if (micron->writtenp[eb] != MICRON_PAGE_MASK_TRIGGER)
+			micron_nand_avoid_shallow_erase(chip, eb);
+
+		micron->writtenp[eb] = 0;
+	}
+
+	return nand_erase_nand(chip, instr, allowbbt);
+}
+static int micron_nand_write_oob(struct nand_chip *chip, loff_t to,
+				 struct mtd_oob_ops *ops)
+{
+	struct micron_nand *micron = nand_get_manufacturer_data(chip);
+	unsigned int eb_sz = nanddev_eraseblock_size(&chip->base);
+	unsigned int p_sz = nanddev_page_size(&chip->base);
+	unsigned int ppeb = nanddev_pages_per_eraseblock(&chip->base);
+	unsigned int nb_p_tot = ops->len / p_sz;
+	unsigned int first_eb = DIV_ROUND_DOWN_ULL(to, eb_sz);
+	unsigned int first_p = DIV_ROUND_UP_ULL(to - (first_eb * eb_sz), p_sz);
+	unsigned int nb_eb = DIV_ROUND_UP_ULL(first_p + nb_p_tot, ppeb);
+	unsigned int remaining_p, eb, nb_p;
+	int ret;
+
+	ret = nand_write_oob_nand(chip, to, ops);
+	if (ret || (ops->len != ops->retlen))
+		return ret;
+
+	/* Mark the last pages of the first erase block to write */
+	nb_p = min(nb_p_tot, ppeb - first_p);
+	micron->writtenp[first_eb] |= GENMASK(first_p + nb_p, first_p) &
+				      MICRON_PAGE_MASK_TRIGGER;
+	remaining_p = nb_p_tot - nb_p;
+
+	/* Mark all the pages of all "in-the-middle" erase blocks */
+	for (eb = first_eb + 1; eb < first_eb + nb_eb - 1; eb++) {
+		micron->writtenp[eb] |= MICRON_PAGE_MASK_TRIGGER;
+		remaining_p -= ppeb;
+	}
+
+	/* Mark the first pages of the last erase block to write */
+	if (remaining_p)
+		micron->writtenp[eb] |= GENMASK(remaining_p - 1, 0) &
+					MICRON_PAGE_MASK_TRIGGER;
+
+	return 0;
+}
+
+static bool micron_nand_with_shallow_erase_issue(struct nand_chip *chip)
+{
+	/*
+	 * The shallow erase issue has been observed with MT29F*G*A
+	 * parts but Micron suspects that the issue can happen with
+	 * almost all recent SLC but at such a low probability that it
+	 * is almost invisible. Nevertheless, as we mitigate the
+	 * performance penalty at runtime by following the number of
+	 * written pages in a block before erasing it, we may want to
+	 * enable this fix by default.
+	 */
+	return nand_is_slc(chip);
+}
+
 static int micron_nand_init(struct nand_chip *chip)
 {
 	struct mtd_info *mtd = nand_to_mtd(chip);
@@ -513,6 +623,17 @@ static int micron_nand_init(struct nand_chip *chip)
 		}
 	}
 
+	if (micron_nand_with_shallow_erase_issue(chip)) {
+		micron->writtenp = kzalloc(sizeof(u16) *
+					   nanddev_neraseblocks(&chip->base),
+					   GFP_KERNEL);
+		if (!micron->writtenp)
+			goto err_free_manuf_data;
+
+		chip->erase = micron_nand_erase;
+		chip->write_oob = micron_nand_write_oob;
+	}
+
 	return 0;
 
 err_free_manuf_data:
-- 
2.20.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2019-12-31 19:26 [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue Miquel Raynal
                   ` (2 preceding siblings ...)
  2019-12-31 19:26 ` [RFC PATCH 3/3] mtd: rawnand: micron: Address the shallow erase issue Miquel Raynal
@ 2020-01-02 18:41 ` Florian Fainelli
  2020-01-14  9:12   ` Miquel Raynal
  3 siblings, 1 reply; 14+ messages in thread
From: Florian Fainelli @ 2020-01-02 18:41 UTC (permalink / raw)
  To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Tudor Ambarus, linux-mtd
  Cc: Zoltan Szubbocsev, Thomas Petazzoni, Boris Brezillon, tglx,
	Piotr Wojtaszczyk, Bean Huo

On 12/31/19 11:26 AM, Miquel Raynal wrote:
> Hello,
> 
> After a first proposal by Thomas Gleixner and then another proposal by
> Bean Huo (Micron), this is an attempt to mainline the fix for Micron's
> "shallow erase" issue. IMHO this is a "pretty way", not so invasive,
> with a limited performance penalty.
> 
> It has only be *compile-tested* and this is just to know if the
> approach is fine or not, then I will optimize, maybe rewrite a bit and
> forcibly (ask to) test it.
> 
> Happy new year!
> Miquèl
> 
> 
> Miquel Raynal (3):
>   mtd: rawnand: Add the nand_chip->erase hook
>   mtd: rawnand: Add the nand_chip->write_oob hook
>   mtd: rawnand: micron: Address the shallow erase issue
> 
>  data_buf                           | 29099 +++++++++++++++++++++++++++
>  databuf                            | 29099 +++++++++++++++++++++++++++

Those two files above should probably not be part of the patch submission.
-- 
Florian

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-01-02 18:41 ` [RFC PATCH 0/3] Fix proposal for the Micron " Florian Fainelli
@ 2020-01-14  9:12   ` Miquel Raynal
  2020-01-14 20:46     ` Wojtaszczyk, Piotr
  0 siblings, 1 reply; 14+ messages in thread
From: Miquel Raynal @ 2020-01-14  9:12 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Vignesh Raghavendra, Tudor Ambarus, Richard Weinberger,
	Zoltan Szubbocsev, linux-mtd, Thomas Petazzoni, Boris Brezillon,
	tglx, Piotr Wojtaszczyk, Bean Huo

Hi Florian,

Florian Fainelli <f.fainelli@gmail.com> wrote on Thu, 2 Jan 2020
10:41:14 -0800:

> On 12/31/19 11:26 AM, Miquel Raynal wrote:
> > Hello,
> > 
> > After a first proposal by Thomas Gleixner and then another proposal by
> > Bean Huo (Micron), this is an attempt to mainline the fix for Micron's
> > "shallow erase" issue. IMHO this is a "pretty way", not so invasive,
> > with a limited performance penalty.
> > 
> > It has only be *compile-tested* and this is just to know if the
> > approach is fine or not, then I will optimize, maybe rewrite a bit and
> > forcibly (ask to) test it.
> > 
> > Happy new year!
> > Miquèl
> > 
> > 
> > Miquel Raynal (3):
> >   mtd: rawnand: Add the nand_chip->erase hook
> >   mtd: rawnand: Add the nand_chip->write_oob hook
> >   mtd: rawnand: micron: Address the shallow erase issue
> > 
> >  data_buf                           | 29099 +++++++++++++++++++++++++++
> >  databuf                            | 29099 +++++++++++++++++++++++++++  
> 
> Those two files above should probably not be part of the patch submission.

Crap. I'll not resend immediately as this is an RFC, I expect
feedback on this proposal before sending an actual patch.


Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-01-14  9:12   ` Miquel Raynal
@ 2020-01-14 20:46     ` Wojtaszczyk, Piotr
  2020-01-15  7:58       ` Boris Brezillon
  0 siblings, 1 reply; 14+ messages in thread
From: Wojtaszczyk, Piotr @ 2020-01-14 20:46 UTC (permalink / raw)
  To: Miquel Raynal, Florian Fainelli
  Cc: Vignesh Raghavendra, Tudor Ambarus, Richard Weinberger,
	Zoltan Szubbocsev, linux-mtd, Thomas Petazzoni, Boris Brezillon,
	tglx, Bean Huo

On 1/14/20 3:12 AM, Miquel Raynal wrote:
> Crap. I'll not resend immediately as this is an RFC, I expect
> feedback on this proposal before sending an actual patch.
> 
> 
> Thanks,
> Miquèl
> 

Hi Miquèl, here are some my comments:

+static int micron_nand_avoid_shallow_erase(struct nand_chip *chip,
+					   unsigned int eb)
+{
+	struct micron_nand *micron = nand_get_manufacturer_data(chip);
+	unsigned int page = eb * nanddev_pages_per_eraseblock(&chip->base);
+	u8 *databuf = nand_get_data_buf(chip);
+	int ret, i;
+
+	memset(databuf, 0xFF, nanddev_page_size(&chip->base));
+
+	/* Micron advises to only write odd pages */
+	for (i = 0; i < MICRON_SHALLOW_ERASE_MIN_PAGE; i += 2, page += 2) {
+		if (!(micron->writtenp[eb] & BIT(i))) {
+			ret = nand_write_page_raw(chip, databuf, false, page);
+			if (ret)
+				return ret;
+		}
+	}
+
+	return 0;
+}

Shouldn't we program only the OOB area of the pages to 0'es? Programming pages to 0xFF 
which are already 0xFF takes more time and doesn't make any difference.

Also after power loss all flags in micron->writtenp are gone so the 
micron_nand_avoid_shallow_erase will perform on all PEBs causing performance loss.

Instead we could check a flag in OOB area of first page of the PEB we are about to erase 
and clear the flag bit/bits when 16th page of the PEB gets programmed. Simmilar to bad 
block mark.

--
Peter W.
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-01-14 20:46     ` Wojtaszczyk, Piotr
@ 2020-01-15  7:58       ` Boris Brezillon
  2020-01-15  8:13         ` Miquel Raynal
  0 siblings, 1 reply; 14+ messages in thread
From: Boris Brezillon @ 2020-01-15  7:58 UTC (permalink / raw)
  To: Wojtaszczyk, Piotr
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Richard Weinberger, Zoltan Szubbocsev, linux-mtd,
	Thomas Petazzoni, Miquel Raynal, tglx, Bean Huo

On Tue, 14 Jan 2020 20:46:17 +0000
"Wojtaszczyk, Piotr" <WojtaszczykP@cumminsallison.com> wrote:

> On 1/14/20 3:12 AM, Miquel Raynal wrote:
> > Crap. I'll not resend immediately as this is an RFC, I expect
> > feedback on this proposal before sending an actual patch.
> > 
> > 
> > Thanks,
> > Miquèl
> >   
> 
> Hi Miquèl, here are some my comments:
> 
> +static int micron_nand_avoid_shallow_erase(struct nand_chip *chip,
> +					   unsigned int eb)
> +{
> +	struct micron_nand *micron = nand_get_manufacturer_data(chip);
> +	unsigned int page = eb * nanddev_pages_per_eraseblock(&chip->base);
> +	u8 *databuf = nand_get_data_buf(chip);
> +	int ret, i;
> +
> +	memset(databuf, 0xFF, nanddev_page_size(&chip->base));
> +
> +	/* Micron advises to only write odd pages */
> +	for (i = 0; i < MICRON_SHALLOW_ERASE_MIN_PAGE; i += 2, page += 2) {
> +		if (!(micron->writtenp[eb] & BIT(i))) {
> +			ret = nand_write_page_raw(chip, databuf, false, page);
> +			if (ret)
> +				return ret;
> +		}
> +	}
> +
> +	return 0;
> +}
> 
> Shouldn't we program only the OOB area of the pages to 0'es? Programming pages to 0xFF 
> which are already 0xFF takes more time and doesn't make any difference.

Hm, I'm pretty sure we should set in-band data to 0, not 0xff.
Programming only the OOB portion might not be enough for the internal
"is page written?" logic to return true.

> 
> Also after power loss all flags in micron->writtenp are gone so the 
> micron_nand_avoid_shallow_erase will perform on all PEBs causing performance loss.

Yes, that's a performance hit we'll have to accept for now.

> 
> Instead we could check a flag in OOB area of first page of the PEB we are about to erase 
> and clear the flag bit/bits when 16th page of the PEB gets programmed. Simmilar to bad 
> block mark.

Well, that doesn't work well because:

1/ programming a page that has already be programmed is not always
   allowed (you must have sub-page write support and the page must have
   been programmed less than the number of subpage writes)
2/ controller side ECCs are in the way, and we don't have a proper
   solution to describe unprotected OOB regions. Even if we had
   that in place, there might not even be such unprotected OOB left
   (some controllers protect/use the whole OOB area)

Note that the writes we do in micron_nand_avoid_shallow_erase() will
corrupt data present in those pages, but that shouldn't be a problem,
because we want to erase them anyway.

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-01-15  7:58       ` Boris Brezillon
@ 2020-01-15  8:13         ` Miquel Raynal
  2020-01-15 16:51           ` Wojtaszczyk, Piotr
  0 siblings, 1 reply; 14+ messages in thread
From: Miquel Raynal @ 2020-01-15  8:13 UTC (permalink / raw)
  To: Boris Brezillon
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Richard Weinberger, Zoltan Szubbocsev, linux-mtd,
	Thomas Petazzoni, tglx, Wojtaszczyk, Piotr, Bean Huo

Hi Boris,

Boris Brezillon <boris.brezillon@collabora.com> wrote on Wed, 15 Jan
2020 08:58:06 +0100:

> On Tue, 14 Jan 2020 20:46:17 +0000
> "Wojtaszczyk, Piotr" <WojtaszczykP@cumminsallison.com> wrote:
> 
> > On 1/14/20 3:12 AM, Miquel Raynal wrote:  
> > > Crap. I'll not resend immediately as this is an RFC, I expect
> > > feedback on this proposal before sending an actual patch.
> > > 
> > > 
> > > Thanks,
> > > Miquèl
> > >     
> > 
> > Hi Miquèl, here are some my comments:
> > 
> > +static int micron_nand_avoid_shallow_erase(struct nand_chip *chip,
> > +					   unsigned int eb)
> > +{
> > +	struct micron_nand *micron = nand_get_manufacturer_data(chip);
> > +	unsigned int page = eb * nanddev_pages_per_eraseblock(&chip->base);
> > +	u8 *databuf = nand_get_data_buf(chip);
> > +	int ret, i;
> > +
> > +	memset(databuf, 0xFF, nanddev_page_size(&chip->base));
> > +
> > +	/* Micron advises to only write odd pages */
> > +	for (i = 0; i < MICRON_SHALLOW_ERASE_MIN_PAGE; i += 2, page += 2) {
> > +		if (!(micron->writtenp[eb] & BIT(i))) {
> > +			ret = nand_write_page_raw(chip, databuf, false, page);
> > +			if (ret)
> > +				return ret;
> > +		}
> > +	}
> > +
> > +	return 0;
> > +}
> > 
> > Shouldn't we program only the OOB area of the pages to 0'es? Programming pages to 0xFF 
> > which are already 0xFF takes more time and doesn't make any difference.  
> 
> Hm, I'm pretty sure we should set in-band data to 0, not 0xff.
> Programming only the OOB portion might not be enough for the internal
> "is page written?" logic to return true.

Absolutely, this is a mistake, the idea is to program all cells (to 0).

> > Also after power loss all flags in micron->writtenp are gone so the 
> > micron_nand_avoid_shallow_erase will perform on all PEBs causing performance loss.  
> 
> Yes, that's a performance hit we'll have to accept for now.
> 

This is quite severe issue, this is the best idea we came with to
limit performance hits.

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-01-15  8:13         ` Miquel Raynal
@ 2020-01-15 16:51           ` Wojtaszczyk, Piotr
  2020-05-03 11:29             ` Miquel Raynal
  0 siblings, 1 reply; 14+ messages in thread
From: Wojtaszczyk, Piotr @ 2020-01-15 16:51 UTC (permalink / raw)
  To: Miquel Raynal, Boris Brezillon
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Richard Weinberger, Zoltan Szubbocsev, linux-mtd,
	Thomas Petazzoni, tglx, Bean Huo



On 1/15/20 2:13 AM, Miquel Raynal wrote:
> Hi Boris,
> 
> Boris Brezillon <boris.brezillon@collabora.com> wrote on Wed, 15 Jan
> 2020 08:58:06 +0100:
> 
>> On Tue, 14 Jan 2020 20:46:17 +0000
>> "Wojtaszczyk, Piotr" <WojtaszczykP@cumminsallison.com> wrote:
>>
>>> On 1/14/20 3:12 AM, Miquel Raynal wrote:
>>>> Crap. I'll not resend immediately as this is an RFC, I expect
>>>> feedback on this proposal before sending an actual patch.
>>>>
>>>>
>>>> Thanks,
>>>> Miquèl
>>>>      
>>>
>>> Hi Miquèl, here are some my comments:
>>>
>>> +static int micron_nand_avoid_shallow_erase(struct nand_chip *chip,
>>> +					   unsigned int eb)
>>> +{
>>> +	struct micron_nand *micron = nand_get_manufacturer_data(chip);
>>> +	unsigned int page = eb * nanddev_pages_per_eraseblock(&chip->base);
>>> +	u8 *databuf = nand_get_data_buf(chip);
>>> +	int ret, i;
>>> +
>>> +	memset(databuf, 0xFF, nanddev_page_size(&chip->base));
>>> +
>>> +	/* Micron advises to only write odd pages */
>>> +	for (i = 0; i < MICRON_SHALLOW_ERASE_MIN_PAGE; i += 2, page += 2) {
>>> +		if (!(micron->writtenp[eb] & BIT(i))) {
>>> +			ret = nand_write_page_raw(chip, databuf, false, page);
>>> +			if (ret)
>>> +				return ret;
>>> +		}
>>> +	}
>>> +
>>> +	return 0;
>>> +}
>>>
>>> Shouldn't we program only the OOB area of the pages to 0'es? Programming pages to 0xFF
>>> which are already 0xFF takes more time and doesn't make any difference.
>>
>> Hm, I'm pretty sure we should set in-band data to 0, not 0xff.
>> Programming only the OOB portion might not be enough for the internal
>> "is page written?" logic to return true.
> 
> Absolutely, this is a mistake, the idea is to program all cells (to 0).
> 
>>> Also after power loss all flags in micron->writtenp are gone so the
>>> micron_nand_avoid_shallow_erase will perform on all PEBs causing performance loss.
>>
>> Yes, that's a performance hit we'll have to accept for now.
>>
> 
> This is quite severe issue, this is the best idea we came with to
> limit performance hits.

This will be an issue on devices which restarts quite often, what if we read OOB of middle 
page of the block we are about to erase and if it has all 0xff the it means it is 
partially programmed and needs the quirk. It's reading 64/128 bytes (depending on NAND 
size) before every erase versus programming 8 pages on each PEB erase once per device restart.

Also I know by speaking with Micron that programming 0 in spare area is enough and 
actually we should program 8 even/odd pages starting from middle of PEB. In case PEB has 
64 pages we should program OOB of page 31,33,35,37,39,41,43,45 or 32,34,36,38,40,42,44,46
Can somebody from Micron confirm that?
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-01-15 16:51           ` Wojtaszczyk, Piotr
@ 2020-05-03 11:29             ` Miquel Raynal
  2020-05-04  8:08               ` [EXT] " Bean Huo (beanhuo)
  0 siblings, 1 reply; 14+ messages in thread
From: Miquel Raynal @ 2020-05-03 11:29 UTC (permalink / raw)
  To: Wojtaszczyk, Piotr, Bean Huo
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Zoltan Szubbocsev, Richard Weinberger, Boris Brezillon,
	linux-mtd, Thomas Petazzoni, tglx

Hi Bean,

There are two technical questions below that I would like you to answer.

> >>> Also after power loss all flags in micron->writtenp are gone so the
> >>> micron_nand_avoid_shallow_erase will perform on all PEBs causing performance loss.  
> >>
> >> Yes, that's a performance hit we'll have to accept for now.
> >>  
> > 
> > This is quite severe issue, this is the best idea we came with to
> > limit performance hits.  
> 
> This will be an issue on devices which restarts quite often, what if we read OOB of middle 
> page of the block we are about to erase and if it has all 0xff the it means it is 
> partially programmed and needs the quirk. It's reading 64/128 bytes (depending on NAND 
> size) before every erase versus programming 8 pages on each PEB erase once per device restart.
> 
> Also I know by speaking with Micron that programming 0 in spare area is enough and 
> actually we should program 8 even/odd pages starting from middle of PEB. In case PEB has 
> 64 pages we should program OOB of page 31,33,35,37,39,41,43,45 or 32,34,36,38,40,42,44,46
> Can somebody from Micron confirm that?

So the questions are:

1/ What should we write exactly:
    -> the main area
    -> the OOB area
    -> both
   ?

2/ Shall we prefer writing 8 even/odd pages starting from:
    -> the beginning of the
    -> the middle of the block
    -> we do not care
   ?

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [EXT] Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-05-03 11:29             ` Miquel Raynal
@ 2020-05-04  8:08               ` Bean Huo (beanhuo)
  2020-05-04  8:26                 ` Miquel Raynal
  0 siblings, 1 reply; 14+ messages in thread
From: Bean Huo (beanhuo) @ 2020-05-04  8:08 UTC (permalink / raw)
  To: Miquel Raynal, Wojtaszczyk, Piotr
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Zoltan Szubbocsev (zszubbocsev),
	Richard Weinberger, Boris Brezillon, linux-mtd, Thomas Petazzoni,
	tglx

> 
> So the questions are:
> 
> 1/ What should we write exactly:
>     -> the main area
>     -> the OOB area
>     -> both
>    ?

The Main area is ok.

> 
> 2/ Shall we prefer writing 8 even/odd pages starting from:
>     -> the beginning of the
>     -> the middle of the block
>     -> we do not care
>    ?
> 
Follow the sequence of block programming, from the lowest to the highest page address.
This is normal programming sequence.  the beginning of the block make sense.

> Thanks,
> Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [EXT] Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-05-04  8:08               ` [EXT] " Bean Huo (beanhuo)
@ 2020-05-04  8:26                 ` Miquel Raynal
  2020-05-06 15:36                   ` Bean Huo (beanhuo)
  0 siblings, 1 reply; 14+ messages in thread
From: Miquel Raynal @ 2020-05-04  8:26 UTC (permalink / raw)
  To: Bean Huo (beanhuo)
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Zoltan Szubbocsev (zszubbocsev),
	Richard Weinberger, Boris Brezillon, linux-mtd, Thomas Petazzoni,
	tglx, Wojtaszczyk, Piotr

Hi Bean,

"Bean Huo (beanhuo)" <beanhuo@micron.com> wrote on Mon, 4 May 2020
08:08:34 +0000:

> > 
> > So the questions are:
> > 
> > 1/ What should we write exactly:  
> >     -> the main area
> >     -> the OOB area
> >     -> both  
> >    ?  
> 
> The Main area is ok.
> 
> > 
> > 2/ Shall we prefer writing 8 even/odd pages starting from:  
> >     -> the beginning of the
> >     -> the middle of the block
> >     -> we do not care  
> >    ?
> >   
> Follow the sequence of block programming, from the lowest to the highest page address.
> This is normal programming sequence.  the beginning of the block make sense.

Thanks for answering! Any chance that you give us more details on the
series which are affected? 

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [EXT] Re: [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue
  2020-05-04  8:26                 ` Miquel Raynal
@ 2020-05-06 15:36                   ` Bean Huo (beanhuo)
  0 siblings, 0 replies; 14+ messages in thread
From: Bean Huo (beanhuo) @ 2020-05-06 15:36 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: Florian Fainelli, Vignesh Raghavendra, Tudor Ambarus,
	Zoltan Szubbocsev (zszubbocsev),
	Richard Weinberger, Steve deRosier, Boris Brezillon, linux-mtd,
	Thomas Petazzoni, tglx, Wojtaszczyk, Piotr

] Fix proposal for the Micron shallow
> erase issue
> 
> Hi Bean,
> 
> "Bean Huo (beanhuo)" <beanhuo@micron.com> wrote on Mon, 4 May 2020
> 08:08:34 +0000:
> 
> > >
> > > So the questions are:
> > >
> > > 1/ What should we write exactly:
> > >     -> the main area
> > >     -> the OOB area
> > >     -> both
> > >    ?
> >
> > The Main area is ok.
> >
> > >
> > > 2/ Shall we prefer writing 8 even/odd pages starting from:
> > >     -> the beginning of the
> > >     -> the middle of the block
> > >     -> we do not care
> > >    ?
> > >
> > Follow the sequence of block programming, from the lowest to the highest
> page address.
> > This is normal programming sequence.  the beginning of the block make sense.
> 
> Thanks for answering! Any chance that you give us more details on the series
> which are affected?
> 
> Thanks,
> Miquèl


Hi, Miquel


Micron recommends to fill at least 15 pages before executing an erase operation on all planar SLC NAND. In normal operation, a NANC block
will be erased when many pages have been written to it.

Claimed performance degradation:

My patch checks the number of pages that have been programmed on the NAND and in most cases before an erase operation is executed
the blocks will be fully programmed. In the very rare case when additional pages need to be written, there will be some additional time required,
however as erase operations are infrequently executed, the claimed performance hit is unfounded and is not supported by any data.
Please support claims by actual data.

We have developed a patch that fully addresses the issue and we will rebase it with the latest Linux release.

Thanks,

Bean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-05-06 15:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-31 19:26 [RFC PATCH 0/3] Fix proposal for the Micron shallow erase issue Miquel Raynal
2019-12-31 19:26 ` [RFC PATCH 1/3] mtd: rawnand: Add the nand_chip->erase hook Miquel Raynal
2019-12-31 19:26 ` [RFC PATCH 2/3] mtd: rawnand: Add the nand_chip->write_oob hook Miquel Raynal
2019-12-31 19:26 ` [RFC PATCH 3/3] mtd: rawnand: micron: Address the shallow erase issue Miquel Raynal
2020-01-02 18:41 ` [RFC PATCH 0/3] Fix proposal for the Micron " Florian Fainelli
2020-01-14  9:12   ` Miquel Raynal
2020-01-14 20:46     ` Wojtaszczyk, Piotr
2020-01-15  7:58       ` Boris Brezillon
2020-01-15  8:13         ` Miquel Raynal
2020-01-15 16:51           ` Wojtaszczyk, Piotr
2020-05-03 11:29             ` Miquel Raynal
2020-05-04  8:08               ` [EXT] " Bean Huo (beanhuo)
2020-05-04  8:26                 ` Miquel Raynal
2020-05-06 15:36                   ` Bean Huo (beanhuo)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).