diff options
Diffstat (limited to 'drivers/char/tpm/tpm_atmel.c')
-rw-r--r-- | drivers/char/tpm/tpm_atmel.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/char/tpm/tpm_atmel.c b/drivers/char/tpm/tpm_atmel.c index a9100ad3d030..d12ac1a346b5 100644 --- a/drivers/char/tpm/tpm_atmel.c +++ b/drivers/char/tpm/tpm_atmel.c | |||
@@ -40,7 +40,7 @@ enum tpm_atmel_read_status { | |||
40 | ATML_STATUS_READY = 0x08 | 40 | ATML_STATUS_READY = 0x08 |
41 | }; | 41 | }; |
42 | 42 | ||
43 | static int tpm_atml_recv(struct tpm_chip *chip, u8 * buf, size_t count) | 43 | static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count) |
44 | { | 44 | { |
45 | u8 status, *hdr = buf; | 45 | u8 status, *hdr = buf; |
46 | u32 size; | 46 | u32 size; |
@@ -100,7 +100,7 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 * buf, size_t count) | |||
100 | return size; | 100 | return size; |
101 | } | 101 | } |
102 | 102 | ||
103 | static int tpm_atml_send(struct tpm_chip *chip, u8 * buf, size_t count) | 103 | static int tpm_atml_send(struct tpm_chip *chip, u8 *buf, size_t count) |
104 | { | 104 | { |
105 | int i; | 105 | int i; |
106 | 106 | ||
@@ -159,12 +159,12 @@ static struct tpm_vendor_specific tpm_atmel = { | |||
159 | .miscdev = { .fops = &atmel_ops, }, | 159 | .miscdev = { .fops = &atmel_ops, }, |
160 | }; | 160 | }; |
161 | 161 | ||
162 | static struct platform_device *pdev = NULL; | 162 | static struct platform_device *pdev; |
163 | 163 | ||
164 | static void __devexit tpm_atml_remove(struct device *dev) | 164 | static void __devexit tpm_atml_remove(struct device *dev) |
165 | { | 165 | { |
166 | struct tpm_chip *chip = dev_get_drvdata(dev); | 166 | struct tpm_chip *chip = dev_get_drvdata(dev); |
167 | if ( chip ) { | 167 | if (chip) { |
168 | release_region(chip->vendor->base, 2); | 168 | release_region(chip->vendor->base, 2); |
169 | tpm_remove_hardware(chip->dev); | 169 | tpm_remove_hardware(chip->dev); |
170 | } | 170 | } |
@@ -201,19 +201,17 @@ static int __init init_atmel(void) | |||
201 | (tpm_read_index(TPM_ADDR, 0x01) != 0x01 )) | 201 | (tpm_read_index(TPM_ADDR, 0x01) != 0x01 )) |
202 | return -ENODEV; | 202 | return -ENODEV; |
203 | 203 | ||
204 | pdev = kmalloc(sizeof(struct platform_device), GFP_KERNEL); | 204 | pdev = kzalloc(sizeof(struct platform_device), GFP_KERNEL); |
205 | if ( !pdev ) | 205 | if ( !pdev ) |
206 | return -ENOMEM; | 206 | return -ENOMEM; |
207 | 207 | ||
208 | memset(pdev, 0, sizeof(struct platform_device)); | ||
209 | |||
210 | pdev->name = "tpm_atmel0"; | 208 | pdev->name = "tpm_atmel0"; |
211 | pdev->id = -1; | 209 | pdev->id = -1; |
212 | pdev->num_resources = 0; | 210 | pdev->num_resources = 0; |
213 | pdev->dev.release = tpm_atml_remove; | 211 | pdev->dev.release = tpm_atml_remove; |
214 | pdev->dev.driver = &atml_drv; | 212 | pdev->dev.driver = &atml_drv; |
215 | 213 | ||
216 | if ((rc=platform_device_register(pdev)) < 0) { | 214 | if ((rc = platform_device_register(pdev)) < 0) { |
217 | kfree(pdev); | 215 | kfree(pdev); |
218 | pdev = NULL; | 216 | pdev = NULL; |
219 | return rc; | 217 | return rc; |
@@ -234,7 +232,8 @@ static int __init init_atmel(void) | |||
234 | return rc; | 232 | return rc; |
235 | } | 233 | } |
236 | 234 | ||
237 | dev_info(&pdev->dev, "Atmel TPM 1.1, Base Address: 0x%x\n", tpm_atmel.base); | 235 | dev_info(&pdev->dev, "Atmel TPM 1.1, Base Address: 0x%x\n", |
236 | tpm_atmel.base); | ||
238 | return 0; | 237 | return 0; |
239 | } | 238 | } |
240 | 239 | ||