Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Paul Burton:
"A few early MIPS fixes for 4.21:

- The Broadcom BCM63xx platform sees a fix for resetting the BCM6368
ethernet switch, and the removal of a platform device we've never
had a driver for.

- The Alchemy platform sees a few fixes for bitrot that occurred
within the past few cycles.

- We now enable vectored interrupt support for the MediaTek MT7620
SoC, which makes sense since they're supported by the SoC but in
this case also works around a bug relating to the location of
exception vectors when using a recent version of U-Boot.

- The atomic64_fetch_*_relaxed() family of functions see a fix for a
regression in MIPS64 kernels since v4.19.

- Cavium Octeon III CN7xxx systems will now disable their RGMII
interfaces rather than attempt to enable them & warn about the lack
of support for doing so, as they did since initial CN7xxx ethernet
support was added in v4.7.

- The Microsemi/Microchip MSCC SoCs gain a MAINTAINERS entry.

- .mailmap now provides consistency for Dengcheng Zhu's name &
current email address"

* tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
MIPS: OCTEON: mark RGMII interface disabled on OCTEON III
MIPS: Fix a R10000_LLSC_WAR logic in atomic.h
MIPS: BCM63XX: drop unused and broken DSP platform device
mailmap: Update name spelling and email for Dengcheng Zhu
MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8
MAINTAINERS: Add a maintainer for MSCC MIPS SoCs
MIPS: Alchemy: update dma masks for devboard devices
MIPS: Alchemy: update cpu-feature-overrides
MIPS: Alchemy: drop DB1000 IrDA support bits
MIPS: alchemy: cpu_all_mask is forbidden for clock event devices
MIPS: BCM63XX: fix switch core reset on BCM6368

+70 -188
+4 -1
.mailmap
··· 48 48 Damian Hobson-Garcia <dhobsong@igel.co.jp> 49 49 David Brownell <david-b@pacbell.net> 50 50 David Woodhouse <dwmw2@shinybook.infradead.org> 51 - Deng-Cheng Zhu <dengcheng.zhu@mips.com> <dengcheng.zhu@imgtec.com> 51 + Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com> 52 + Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com> 53 + Dengcheng Zhu <dzhu@wavecomp.com> <dczhu@mips.com> 54 + Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com> 52 55 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 53 56 Domen Puncer <domen@coderock.org> 54 57 Douglas Gilbert <dougg@torque.net>
+2 -1
MAINTAINERS
··· 10016 10016 10017 10017 MICROSEMI MIPS SOCS 10018 10018 M: Alexandre Belloni <alexandre.belloni@bootlin.com> 10019 + M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com> 10019 10020 L: linux-mips@vger.kernel.org 10020 - S: Maintained 10021 + S: Supported 10021 10022 F: arch/mips/generic/board-ocelot.c 10022 10023 F: arch/mips/configs/generic/board-ocelot.config 10023 10024 F: arch/mips/boot/dts/mscc/
+1 -1
arch/mips/alchemy/common/time.c
··· 81 81 .features = CLOCK_EVT_FEAT_ONESHOT, 82 82 .rating = 1500, 83 83 .set_next_event = au1x_rtcmatch2_set_next_event, 84 - .cpumask = cpu_all_mask, 84 + .cpumask = cpu_possible_mask, 85 85 }; 86 86 87 87 static struct irqaction au1x_rtcmatch2_irqaction = {
+11 -65
arch/mips/alchemy/devboards/db1000.c
··· 82 82 return -1; 83 83 } 84 84 85 + static u64 au1xxx_all_dmamask = DMA_BIT_MASK(32); 86 + 85 87 static struct resource alchemy_pci_host_res[] = { 86 88 [0] = { 87 89 .start = AU1500_PCI_PHYS_ADDR, ··· 122 120 } 123 121 }; 124 122 125 - static u64 au1100_lcd_dmamask = DMA_BIT_MASK(32); 126 - 127 123 static struct platform_device au1100_lcd_device = { 128 124 .name = "au1100-lcd", 129 125 .id = 0, 130 126 .dev = { 131 - .dma_mask = &au1100_lcd_dmamask, 127 + .dma_mask = &au1xxx_all_dmamask, 132 128 .coherent_dma_mask = DMA_BIT_MASK(32), 133 129 }, 134 130 .num_resources = ARRAY_SIZE(au1100_lcd_resources), ··· 170 170 171 171 static struct platform_device db1x00_audio_dev = { 172 172 .name = "db1000-audio", 173 + .dev = { 174 + .dma_mask = &au1xxx_all_dmamask, 175 + .coherent_dma_mask = DMA_BIT_MASK(32), 176 + }, 173 177 }; 174 178 175 179 /******************************************************************************/ ··· 342 338 } 343 339 }; 344 340 345 - static u64 au1xxx_mmc_dmamask = DMA_BIT_MASK(32); 346 - 347 341 static struct platform_device db1100_mmc0_dev = { 348 342 .name = "au1xxx-mmc", 349 343 .id = 0, 350 344 .dev = { 351 - .dma_mask = &au1xxx_mmc_dmamask, 345 + .dma_mask = &au1xxx_all_dmamask, 352 346 .coherent_dma_mask = DMA_BIT_MASK(32), 353 347 .platform_data = &db1100_mmc_platdata[0], 354 348 }, ··· 381 379 .name = "au1xxx-mmc", 382 380 .id = 1, 383 381 .dev = { 384 - .dma_mask = &au1xxx_mmc_dmamask, 382 + .dma_mask = &au1xxx_all_dmamask, 385 383 .coherent_dma_mask = DMA_BIT_MASK(32), 386 384 .platform_data = &db1100_mmc_platdata[1], 387 385 }, 388 386 .num_resources = ARRAY_SIZE(au1100_mmc1_res), 389 387 .resource = au1100_mmc1_res, 390 - }; 391 - 392 - /******************************************************************************/ 393 - 394 - static void db1000_irda_set_phy_mode(int mode) 395 - { 396 - unsigned short mask = BCSR_RESETS_IRDA_MODE_MASK | BCSR_RESETS_FIR_SEL; 397 - 398 - switch (mode) { 399 - case AU1000_IRDA_PHY_MODE_OFF: 400 - bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_OFF); 401 - break; 402 - case AU1000_IRDA_PHY_MODE_SIR: 403 - bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL); 404 - break; 405 - case AU1000_IRDA_PHY_MODE_FIR: 406 - bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL | 407 - BCSR_RESETS_FIR_SEL); 408 - break; 409 - } 410 - } 411 - 412 - static struct au1k_irda_platform_data db1000_irda_platdata = { 413 - .set_phy_mode = db1000_irda_set_phy_mode, 414 - }; 415 - 416 - static struct resource au1000_irda_res[] = { 417 - [0] = { 418 - .start = AU1000_IRDA_PHYS_ADDR, 419 - .end = AU1000_IRDA_PHYS_ADDR + 0x0fff, 420 - .flags = IORESOURCE_MEM, 421 - }, 422 - [1] = { 423 - .start = AU1000_IRDA_TX_INT, 424 - .end = AU1000_IRDA_TX_INT, 425 - .flags = IORESOURCE_IRQ, 426 - }, 427 - [2] = { 428 - .start = AU1000_IRDA_RX_INT, 429 - .end = AU1000_IRDA_RX_INT, 430 - .flags = IORESOURCE_IRQ, 431 - }, 432 - }; 433 - 434 - static struct platform_device db1000_irda_dev = { 435 - .name = "au1000-irda", 436 - .id = -1, 437 - .dev = { 438 - .platform_data = &db1000_irda_platdata, 439 - }, 440 - .resource = au1000_irda_res, 441 - .num_resources = ARRAY_SIZE(au1000_irda_res), 442 388 }; 443 389 444 390 /******************************************************************************/ ··· 418 468 .id = 0, 419 469 .dev = { 420 470 .platform_data = &db1100_spictl_pd, 471 + .dma_mask = &au1xxx_all_dmamask, 472 + .coherent_dma_mask = DMA_BIT_MASK(32), 421 473 }, 422 474 }; 423 475 ··· 449 497 &db1x00_audio_dev, 450 498 }; 451 499 452 - static struct platform_device *db1000_devs[] = { 453 - &db1000_irda_dev, 454 - }; 455 - 456 500 static struct platform_device *db1100_devs[] = { 457 501 &au1100_lcd_device, 458 502 &db1100_mmc0_dev, 459 503 &db1100_mmc1_dev, 460 - &db1000_irda_dev, 461 504 }; 462 505 463 506 int __init db1000_dev_setup(void) ··· 512 565 d1 = 3; /* GPIO number, NOT irq! */ 513 566 s0 = AU1000_GPIO1_INT; 514 567 s1 = AU1000_GPIO4_INT; 515 - platform_add_devices(db1000_devs, ARRAY_SIZE(db1000_devs)); 516 568 } else if ((board == BCSR_WHOAMI_PB1500) || 517 569 (board == BCSR_WHOAMI_PB1500R2)) { 518 570 c0 = AU1500_GPIO203_INT;
+11 -13
arch/mips/alchemy/devboards/db1200.c
··· 153 153 154 154 /******************************************************************************/ 155 155 156 + static u64 au1200_all_dmamask = DMA_BIT_MASK(32); 157 + 156 158 static struct mtd_partition db1200_spiflash_parts[] = { 157 159 { 158 160 .name = "spi_flash", ··· 326 324 }, 327 325 }; 328 326 329 - static u64 au1200_ide_dmamask = DMA_BIT_MASK(32); 330 - 331 327 static struct platform_device db1200_ide_dev = { 332 328 .name = "pata_platform", 333 329 .id = 0, 334 330 .dev = { 335 - .dma_mask = &au1200_ide_dmamask, 331 + .dma_mask = &au1200_all_dmamask, 336 332 .coherent_dma_mask = DMA_BIT_MASK(32), 337 333 .platform_data = &db1200_ide_info, 338 334 }, ··· 566 566 } 567 567 }; 568 568 569 - static u64 au1xxx_mmc_dmamask = DMA_BIT_MASK(32); 570 - 571 569 static struct platform_device db1200_mmc0_dev = { 572 570 .name = "au1xxx-mmc", 573 571 .id = 0, 574 572 .dev = { 575 - .dma_mask = &au1xxx_mmc_dmamask, 573 + .dma_mask = &au1200_all_dmamask, 576 574 .coherent_dma_mask = DMA_BIT_MASK(32), 577 575 .platform_data = &db1200_mmc_platdata[0], 578 576 }, ··· 605 607 .name = "au1xxx-mmc", 606 608 .id = 1, 607 609 .dev = { 608 - .dma_mask = &au1xxx_mmc_dmamask, 610 + .dma_mask = &au1200_all_dmamask, 609 611 .coherent_dma_mask = DMA_BIT_MASK(32), 610 612 .platform_data = &db1200_mmc_platdata[1], 611 613 }, ··· 655 657 } 656 658 }; 657 659 658 - static u64 au1200_lcd_dmamask = DMA_BIT_MASK(32); 659 - 660 660 static struct platform_device au1200_lcd_dev = { 661 661 .name = "au1200-lcd", 662 662 .id = 0, 663 663 .dev = { 664 - .dma_mask = &au1200_lcd_dmamask, 664 + .dma_mask = &au1200_all_dmamask, 665 665 .coherent_dma_mask = DMA_BIT_MASK(32), 666 666 .platform_data = &db1200fb_pd, 667 667 }, ··· 713 717 .activate_cs = db1200_spi_cs_en, 714 718 }; 715 719 716 - static u64 spi_dmamask = DMA_BIT_MASK(32); 717 - 718 720 static struct platform_device db1200_spi_dev = { 719 721 .dev = { 720 - .dma_mask = &spi_dmamask, 722 + .dma_mask = &au1200_all_dmamask, 721 723 .coherent_dma_mask = DMA_BIT_MASK(32), 722 724 .platform_data = &db1200_spi_platdata, 723 725 }, ··· 760 766 static struct platform_device db1200_sound_dev = { 761 767 /* name assigned later based on switch setting */ 762 768 .id = 1, /* PSC ID */ 769 + .dev = { 770 + .dma_mask = &au1200_all_dmamask, 771 + .coherent_dma_mask = DMA_BIT_MASK(32), 772 + }, 763 773 }; 764 774 765 775 static struct platform_device db1200_stac_dev = {
+19 -4
arch/mips/alchemy/devboards/db1300.c
··· 148 148 149 149 /**********************************************************************/ 150 150 151 + static u64 au1300_all_dmamask = DMA_BIT_MASK(32); 152 + 151 153 static void au1300_nand_cmd_ctrl(struct nand_chip *this, int cmd, 152 154 unsigned int ctrl) 153 155 { ··· 440 438 441 439 static struct platform_device db1300_ide_dev = { 442 440 .dev = { 441 + .dma_mask = &au1300_all_dmamask, 442 + .coherent_dma_mask = DMA_BIT_MASK(32), 443 443 .platform_data = &db1300_ide_info, 444 444 }, 445 445 .name = "pata_platform", ··· 564 560 565 561 static struct platform_device db1300_sd1_dev = { 566 562 .dev = { 567 - .platform_data = &db1300_sd1_platdata, 563 + .dma_mask = &au1300_all_dmamask, 564 + .coherent_dma_mask = DMA_BIT_MASK(32), 565 + .platform_data = &db1300_sd1_platdata, 568 566 }, 569 567 .name = "au1xxx-mmc", 570 568 .id = 1, ··· 631 625 632 626 static struct platform_device db1300_sd0_dev = { 633 627 .dev = { 634 - .platform_data = &db1300_sd0_platdata, 628 + .dma_mask = &au1300_all_dmamask, 629 + .coherent_dma_mask = DMA_BIT_MASK(32), 630 + .platform_data = &db1300_sd0_platdata, 635 631 }, 636 632 .name = "au1xxx-mmc", 637 633 .id = 0, ··· 660 652 661 653 static struct platform_device db1300_sndac97_dev = { 662 654 .name = "db1300-ac97", 655 + .dev = { 656 + .dma_mask = &au1300_all_dmamask, 657 + .coherent_dma_mask = DMA_BIT_MASK(32), 658 + }, 663 659 }; 664 660 665 661 static struct platform_device db1300_sndi2s_dev = { 666 662 .name = "db1300-i2s", 663 + .dev = { 664 + .dma_mask = &au1300_all_dmamask, 665 + .coherent_dma_mask = DMA_BIT_MASK(32), 666 + }, 667 667 }; 668 668 669 669 /**********************************************************************/ ··· 716 700 } 717 701 }; 718 702 719 - static u64 au1300_lcd_dmamask = DMA_BIT_MASK(32); 720 703 721 704 static struct platform_device db1300_lcd_dev = { 722 705 .name = "au1200-lcd", 723 706 .id = 0, 724 707 .dev = { 725 - .dma_mask = &au1300_lcd_dmamask, 708 + .dma_mask = &au1300_all_dmamask, 726 709 .coherent_dma_mask = DMA_BIT_MASK(32), 727 710 .platform_data = &db1300fb_pd, 728 711 },
+11 -2
arch/mips/alchemy/devboards/db1550.c
··· 82 82 83 83 /*****************************************************************************/ 84 84 85 + static u64 au1550_all_dmamask = DMA_BIT_MASK(32); 86 + 85 87 static struct mtd_partition db1550_spiflash_parts[] = { 86 88 { 87 89 .name = "spi_flash", ··· 271 269 .activate_cs = db1550_spi_cs_en, 272 270 }; 273 271 274 - static u64 spi_dmamask = DMA_BIT_MASK(32); 275 272 276 273 static struct platform_device db1550_spi_dev = { 277 274 .dev = { 278 - .dma_mask = &spi_dmamask, 275 + .dma_mask = &au1550_all_dmamask, 279 276 .coherent_dma_mask = DMA_BIT_MASK(32), 280 277 .platform_data = &db1550_spi_platdata, 281 278 }, ··· 398 397 399 398 static struct platform_device db1550_sndac97_dev = { 400 399 .name = "db1550-ac97", 400 + .dev = { 401 + .dma_mask = &au1550_all_dmamask, 402 + .coherent_dma_mask = DMA_BIT_MASK(32), 403 + }, 401 404 }; 402 405 403 406 static struct platform_device db1550_sndi2s_dev = { 404 407 .name = "db1550-i2s", 408 + .dev = { 409 + .dma_mask = &au1550_all_dmamask, 410 + .coherent_dma_mask = DMA_BIT_MASK(32), 411 + }, 405 412 }; 406 413 407 414 /**********************************************************************/
+3 -3
arch/mips/bcm63xx/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \ 3 - setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \ 4 - dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \ 5 - dev-wdt.o dev-usb-usbd.o 3 + setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \ 4 + dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \ 5 + dev-usb-usbd.o 6 6 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 7 7 8 8 obj-y += boards/
-20
arch/mips/bcm63xx/boards/board_bcm963xx.c
··· 23 23 #include <bcm63xx_nvram.h> 24 24 #include <bcm63xx_dev_pci.h> 25 25 #include <bcm63xx_dev_enet.h> 26 - #include <bcm63xx_dev_dsp.h> 27 26 #include <bcm63xx_dev_flash.h> 28 27 #include <bcm63xx_dev_hsspi.h> 29 28 #include <bcm63xx_dev_pcmcia.h> ··· 288 289 .has_pccard = 1, 289 290 .has_ehci0 = 1, 290 291 291 - .has_dsp = 1, 292 - .dsp = { 293 - .gpio_rst = 6, 294 - .gpio_int = 34, 295 - .cs = 2, 296 - .ext_irq = 2, 297 - }, 298 - 299 292 .leds = { 300 293 { 301 294 .name = "adsl-fail", ··· 391 400 }, 392 401 393 402 .has_ohci0 = 1, 394 - 395 - .has_dsp = 1, 396 - .dsp = { 397 - .gpio_rst = 6, 398 - .gpio_int = 34, 399 - .ext_irq = 2, 400 - .cs = 2, 401 - }, 402 403 403 404 .leds = { 404 405 { ··· 880 897 881 898 if (board.has_usbd) 882 899 bcm63xx_usbd_register(&board.usbd); 883 - 884 - if (board.has_dsp) 885 - bcm63xx_dsp_register(&board.dsp); 886 900 887 901 /* Generate MAC address for WLAN and register our SPROM, 888 902 * do this after registering enet devices
-56
arch/mips/bcm63xx/dev-dsp.c
··· 1 - /* 2 - * Broadcom BCM63xx VoIP DSP registration 3 - * 4 - * This file is subject to the terms and conditions of the GNU General Public 5 - * License. See the file "COPYING" in the main directory of this archive 6 - * for more details. 7 - * 8 - * Copyright (C) 2009 Florian Fainelli <florian@openwrt.org> 9 - */ 10 - 11 - #include <linux/init.h> 12 - #include <linux/kernel.h> 13 - #include <linux/platform_device.h> 14 - 15 - #include <bcm63xx_cpu.h> 16 - #include <bcm63xx_dev_dsp.h> 17 - #include <bcm63xx_regs.h> 18 - #include <bcm63xx_io.h> 19 - 20 - static struct resource voip_dsp_resources[] = { 21 - { 22 - .start = -1, /* filled at runtime */ 23 - .end = -1, /* filled at runtime */ 24 - .flags = IORESOURCE_MEM, 25 - }, 26 - { 27 - .start = -1, /* filled at runtime */ 28 - .flags = IORESOURCE_IRQ, 29 - }, 30 - }; 31 - 32 - static struct platform_device bcm63xx_voip_dsp_device = { 33 - .name = "bcm63xx-voip-dsp", 34 - .id = -1, 35 - .num_resources = ARRAY_SIZE(voip_dsp_resources), 36 - .resource = voip_dsp_resources, 37 - }; 38 - 39 - int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd) 40 - { 41 - struct bcm63xx_dsp_platform_data *dpd; 42 - u32 val; 43 - 44 - /* Get the memory window */ 45 - val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1)); 46 - val &= MPI_CSBASE_BASE_MASK; 47 - voip_dsp_resources[0].start = val; 48 - voip_dsp_resources[0].end = val + 0xFFFFFFF; 49 - voip_dsp_resources[1].start = pd->ext_irq; 50 - 51 - /* copy given platform data */ 52 - dpd = bcm63xx_voip_dsp_device.dev.platform_data; 53 - memcpy(dpd, pd, sizeof (*pd)); 54 - 55 - return platform_device_register(&bcm63xx_voip_dsp_device); 56 - }
+1 -1
arch/mips/bcm63xx/reset.c
··· 120 120 #define BCM6368_RESET_DSL 0 121 121 #define BCM6368_RESET_SAR SOFTRESET_6368_SAR_MASK 122 122 #define BCM6368_RESET_EPHY SOFTRESET_6368_EPHY_MASK 123 - #define BCM6368_RESET_ENETSW 0 123 + #define BCM6368_RESET_ENETSW SOFTRESET_6368_ENETSW_MASK 124 124 #define BCM6368_RESET_PCM SOFTRESET_6368_PCM_MASK 125 125 #define BCM6368_RESET_MPI SOFTRESET_6368_MPI_MASK 126 126 #define BCM6368_RESET_PCIE 0
+2 -1
arch/mips/cavium-octeon/executive/cvmx-helper.c
··· 266 266 case 3: 267 267 return CVMX_HELPER_INTERFACE_MODE_LOOP; 268 268 case 4: 269 - return CVMX_HELPER_INTERFACE_MODE_RGMII; 269 + /* TODO: Implement support for AGL (RGMII). */ 270 + return CVMX_HELPER_INTERFACE_MODE_DISABLED; 270 271 default: 271 272 return CVMX_HELPER_INTERFACE_MODE_DISABLED; 272 273 }
+1 -1
arch/mips/include/asm/atomic.h
··· 313 313 { \ 314 314 long result; \ 315 315 \ 316 - if (kernel_uses_llsc && R10000_LLSC_WAR) { \ 316 + if (kernel_uses_llsc) { \ 317 317 long temp; \ 318 318 \ 319 319 __asm__ __volatile__( \
+3
arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h
··· 75 75 #define cpu_dcache_line_size() 32 76 76 #define cpu_icache_line_size() 32 77 77 #define cpu_scache_line_size() 0 78 + #define cpu_tcache_line_size() 0 78 79 79 80 #define cpu_has_perf_cntr_intr_bit 0 80 81 #define cpu_has_vz 0 81 82 #define cpu_has_msa 0 83 + #define cpu_has_ufr 0 82 84 #define cpu_has_fre 0 83 85 #define cpu_has_cdmm 0 84 86 #define cpu_has_small_pages 0 ··· 90 88 #define cpu_has_badinstr 0 91 89 #define cpu_has_badinstrp 0 92 90 #define cpu_has_contextconfig 0 91 + #define cpu_has_perf 0 93 92 94 93 #endif /* __ASM_MACH_AU1X00_CPU_FEATURE_OVERRIDES_H */
-14
arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0 */ 2 - #ifndef __BCM63XX_DSP_H 3 - #define __BCM63XX_DSP_H 4 - 5 - struct bcm63xx_dsp_platform_data { 6 - unsigned gpio_rst; 7 - unsigned gpio_int; 8 - unsigned cs; 9 - unsigned ext_irq; 10 - }; 11 - 12 - int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd); 13 - 14 - #endif /* __BCM63XX_DSP_H */
-5
arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
··· 7 7 #include <linux/leds.h> 8 8 #include <bcm63xx_dev_enet.h> 9 9 #include <bcm63xx_dev_usb_usbd.h> 10 - #include <bcm63xx_dev_dsp.h> 11 10 12 11 /* 13 12 * flash mapping ··· 30 31 unsigned int has_ohci0:1; 31 32 unsigned int has_ehci0:1; 32 33 unsigned int has_usbd:1; 33 - unsigned int has_dsp:1; 34 34 unsigned int has_uart0:1; 35 35 unsigned int has_uart1:1; 36 36 ··· 40 42 41 43 /* USB config */ 42 44 struct bcm63xx_usbd_platform_data usbd; 43 - 44 - /* DSP config */ 45 - struct bcm63xx_dsp_platform_data dsp; 46 45 47 46 /* GPIO LEDs */ 48 47 struct gpio_led leds[5];
+1
arch/mips/ralink/Kconfig
··· 38 38 39 39 config SOC_MT7620 40 40 bool "MT7620/8" 41 + select CPU_MIPSR2_IRQ_VI 41 42 select HAVE_PCI 42 43 43 44 config SOC_MT7621