tree: git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head: e6555e61902cd6328e73fd3d7544ce6d03e51a26
commit: 4ab7d004f9ff2e877caa267887360e1804b4edcf [1493/1581] ASoC: AMD: enable
ACP3x drivers build
config: openrisc-allyesconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental)
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 4ab7d004f9ff2e877caa267887360e1804b4edcf
# save the attached .config to linux build tree
make.cross ARCH=openrisc
All errors (new ones prefixed by >>):
sound/soc/amd/raven/pci-acp3x.c: In function 'snd_acp3x_probe':
sound/soc/amd/raven/pci-acp3x.c:58:8: error: implicit declaration of
function 'pci_enable_msi' [-Werror=implicit-function-declaration]
ret = pci_enable_msi(pci);
^~~~~~~~~~~~~~
sound/soc/amd/raven/pci-acp3x.c:122:2: error: implicit declaration of
function 'pci_disable_msi' [-Werror=implicit-function-declaration]
pci_disable_msi(pci);
^~~~~~~~~~~~~~~
sound/soc/amd/raven/pci-acp3x.c: At top level:
sound/soc/amd/raven/pci-acp3x.c:159:1: warning: data definition has no type
or storage class
module_pci_driver(acp3x_driver);
^~~~~~~~~~~~~~~~~
>> sound/soc/amd/raven/pci-acp3x.c:159:1: error: type defaults to 'int' in
>> declaration of 'module_pci_driver' [-Werror=implicit-int]
sound/soc/amd/raven/pci-acp3x.c:159:1: warning: parameter names (without
types) in function declaration
sound/soc/amd/raven/pci-acp3x.c:152:26: warning: 'acp3x_driver' defined but
not used [-Wunused-variable]
static struct pci_driver acp3x_driver = {
^~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +159 sound/soc/amd/raven/pci-acp3x.c
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 29
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 30 static int
snd_acp3x_probe(struct pci_dev *pci,
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 31
const struct pci_device_id *pci_id)
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 32 {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 33 int ret;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 34 u32 addr, val;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 35 struct
acp3x_dev_data *adata;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 36 struct
platform_device_info pdevinfo;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 37 unsigned int
irqflags;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 38
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 39 if
(pci_enable_device(pci)) {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 40
dev_err(&pci->dev, "pci_enable_device failed\n");
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 41 return
-ENODEV;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 42 }
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 43
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 44 ret =
pci_request_regions(pci, "AMD ACP3x audio");
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 45 if (ret < 0) {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 46
dev_err(&pci->dev, "pci_request_regions failed\n");
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 47 goto
disable_pci;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 48 }
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 49
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 50 adata =
devm_kzalloc(&pci->dev, sizeof(struct acp3x_dev_data),
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 51
GFP_KERNEL);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 52 if (adata ==
NULL) {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 53 ret =
-ENOMEM;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 54 goto
release_regions;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 55 }
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 56
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 57 /* check for
msi interrupt support */
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 58 ret =
pci_enable_msi(pci);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 59 if (ret)
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 60 /* msi
is not enabled */
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 61
irqflags = IRQF_SHARED;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 62 else
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 63 /* msi
is enabled */
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 64
irqflags = 0;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 65
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 66 addr =
pci_resource_start(pci, 0);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 67
adata->acp3x_base = ioremap(addr, pci_resource_len(pci, 0));
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 68 if
(adata->acp3x_base == NULL) {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 69 ret =
-ENOMEM;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 70 goto
release_regions;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 71 }
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 72
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 73
pci_set_drvdata(pci, adata);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 74
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 75 val =
rv_readl(adata->acp3x_base + mmACP_I2S_PIN_CONFIG);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 76 if (val == 0x4)
{
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 77
adata->res = devm_kzalloc(&pci->dev,
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 78
sizeof(struct resource) * 2,
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 79
GFP_KERNEL);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 80 if
(adata->res == NULL) {
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 81
ret = -ENOMEM;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 82
goto unmap_mmio;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 83 }
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 84
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 85
adata->res[0].name = "acp3x_i2s_iomem";
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 86
adata->res[0].flags = IORESOURCE_MEM;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 87
adata->res[0].start = addr;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 88
adata->res[0].end = addr + (ACP3x_REG_END - ACP3x_REG_START);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 89
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 90
adata->res[1].name = "acp3x_i2s_irq";
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 91
adata->res[1].flags = IORESOURCE_IRQ;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 92
adata->res[1].start = pci->irq;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 93
adata->res[1].end = pci->irq;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 94
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 95
adata->acp3x_audio_mode = ACP3x_I2S_MODE;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 96
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 97
memset(&pdevinfo, 0, sizeof(pdevinfo));
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 98
pdevinfo.name = "acp3x_rv_i2s";
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 99
pdevinfo.id = 0;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 100
pdevinfo.parent = &pci->dev;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 101
pdevinfo.num_res = 2;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 102
pdevinfo.res = adata->res;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 103
pdevinfo.data = &irqflags;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 104
pdevinfo.size_data = sizeof(irqflags);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 105
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 106
adata->pdev = platform_device_register_full(&pdevinfo);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 107 if
(adata->pdev == NULL) {
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 108
dev_err(&pci->dev, "cannot register %s device\n",
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 109
pdevinfo.name);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 110
ret = -ENODEV;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 111
goto unmap_mmio;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 112 }
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 113 } else {
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 114
dev_err(&pci->dev, "Inavlid ACP audio mode : %d\n", val);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 115 ret =
-ENODEV;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 116 goto
unmap_mmio;
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 117 }
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 118
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 119 return 0;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 120
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 121 unmap_mmio:
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 @122
pci_disable_msi(pci);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 123
iounmap(adata->acp3x_base);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 124 release_regions:
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 125
pci_release_regions(pci);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 126 disable_pci:
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 127
pci_disable_device(pci);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 128
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 129 return ret;
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 130 }
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 131
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 132 static void
snd_acp3x_remove(struct pci_dev *pci)
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 133 {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 134 struct
acp3x_dev_data *adata = pci_get_drvdata(pci);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 135
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 136
platform_device_unregister(adata->pdev);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 137
iounmap(adata->acp3x_base);
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 138
0d43cf402 Maruthi Srinivas Bayyavarapu 2017-03-29 139
pci_disable_msi(pci);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 140
pci_release_regions(pci);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 141
pci_disable_device(pci);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 142 }
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 143
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 144 static const struct
pci_device_id snd_acp3x_ids[] = {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 145 {
PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x15e2),
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 146 .class =
PCI_CLASS_MULTIMEDIA_OTHER << 8,
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 147 .class_mask =
0xffffff },
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 148 { 0, },
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 149 };
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 150
MODULE_DEVICE_TABLE(pci, snd_acp3x_ids);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 151
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 152 static struct
pci_driver acp3x_driver = {
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 153 .name =
KBUILD_MODNAME,
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 154 .id_table =
snd_acp3x_ids,
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 155 .probe =
snd_acp3x_probe,
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 156 .remove =
snd_acp3x_remove,
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 157 };
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 158
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 @159
module_pci_driver(acp3x_driver);
565217284 Maruthi Srinivas Bayyavarapu 2017-03-27 160
:::::: The code at line 159 was first introduced by commit
:::::: 5652172846eb1a9cc251e5b9341e70c15357b02a ASoC: AMD: add ACP3.0 PCI driver
:::::: TO: Maruthi Srinivas Bayyavarapu <[email protected]>
:::::: CC: Alex Deucher <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
