Lines Matching refs:eeprom
1554 static u16 slic_eeprom_csum(unsigned char *eeprom, unsigned int len)
1556 unsigned char *ptr = eeprom;
1573 /* check eeprom size, magic and checksum */
1574 static bool slic_eeprom_valid(unsigned char *eeprom, unsigned int size)
1583 memcpy(&magic, eeprom, sizeof(magic));
1588 memcpy(&csum, eeprom + size, sizeof(csum));
1590 return (le16_to_cpu(csum) == slic_eeprom_csum(eeprom, size));
1600 unsigned char *eeprom;
1607 eeprom = dma_alloc_coherent(&sdev->pdev->dev, SLIC_EEPROM_SIZE,
1609 if (!eeprom)
1625 "timed out while waiting for eeprom data\n");
1642 oee = (struct slic_oasis_eeprom *)eeprom;
1649 mee = (struct slic_mojave_eeprom *)eeprom;
1655 if (!slic_eeprom_valid(eeprom, codesize)) {
1656 dev_err(&sdev->pdev->dev, "invalid checksum in eeprom\n");
1663 dma_free_coherent(&sdev->pdev->dev, SLIC_EEPROM_SIZE, eeprom, paddr);
1695 dev_err(&sdev->pdev->dev, "failed to read eeprom\n");