kernelconfig_penguin

is selected by
CONFIG_LATTICE_ECP3_CONFIG
CONFIG_EEPROM_AT25
CONFIG_EEPROM_93XX46
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI
CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI
CONFIG_NET_DSA_SJA1105
CONFIG_NET_DSA_VITESSE_VSC73XX_SPI
CONFIG_KS8851
CONFIG_ENC28J60
CONFIG_IEEE802154_AT86RF230
CONFIG_IEEE802154_MRF24J40
CONFIG_KEYBOARD_APPLESPI
CONFIG_JOYSTICK_PSXPAD_SPI
CONFIG_SERIAL_MAX3100
CONFIG_TCG_TIS_SPI
CONFIG_TCG_TIS_ST33ZP24_SPI
CONFIG_SPI_ATH79
CONFIG_SPI_AU1550
CONFIG_SPI_BUTTERFLY
CONFIG_SPI_DAVINCI
CONFIG_SPI_EFM32
CONFIG_SPI_GPIO
CONFIG_SPI_IMX
CONFIG_SPI_LM70_LLP
CONFIG_SPI_FSL_SPI
CONFIG_SPI_FSL_DSPI
CONFIG_SPI_MESON_SPIFC
CONFIG_SPI_OC_TINY
CONFIG_SPI_OMAP_UWIRE
CONFIG_SPI_OMAP24XX
CONFIG_SPI_PPC4xx
CONFIG_SPI_PXA2XX
CONFIG_SPI_S3C24XX
CONFIG_SPI_S3C24XX_FIQ
CONFIG_SPI_SH_SCI
CONFIG_SPI_SIRF
CONFIG_SPI_MXS
CONFIG_SPI_XILINX
CONFIG_SPI_XTENSA_XTFPGA
CONFIG_MFD_CPCAP
CONFIG_USB_MSI2500
CONFIG_VIDEO_S5C73M3
CONFIG_DRM_PANEL_ILITEK_IL9322
CONFIG_DRM_PANEL_SAMSUNG_LD9040
CONFIG_DRM_PANEL_LG_LG4573
CONFIG_DRM_PANEL_NOVATEK_NT39016
CONFIG_TINYDRM_HX8357D
CONFIG_TINYDRM_ILI9225
CONFIG_TINYDRM_ILI9341
CONFIG_TINYDRM_MI0283QT
CONFIG_TINYDRM_REPAPER
CONFIG_TINYDRM_ST7586
CONFIG_TINYDRM_ST7735R
CONFIG_SND_SOC_IMX_ES8328
CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
CONFIG_SND_SOC_RK3399_GRU_SOUND
CONFIG_SND_SOC_ADAU1761_SPI
CONFIG_ADIS16203
CONFIG_ADIS16240
CONFIG_AD7192
CONFIG_AD7280
CONFIG_FB_TFT
CONFIG_WILC1000_SPI
CONFIG_ADIS16201
CONFIG_ADIS16209
CONFIG_ADXL345_SPI
CONFIG_ADXL372_SPI
CONFIG_BMA220
CONFIG_KXSD9_SPI
CONFIG_SCA3000
CONFIG_AD7298
CONFIG_AD7476
CONFIG_AD7606_IFACE_SPI
CONFIG_AD7768_1
CONFIG_AD7780
CONFIG_AD7791
CONFIG_AD7793
CONFIG_AD7887
CONFIG_AD7923
CONFIG_HI8435
CONFIG_MAX1027
CONFIG_MAX1118
CONFIG_TI_ADC0832
CONFIG_TI_ADC084S021
CONFIG_TI_ADC12138
CONFIG_TI_ADC108S102
CONFIG_TI_ADC161S626
CONFIG_TI_ADS7950
CONFIG_TI_TLC4541
CONFIG_AD8366
CONFIG_BME680
CONFIG_BME680_SPI
CONFIG_IIO_SSP_SENSORHUB
CONFIG_AD5686_SPI
CONFIG_ADF4371
CONFIG_ADIS16260
CONFIG_HTS221
CONFIG_ADIS16400
CONFIG_ADIS16460
CONFIG_ADIS16480
CONFIG_BMI160_SPI
CONFIG_IIO_ST_LSM6DSX
CONFIG_ST_UVIS25
CONFIG_BMC150_MAGN_SPI
CONFIG_AS3935
CONFIG_MAXIM_THERMOCOUPLE
CONFIG_FPGA_MGR_ALTERA_PS_SPI
CONFIG_NFC_NCI_SPI
CONFIG_NFC_ST_NCI_SPI

is depended by
CONFIG_SHARPSL_PM_MAX1111

SPI support

modulename: spi_eeprom.ko
configname: CONFIG_SPI

Linux Kernel Configuration
└─> Device Drivers
└─> SPI support

The "Serial Peripheral Interface" is a low level synchronous
protocol. Chips that support SPI can have data transfer rates
up to several tens of Mbit/sec. Chips are addressed with a
controller and a chipselect. Most SPI slaves don't support
dynamic device discovery; some are even write-only or read-only.

SPI is widely used by microcontrollers to talk with sensors,
eeprom and flash memory, codecs and various other controller
chips, analog to digital (and d-to-a) converters, and more.
MMC and SD cards can be accessed using SPI protocol; and for
DataFlash cards used in MMC sockets, SPI must always be used.

SPI is one of a family of similar protocols using a four wire
interface (select, clock, data in, data out) including Microwire
(half duplex), SSP, SSI, and PSP. This driver framework should
work with most such devices and controllers.


source code:


arch/mips/txx9/generic/spi_eeprom.c