aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2007-11-15 13:24:03 -0500
committerJean Delvare <khali@hyperion.delvare>2007-11-15 13:24:03 -0500
commit8b925a3dd8a4d7451092cb9aa11da727ba69e0f0 (patch)
treeb5fea30d83126e0b461abb1c8e22459ddb4b6d23
parent0f2cbd38aa377e30df3b7602abed69464d1970aa (diff)
i2c/eeprom: Recognize VGN as a valid Sony Vaio name prefix
Recent (i.e. 2005 and later) Sony Vaio laptops have names beginning with VGN rather than PCG. Update the eeprom driver so that it recognizes these. Signed-off-by: Jean Delvare <khali@linux-fr.org>
-rw-r--r--drivers/i2c/chips/eeprom.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/i2c/chips/eeprom.c b/drivers/i2c/chips/eeprom.c
index ef8a754db1db..1a7eeebac506 100644
--- a/drivers/i2c/chips/eeprom.c
+++ b/drivers/i2c/chips/eeprom.c
@@ -204,12 +204,16 @@ static int eeprom_detect(struct i2c_adapter *adapter, int address, int kind)
204 goto exit_kfree; 204 goto exit_kfree;
205 205
206 /* Detect the Vaio nature of EEPROMs. 206 /* Detect the Vaio nature of EEPROMs.
207 We use the "PCG-" prefix as the signature. */ 207 We use the "PCG-" or "VGN-" prefix as the signature. */
208 if (address == 0x57) { 208 if (address == 0x57) {
209 if (i2c_smbus_read_byte_data(new_client, 0x80) == 'P' 209 char name[4];
210 && i2c_smbus_read_byte(new_client) == 'C' 210
211 && i2c_smbus_read_byte(new_client) == 'G' 211 name[0] = i2c_smbus_read_byte_data(new_client, 0x80);
212 && i2c_smbus_read_byte(new_client) == '-') { 212 name[1] = i2c_smbus_read_byte(new_client);
213 name[2] = i2c_smbus_read_byte(new_client);
214 name[3] = i2c_smbus_read_byte(new_client);
215
216 if (!memcmp(name, "PCG-", 4) || !memcmp(name, "VGN-", 4)) {
213 dev_info(&new_client->dev, "Vaio EEPROM detected, " 217 dev_info(&new_client->dev, "Vaio EEPROM detected, "
214 "enabling privacy protection\n"); 218 "enabling privacy protection\n");
215 data->nature = VAIO; 219 data->nature = VAIO;