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

[media] media: i2c: Convert to devm_kzalloc()

Using the managed function the kfree() calls can be removed from the
probe error path and the remove handler.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Laurent Pinchart and committed by
Mauro Carvalho Chehab
c02b211d 95323361

+79 -202
+2 -6
drivers/media/i2c/ad9389b.c
··· 1188 1188 v4l_dbg(1, debug, client, "detecting ad9389b client on address 0x%x\n", 1189 1189 client->addr << 1); 1190 1190 1191 - state = kzalloc(sizeof(struct ad9389b_state), GFP_KERNEL); 1191 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 1192 1192 if (!state) 1193 1193 return -ENOMEM; 1194 1194 1195 1195 /* Platform data */ 1196 1196 if (pdata == NULL) { 1197 1197 v4l_err(client, "No platform data!\n"); 1198 - err = -ENODEV; 1199 - goto err_free; 1198 + return -ENODEV; 1200 1199 } 1201 1200 memcpy(&state->pdata, pdata, sizeof(state->pdata)); 1202 1201 ··· 1275 1276 media_entity_cleanup(&sd->entity); 1276 1277 err_hdl: 1277 1278 v4l2_ctrl_handler_free(&state->hdl); 1278 - err_free: 1279 - kfree(state); 1280 1279 return err; 1281 1280 } 1282 1281 ··· 1299 1302 v4l2_device_unregister_subdev(sd); 1300 1303 media_entity_cleanup(&sd->entity); 1301 1304 v4l2_ctrl_handler_free(sd->ctrl_handler); 1302 - kfree(get_ad9389b_state(sd)); 1303 1305 return 0; 1304 1306 } 1305 1307
+2 -3
drivers/media/i2c/adp1653.c
··· 417 417 if (client->dev.platform_data == NULL) 418 418 return -ENODEV; 419 419 420 - flash = kzalloc(sizeof(*flash), GFP_KERNEL); 420 + flash = devm_kzalloc(&client->dev, sizeof(*flash), GFP_KERNEL); 421 421 if (flash == NULL) 422 422 return -ENOMEM; 423 423 ··· 443 443 444 444 free_and_quit: 445 445 v4l2_ctrl_handler_free(&flash->ctrls); 446 - kfree(flash); 447 446 return ret; 448 447 } 449 448 ··· 454 455 v4l2_device_unregister_subdev(&flash->subdev); 455 456 v4l2_ctrl_handler_free(&flash->ctrls); 456 457 media_entity_cleanup(&flash->subdev.entity); 457 - kfree(flash); 458 + 458 459 return 0; 459 460 } 460 461
+1 -2
drivers/media/i2c/adv7170.c
··· 359 359 v4l_info(client, "chip found @ 0x%x (%s)\n", 360 360 client->addr << 1, client->adapter->name); 361 361 362 - encoder = kzalloc(sizeof(struct adv7170), GFP_KERNEL); 362 + encoder = devm_kzalloc(&client->dev, sizeof(*encoder), GFP_KERNEL); 363 363 if (encoder == NULL) 364 364 return -ENOMEM; 365 365 sd = &encoder->sd; ··· 384 384 struct v4l2_subdev *sd = i2c_get_clientdata(client); 385 385 386 386 v4l2_device_unregister_subdev(sd); 387 - kfree(to_adv7170(sd)); 388 387 return 0; 389 388 } 390 389
+1 -2
drivers/media/i2c/adv7175.c
··· 409 409 v4l_info(client, "chip found @ 0x%x (%s)\n", 410 410 client->addr << 1, client->adapter->name); 411 411 412 - encoder = kzalloc(sizeof(struct adv7175), GFP_KERNEL); 412 + encoder = devm_kzalloc(&client->dev, sizeof(*encoder), GFP_KERNEL); 413 413 if (encoder == NULL) 414 414 return -ENOMEM; 415 415 sd = &encoder->sd; ··· 434 434 struct v4l2_subdev *sd = i2c_get_clientdata(client); 435 435 436 436 v4l2_device_unregister_subdev(sd); 437 - kfree(to_adv7175(sd)); 438 437 return 0; 439 438 } 440 439
+1 -3
drivers/media/i2c/adv7180.c
··· 555 555 v4l_info(client, "chip found @ 0x%02x (%s)\n", 556 556 client->addr, client->adapter->name); 557 557 558 - state = kzalloc(sizeof(struct adv7180_state), GFP_KERNEL); 558 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 559 559 if (state == NULL) { 560 560 ret = -ENOMEM; 561 561 goto err; ··· 582 582 err_unreg_subdev: 583 583 mutex_destroy(&state->mutex); 584 584 v4l2_device_unregister_subdev(sd); 585 - kfree(state); 586 585 err: 587 586 printk(KERN_ERR KBUILD_MODNAME ": Failed to probe: %d\n", ret); 588 587 return ret; ··· 606 607 607 608 mutex_destroy(&state->mutex); 608 609 v4l2_device_unregister_subdev(sd); 609 - kfree(to_state(sd)); 610 610 return 0; 611 611 } 612 612
+2 -6
drivers/media/i2c/adv7183.c
··· 573 573 if (pin_array == NULL) 574 574 return -EINVAL; 575 575 576 - decoder = kzalloc(sizeof(struct adv7183), GFP_KERNEL); 576 + decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); 577 577 if (decoder == NULL) 578 578 return -ENOMEM; 579 579 ··· 583 583 if (gpio_request_one(decoder->reset_pin, GPIOF_OUT_INIT_LOW, 584 584 "ADV7183 Reset")) { 585 585 v4l_err(client, "failed to request GPIO %d\n", decoder->reset_pin); 586 - ret = -EBUSY; 587 - goto err_free_decoder; 586 + return -EBUSY; 588 587 } 589 588 590 589 if (gpio_request_one(decoder->oe_pin, GPIOF_OUT_INIT_HIGH, ··· 645 646 gpio_free(decoder->oe_pin); 646 647 err_free_reset: 647 648 gpio_free(decoder->reset_pin); 648 - err_free_decoder: 649 - kfree(decoder); 650 649 return ret; 651 650 } 652 651 ··· 657 660 v4l2_ctrl_handler_free(sd->ctrl_handler); 658 661 gpio_free(decoder->oe_pin); 659 662 gpio_free(decoder->reset_pin); 660 - kfree(decoder); 661 663 return 0; 662 664 } 663 665
+2 -6
drivers/media/i2c/adv7393.c
··· 410 410 v4l_info(client, "chip found @ 0x%x (%s)\n", 411 411 client->addr << 1, client->adapter->name); 412 412 413 - state = kzalloc(sizeof(struct adv7393_state), GFP_KERNEL); 413 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 414 414 if (state == NULL) 415 415 return -ENOMEM; 416 416 ··· 444 444 int err = state->hdl.error; 445 445 446 446 v4l2_ctrl_handler_free(&state->hdl); 447 - kfree(state); 448 447 return err; 449 448 } 450 449 v4l2_ctrl_handler_setup(&state->hdl); 451 450 452 451 err = adv7393_initialize(&state->sd); 453 - if (err) { 452 + if (err) 454 453 v4l2_ctrl_handler_free(&state->hdl); 455 - kfree(state); 456 - } 457 454 return err; 458 455 } 459 456 ··· 461 464 462 465 v4l2_device_unregister_subdev(sd); 463 466 v4l2_ctrl_handler_free(&state->hdl); 464 - kfree(state); 465 467 466 468 return 0; 467 469 }
+3 -8
drivers/media/i2c/adv7604.c
··· 1968 1968 v4l_dbg(1, debug, client, "detecting adv7604 client on address 0x%x\n", 1969 1969 client->addr << 1); 1970 1970 1971 - state = kzalloc(sizeof(struct adv7604_state), GFP_KERNEL); 1971 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 1972 1972 if (!state) { 1973 1973 v4l_err(client, "Could not allocate adv7604_state memory!\n"); 1974 1974 return -ENOMEM; ··· 1977 1977 /* platform data */ 1978 1978 if (!pdata) { 1979 1979 v4l_err(client, "No platform data!\n"); 1980 - err = -ENODEV; 1981 - goto err_state; 1980 + return -ENODEV; 1982 1981 } 1983 1982 memcpy(&state->pdata, pdata, sizeof(state->pdata)); 1984 1983 ··· 1990 1991 if (adv_smbus_read_byte_data_check(client, 0xfb, false) != 0x68) { 1991 1992 v4l2_info(sd, "not an adv7604 on address 0x%x\n", 1992 1993 client->addr << 1); 1993 - err = -ENODEV; 1994 - goto err_state; 1994 + return -ENODEV; 1995 1995 } 1996 1996 1997 1997 /* control handlers */ ··· 2091 2093 adv7604_unregister_clients(state); 2092 2094 err_hdl: 2093 2095 v4l2_ctrl_handler_free(hdl); 2094 - err_state: 2095 - kfree(state); 2096 2096 return err; 2097 2097 } 2098 2098 ··· 2107 2111 media_entity_cleanup(&sd->entity); 2108 2112 adv7604_unregister_clients(to_state(sd)); 2109 2113 v4l2_ctrl_handler_free(sd->ctrl_handler); 2110 - kfree(to_state(sd)); 2111 2114 return 0; 2112 2115 } 2113 2116
+1 -3
drivers/media/i2c/ak881x.c
··· 264 264 return -EIO; 265 265 } 266 266 267 - ak881x = kzalloc(sizeof(struct ak881x), GFP_KERNEL); 267 + ak881x = devm_kzalloc(&client->dev, sizeof(*ak881x), GFP_KERNEL); 268 268 if (!ak881x) 269 269 return -ENOMEM; 270 270 ··· 282 282 default: 283 283 dev_err(&client->dev, 284 284 "No ak881x chip detected, register read %x\n", data); 285 - kfree(ak881x); 286 285 return -ENODEV; 287 286 } 288 287 ··· 330 331 struct ak881x *ak881x = to_ak881x(client); 331 332 332 333 v4l2_device_unregister_subdev(&ak881x->subdev); 333 - kfree(ak881x); 334 334 335 335 return 0; 336 336 }
+2 -5
drivers/media/i2c/as3645a.c
··· 813 813 if (client->dev.platform_data == NULL) 814 814 return -ENODEV; 815 815 816 - flash = kzalloc(sizeof(*flash), GFP_KERNEL); 816 + flash = devm_kzalloc(&client->dev, sizeof(*flash), GFP_KERNEL); 817 817 if (flash == NULL) 818 818 return -ENOMEM; 819 819 ··· 838 838 flash->led_mode = V4L2_FLASH_LED_MODE_NONE; 839 839 840 840 done: 841 - if (ret < 0) { 841 + if (ret < 0) 842 842 v4l2_ctrl_handler_free(&flash->ctrls); 843 - kfree(flash); 844 - } 845 843 846 844 return ret; 847 845 } ··· 853 855 v4l2_ctrl_handler_free(&flash->ctrls); 854 856 media_entity_cleanup(&flash->subdev.entity); 855 857 mutex_destroy(&flash->power_lock); 856 - kfree(flash); 857 858 858 859 return 0; 859 860 }
+1 -3
drivers/media/i2c/bt819.c
··· 425 425 if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) 426 426 return -ENODEV; 427 427 428 - decoder = kzalloc(sizeof(struct bt819), GFP_KERNEL); 428 + decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); 429 429 if (decoder == NULL) 430 430 return -ENOMEM; 431 431 sd = &decoder->sd; ··· 476 476 int err = decoder->hdl.error; 477 477 478 478 v4l2_ctrl_handler_free(&decoder->hdl); 479 - kfree(decoder); 480 479 return err; 481 480 } 482 481 v4l2_ctrl_handler_setup(&decoder->hdl); ··· 489 490 490 491 v4l2_device_unregister_subdev(sd); 491 492 v4l2_ctrl_handler_free(&decoder->hdl); 492 - kfree(decoder); 493 493 return 0; 494 494 } 495 495
+1 -2
drivers/media/i2c/bt856.c
··· 216 216 v4l_info(client, "chip found @ 0x%x (%s)\n", 217 217 client->addr << 1, client->adapter->name); 218 218 219 - encoder = kzalloc(sizeof(struct bt856), GFP_KERNEL); 219 + encoder = devm_kzalloc(&client->dev, sizeof(*encoder), GFP_KERNEL); 220 220 if (encoder == NULL) 221 221 return -ENOMEM; 222 222 sd = &encoder->sd; ··· 250 250 struct v4l2_subdev *sd = i2c_get_clientdata(client); 251 251 252 252 v4l2_device_unregister_subdev(sd); 253 - kfree(to_bt856(sd)); 254 253 return 0; 255 254 } 256 255
+1 -2
drivers/media/i2c/bt866.c
··· 207 207 v4l_info(client, "chip found @ 0x%x (%s)\n", 208 208 client->addr << 1, client->adapter->name); 209 209 210 - encoder = kzalloc(sizeof(*encoder), GFP_KERNEL); 210 + encoder = devm_kzalloc(&client->dev, sizeof(*encoder), GFP_KERNEL); 211 211 if (encoder == NULL) 212 212 return -ENOMEM; 213 213 sd = &encoder->sd; ··· 220 220 struct v4l2_subdev *sd = i2c_get_clientdata(client); 221 221 222 222 v4l2_device_unregister_subdev(sd); 223 - kfree(to_bt866(sd)); 224 223 return 0; 225 224 } 226 225
+1 -3
drivers/media/i2c/cs5345.c
··· 190 190 v4l_info(client, "chip found @ 0x%x (%s)\n", 191 191 client->addr << 1, client->adapter->name); 192 192 193 - state = kzalloc(sizeof(struct cs5345_state), GFP_KERNEL); 193 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 194 194 if (state == NULL) 195 195 return -ENOMEM; 196 196 sd = &state->sd; ··· 206 206 int err = state->hdl.error; 207 207 208 208 v4l2_ctrl_handler_free(&state->hdl); 209 - kfree(state); 210 209 return err; 211 210 } 212 211 /* set volume/mute */ ··· 226 227 227 228 v4l2_device_unregister_subdev(sd); 228 229 v4l2_ctrl_handler_free(&state->hdl); 229 - kfree(state); 230 230 return 0; 231 231 } 232 232
+1 -3
drivers/media/i2c/cs53l32a.c
··· 175 175 v4l_info(client, "chip found @ 0x%x (%s)\n", 176 176 client->addr << 1, client->adapter->name); 177 177 178 - state = kzalloc(sizeof(struct cs53l32a_state), GFP_KERNEL); 178 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 179 179 if (state == NULL) 180 180 return -ENOMEM; 181 181 sd = &state->sd; ··· 197 197 int err = state->hdl.error; 198 198 199 199 v4l2_ctrl_handler_free(&state->hdl); 200 - kfree(state); 201 200 return err; 202 201 } 203 202 ··· 227 228 228 229 v4l2_device_unregister_subdev(sd); 229 230 v4l2_ctrl_handler_free(&state->hdl); 230 - kfree(state); 231 231 return 0; 232 232 } 233 233
+1 -3
drivers/media/i2c/cx25840/cx25840-core.c
··· 5190 5190 return -ENODEV; 5191 5191 } 5192 5192 5193 - state = kzalloc(sizeof(struct cx25840_state), GFP_KERNEL); 5193 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 5194 5194 if (state == NULL) 5195 5195 return -ENOMEM; 5196 5196 ··· 5292 5292 int err = state->hdl.error; 5293 5293 5294 5294 v4l2_ctrl_handler_free(&state->hdl); 5295 - kfree(state); 5296 5295 return err; 5297 5296 } 5298 5297 if (!is_cx2583x(state)) ··· 5316 5317 cx25840_ir_remove(sd); 5317 5318 v4l2_device_unregister_subdev(sd); 5318 5319 v4l2_ctrl_handler_free(&state->hdl); 5319 - kfree(state); 5320 5320 return 0; 5321 5321 } 5322 5322
+2 -5
drivers/media/i2c/cx25840/cx25840-ir.c
··· 1230 1230 if (!(is_cx23885(state) || is_cx23887(state))) 1231 1231 return 0; 1232 1232 1233 - ir_state = kzalloc(sizeof(struct cx25840_ir_state), GFP_KERNEL); 1233 + ir_state = devm_kzalloc(&state->c->dev, sizeof(*ir_state), GFP_KERNEL); 1234 1234 if (ir_state == NULL) 1235 1235 return -ENOMEM; 1236 1236 1237 1237 spin_lock_init(&ir_state->rx_kfifo_lock); 1238 1238 if (kfifo_alloc(&ir_state->rx_kfifo, 1239 - CX25840_IR_RX_KFIFO_SIZE, GFP_KERNEL)) { 1240 - kfree(ir_state); 1239 + CX25840_IR_RX_KFIFO_SIZE, GFP_KERNEL)) 1241 1240 return -ENOMEM; 1242 - } 1243 1241 1244 1242 ir_state->c = state->c; 1245 1243 state->ir_state = ir_state; ··· 1271 1273 cx25840_ir_tx_shutdown(sd); 1272 1274 1273 1275 kfifo_free(&ir_state->rx_kfifo); 1274 - kfree(ir_state); 1275 1276 state->ir_state = NULL; 1276 1277 return 0; 1277 1278 }
+3 -7
drivers/media/i2c/ir-kbd-i2c.c
··· 295 295 unsigned short addr = client->addr; 296 296 int err; 297 297 298 - ir = kzalloc(sizeof(struct IR_i2c), GFP_KERNEL); 298 + ir = devm_kzalloc(&client->dev, sizeof(*ir), GFP_KERNEL); 299 299 if (!ir) 300 300 return -ENOMEM; 301 301 ··· 398 398 * internally 399 399 */ 400 400 rc = rc_allocate_device(); 401 - if (!rc) { 402 - err = -ENOMEM; 403 - goto err_out_free; 404 - } 401 + if (!rc) 402 + return -ENOMEM; 405 403 } 406 404 ir->rc = rc; 407 405 ··· 452 454 err_out_free: 453 455 /* Only frees rc if it were allocated internally */ 454 456 rc_free_device(rc); 455 - kfree(ir); 456 457 return err; 457 458 } 458 459 ··· 467 470 rc_unregister_device(ir->rc); 468 471 469 472 /* free memory */ 470 - kfree(ir); 471 473 return 0; 472 474 } 473 475
+1 -2
drivers/media/i2c/ks0127.c
··· 685 685 client->addr == (I2C_KS0127_ADDON >> 1) ? "addon" : "on-board", 686 686 client->addr << 1, client->adapter->name); 687 687 688 - ks = kzalloc(sizeof(*ks), GFP_KERNEL); 688 + ks = devm_kzalloc(&client->dev, sizeof(*ks), GFP_KERNEL); 689 689 if (ks == NULL) 690 690 return -ENOMEM; 691 691 sd = &ks->sd; ··· 708 708 v4l2_device_unregister_subdev(sd); 709 709 ks0127_write(sd, KS_OFMTA, 0x20); /* tristate */ 710 710 ks0127_write(sd, KS_CMDA, 0x2c | 0x80); /* power down */ 711 - kfree(to_ks0127(sd)); 712 711 return 0; 713 712 } 714 713
+1 -2
drivers/media/i2c/m52790.c
··· 174 174 v4l_info(client, "chip found @ 0x%x (%s)\n", 175 175 client->addr << 1, client->adapter->name); 176 176 177 - state = kzalloc(sizeof(struct m52790_state), GFP_KERNEL); 177 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 178 178 if (state == NULL) 179 179 return -ENOMEM; 180 180 ··· 191 191 struct v4l2_subdev *sd = i2c_get_clientdata(client); 192 192 193 193 v4l2_device_unregister_subdev(sd); 194 - kfree(to_state(sd)); 195 194 return 0; 196 195 } 197 196
+3 -5
drivers/media/i2c/m5mols/m5mols_core.c
··· 950 950 return -EINVAL; 951 951 } 952 952 953 - info = kzalloc(sizeof(struct m5mols_info), GFP_KERNEL); 953 + info = devm_kzalloc(&client->dev, sizeof(*info), GFP_KERNEL); 954 954 if (!info) 955 955 return -ENOMEM; 956 956 ··· 962 962 ret = gpio_request_one(pdata->gpio_reset, gpio_flags, "M5MOLS_NRST"); 963 963 if (ret) { 964 964 dev_err(&client->dev, "Failed to request gpio: %d\n", ret); 965 - goto out_free; 965 + return ret; 966 966 } 967 967 968 968 ret = regulator_bulk_get(&client->dev, ARRAY_SIZE(supplies), supplies); ··· 1015 1015 regulator_bulk_free(ARRAY_SIZE(supplies), supplies); 1016 1016 out_gpio: 1017 1017 gpio_free(pdata->gpio_reset); 1018 - out_free: 1019 - kfree(info); 1020 1018 return ret; 1021 1019 } 1022 1020 ··· 1030 1032 regulator_bulk_free(ARRAY_SIZE(supplies), supplies); 1031 1033 gpio_free(info->pdata->gpio_reset); 1032 1034 media_entity_cleanup(&sd->entity); 1033 - kfree(info); 1035 + 1034 1036 return 0; 1035 1037 } 1036 1038
+1 -4
drivers/media/i2c/msp3400-driver.c
··· 707 707 return -ENODEV; 708 708 } 709 709 710 - state = kzalloc(sizeof(*state), GFP_KERNEL); 710 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 711 711 if (!state) 712 712 return -ENOMEM; 713 713 ··· 732 732 if (state->rev1 == -1 || (state->rev1 == 0 && state->rev2 == 0)) { 733 733 v4l_dbg(1, msp_debug, client, 734 734 "not an msp3400 (cannot read chip version)\n"); 735 - kfree(state); 736 735 return -ENODEV; 737 736 } 738 737 ··· 826 827 int err = hdl->error; 827 828 828 829 v4l2_ctrl_handler_free(hdl); 829 - kfree(state); 830 830 return err; 831 831 } 832 832 ··· 887 889 msp_reset(client); 888 890 889 891 v4l2_ctrl_handler_free(&state->hdl); 890 - kfree(state); 891 892 return 0; 892 893 } 893 894
+1 -3
drivers/media/i2c/mt9m032.c
··· 730 730 if (!client->dev.platform_data) 731 731 return -ENODEV; 732 732 733 - sensor = kzalloc(sizeof(*sensor), GFP_KERNEL); 733 + sensor = devm_kzalloc(&client->dev, sizeof(*sensor), GFP_KERNEL); 734 734 if (sensor == NULL) 735 735 return -ENOMEM; 736 736 ··· 860 860 v4l2_ctrl_handler_free(&sensor->ctrls); 861 861 error_sensor: 862 862 mutex_destroy(&sensor->lock); 863 - kfree(sensor); 864 863 return ret; 865 864 } 866 865 ··· 872 873 v4l2_ctrl_handler_free(&sensor->ctrls); 873 874 media_entity_cleanup(&subdev->entity); 874 875 mutex_destroy(&sensor->lock); 875 - kfree(sensor); 876 876 return 0; 877 877 } 878 878
+1 -3
drivers/media/i2c/mt9t001.c
··· 740 740 if (ret < 0) 741 741 return ret; 742 742 743 - mt9t001 = kzalloc(sizeof(*mt9t001), GFP_KERNEL); 743 + mt9t001 = devm_kzalloc(&client->dev, sizeof(*mt9t001), GFP_KERNEL); 744 744 if (!mt9t001) 745 745 return -ENOMEM; 746 746 ··· 801 801 if (ret < 0) { 802 802 v4l2_ctrl_handler_free(&mt9t001->ctrls); 803 803 media_entity_cleanup(&mt9t001->subdev.entity); 804 - kfree(mt9t001); 805 804 } 806 805 807 806 return ret; ··· 814 815 v4l2_ctrl_handler_free(&mt9t001->ctrls); 815 816 v4l2_device_unregister_subdev(subdev); 816 817 media_entity_cleanup(&subdev->entity); 817 - kfree(mt9t001); 818 818 return 0; 819 819 } 820 820
+2 -4
drivers/media/i2c/mt9v011.c
··· 526 526 I2C_FUNC_SMBUS_READ_BYTE | I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) 527 527 return -EIO; 528 528 529 - core = kzalloc(sizeof(struct mt9v011), GFP_KERNEL); 529 + core = devm_kzalloc(&c->dev, sizeof(struct mt9v011), GFP_KERNEL); 530 530 if (!core) 531 531 return -ENOMEM; 532 532 ··· 539 539 (version != MT9V011_REV_B_VERSION)) { 540 540 v4l2_info(sd, "*** unknown micron chip detected (0x%04x).\n", 541 541 version); 542 - kfree(core); 543 542 return -EINVAL; 544 543 } 545 544 ··· 561 562 562 563 v4l2_err(sd, "control initialization error %d\n", ret); 563 564 v4l2_ctrl_handler_free(&core->ctrls); 564 - kfree(core); 565 565 return ret; 566 566 } 567 567 core->sd.ctrl_handler = &core->ctrls; ··· 596 598 597 599 v4l2_device_unregister_subdev(sd); 598 600 v4l2_ctrl_handler_free(&core->ctrls); 599 - kfree(to_mt9v011(sd)); 601 + 600 602 return 0; 601 603 } 602 604
+2 -5
drivers/media/i2c/mt9v032.c
··· 744 744 return -EIO; 745 745 } 746 746 747 - mt9v032 = kzalloc(sizeof(*mt9v032), GFP_KERNEL); 747 + mt9v032 = devm_kzalloc(&client->dev, sizeof(*mt9v032), GFP_KERNEL); 748 748 if (!mt9v032) 749 749 return -ENOMEM; 750 750 ··· 831 831 mt9v032->pad.flags = MEDIA_PAD_FL_SOURCE; 832 832 ret = media_entity_init(&mt9v032->subdev.entity, 1, &mt9v032->pad, 0); 833 833 834 - if (ret < 0) { 834 + if (ret < 0) 835 835 v4l2_ctrl_handler_free(&mt9v032->ctrls); 836 - kfree(mt9v032); 837 - } 838 836 839 837 return ret; 840 838 } ··· 845 847 v4l2_ctrl_handler_free(&mt9v032->ctrls); 846 848 v4l2_device_unregister_subdev(subdev); 847 849 media_entity_cleanup(&subdev->entity); 848 - kfree(mt9v032); 849 850 850 851 return 0; 851 852 }
+2 -3
drivers/media/i2c/noon010pc30.c
··· 712 712 return -EIO; 713 713 } 714 714 715 - info = kzalloc(sizeof(*info), GFP_KERNEL); 715 + info = devm_kzalloc(&client->dev, sizeof(*info), GFP_KERNEL); 716 716 if (!info) 717 717 return -ENOMEM; 718 718 ··· 796 796 np_err: 797 797 v4l2_ctrl_handler_free(&info->hdl); 798 798 v4l2_device_unregister_subdev(sd); 799 - kfree(info); 800 799 return ret; 801 800 } 802 801 ··· 816 817 gpio_free(info->gpio_nstby); 817 818 818 819 media_entity_cleanup(&sd->entity); 819 - kfree(info); 820 + 820 821 return 0; 821 822 } 822 823
+2 -3
drivers/media/i2c/ov7640.c
··· 59 59 if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) 60 60 return -ENODEV; 61 61 62 - sd = kzalloc(sizeof(struct v4l2_subdev), GFP_KERNEL); 62 + sd = devm_kzalloc(&client->dev, sizeof(*sd), GFP_KERNEL); 63 63 if (sd == NULL) 64 64 return -ENOMEM; 65 65 v4l2_i2c_subdev_init(sd, client, &ov7640_ops); ··· 71 71 72 72 if (write_regs(client, initial_registers) < 0) { 73 73 v4l_err(client, "error initializing OV7640\n"); 74 - kfree(sd); 75 74 return -ENODEV; 76 75 } 77 76 ··· 83 84 struct v4l2_subdev *sd = i2c_get_clientdata(client); 84 85 85 86 v4l2_device_unregister_subdev(sd); 86 - kfree(sd); 87 + 87 88 return 0; 88 89 } 89 90
+1 -4
drivers/media/i2c/ov7670.c
··· 1552 1552 struct ov7670_info *info; 1553 1553 int ret; 1554 1554 1555 - info = kzalloc(sizeof(struct ov7670_info), GFP_KERNEL); 1555 + info = devm_kzalloc(&client->dev, sizeof(*info), GFP_KERNEL); 1556 1556 if (info == NULL) 1557 1557 return -ENOMEM; 1558 1558 sd = &info->sd; ··· 1590 1590 v4l_dbg(1, debug, client, 1591 1591 "chip found @ 0x%x (%s) is not an ov7670 chip.\n", 1592 1592 client->addr << 1, client->adapter->name); 1593 - kfree(info); 1594 1593 return ret; 1595 1594 } 1596 1595 v4l_info(client, "chip found @ 0x%02x (%s)\n", ··· 1634 1635 int err = info->hdl.error; 1635 1636 1636 1637 v4l2_ctrl_handler_free(&info->hdl); 1637 - kfree(info); 1638 1638 return err; 1639 1639 } 1640 1640 /* ··· 1657 1659 1658 1660 v4l2_device_unregister_subdev(sd); 1659 1661 v4l2_ctrl_handler_free(&info->hdl); 1660 - kfree(info); 1661 1662 return 0; 1662 1663 } 1663 1664
+3 -7
drivers/media/i2c/saa6588.c
··· 478 478 v4l_info(client, "saa6588 found @ 0x%x (%s)\n", 479 479 client->addr << 1, client->adapter->name); 480 480 481 - s = kzalloc(sizeof(*s), GFP_KERNEL); 481 + s = devm_kzalloc(&client->dev, sizeof(*s), GFP_KERNEL); 482 482 if (s == NULL) 483 483 return -ENOMEM; 484 484 485 485 s->buf_size = bufblocks * 3; 486 486 487 - s->buffer = kmalloc(s->buf_size, GFP_KERNEL); 488 - if (s->buffer == NULL) { 489 - kfree(s); 487 + s->buffer = devm_kzalloc(&client->dev, s->buf_size, GFP_KERNEL); 488 + if (s->buffer == NULL) 490 489 return -ENOMEM; 491 - } 492 490 sd = &s->sd; 493 491 v4l2_i2c_subdev_init(sd, client, &saa6588_ops); 494 492 spin_lock_init(&s->lock); ··· 514 516 515 517 cancel_delayed_work_sync(&s->work); 516 518 517 - kfree(s->buffer); 518 - kfree(s); 519 519 return 0; 520 520 } 521 521
+1 -3
drivers/media/i2c/saa7110.c
··· 406 406 v4l_info(client, "chip found @ 0x%x (%s)\n", 407 407 client->addr << 1, client->adapter->name); 408 408 409 - decoder = kzalloc(sizeof(struct saa7110), GFP_KERNEL); 409 + decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); 410 410 if (!decoder) 411 411 return -ENOMEM; 412 412 sd = &decoder->sd; ··· 428 428 int err = decoder->hdl.error; 429 429 430 430 v4l2_ctrl_handler_free(&decoder->hdl); 431 - kfree(decoder); 432 431 return err; 433 432 } 434 433 v4l2_ctrl_handler_setup(&decoder->hdl); ··· 468 469 469 470 v4l2_device_unregister_subdev(sd); 470 471 v4l2_ctrl_handler_free(&decoder->hdl); 471 - kfree(decoder); 472 472 return 0; 473 473 } 474 474
+1 -3
drivers/media/i2c/saa7115.c
··· 1614 1614 v4l_info(client, "saa711%c found (%s) @ 0x%x (%s)\n", chip_id, name, 1615 1615 client->addr << 1, client->adapter->name); 1616 1616 1617 - state = kzalloc(sizeof(struct saa711x_state), GFP_KERNEL); 1617 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 1618 1618 if (state == NULL) 1619 1619 return -ENOMEM; 1620 1620 sd = &state->sd; ··· 1640 1640 int err = hdl->error; 1641 1641 1642 1642 v4l2_ctrl_handler_free(hdl); 1643 - kfree(state); 1644 1643 return err; 1645 1644 } 1646 1645 v4l2_ctrl_auto_cluster(2, &state->agc, 0, true); ··· 1711 1712 1712 1713 v4l2_device_unregister_subdev(sd); 1713 1714 v4l2_ctrl_handler_free(sd->ctrl_handler); 1714 - kfree(to_state(sd)); 1715 1715 return 0; 1716 1716 } 1717 1717
+1 -3
drivers/media/i2c/saa7127.c
··· 752 752 v4l_dbg(1, debug, client, "detecting saa7127 client on address 0x%x\n", 753 753 client->addr << 1); 754 754 755 - state = kzalloc(sizeof(struct saa7127_state), GFP_KERNEL); 755 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 756 756 if (state == NULL) 757 757 return -ENOMEM; 758 758 ··· 767 767 if ((saa7127_read(sd, 0) & 0xe4) != 0 || 768 768 (saa7127_read(sd, 0x29) & 0x3f) != 0x1d) { 769 769 v4l2_dbg(1, debug, sd, "saa7127 not found\n"); 770 - kfree(state); 771 770 return -ENODEV; 772 771 } 773 772 ··· 822 823 v4l2_device_unregister_subdev(sd); 823 824 /* Turn off TV output */ 824 825 saa7127_set_video_enable(sd, 0); 825 - kfree(to_state(sd)); 826 826 return 0; 827 827 } 828 828
+1 -4
drivers/media/i2c/saa717x.c
··· 1262 1262 if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) 1263 1263 return -EIO; 1264 1264 1265 - decoder = kzalloc(sizeof(struct saa717x_state), GFP_KERNEL); 1265 + decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); 1266 1266 if (decoder == NULL) 1267 1267 return -ENOMEM; 1268 1268 ··· 1276 1276 id = saa717x_read(sd, 0x5a0); 1277 1277 if (id != 0xc2 && id != 0x32 && id != 0xf2 && id != 0x6c) { 1278 1278 v4l2_dbg(1, debug, sd, "saa717x not found (id=%02x)\n", id); 1279 - kfree(decoder); 1280 1279 return -ENODEV; 1281 1280 } 1282 1281 if (id == 0xc2) ··· 1315 1316 int err = hdl->error; 1316 1317 1317 1318 v4l2_ctrl_handler_free(hdl); 1318 - kfree(decoder); 1319 1319 return err; 1320 1320 } 1321 1321 ··· 1351 1353 1352 1354 v4l2_device_unregister_subdev(sd); 1353 1355 v4l2_ctrl_handler_free(sd->ctrl_handler); 1354 - kfree(to_state(sd)); 1355 1356 return 0; 1356 1357 } 1357 1358
+1 -2
drivers/media/i2c/saa7185.c
··· 326 326 v4l_info(client, "chip found @ 0x%x (%s)\n", 327 327 client->addr << 1, client->adapter->name); 328 328 329 - encoder = kzalloc(sizeof(struct saa7185), GFP_KERNEL); 329 + encoder = devm_kzalloc(&client->dev, sizeof(*encoder), GFP_KERNEL); 330 330 if (encoder == NULL) 331 331 return -ENOMEM; 332 332 encoder->norm = V4L2_STD_NTSC; ··· 352 352 v4l2_device_unregister_subdev(sd); 353 353 /* SW: output off is active */ 354 354 saa7185_write(sd, 0x61, (encoder->reg[0x61]) | 0x40); 355 - kfree(encoder); 356 355 return 0; 357 356 } 358 357
+1 -3
drivers/media/i2c/saa7191.c
··· 605 605 v4l_info(client, "chip found @ 0x%x (%s)\n", 606 606 client->addr << 1, client->adapter->name); 607 607 608 - decoder = kzalloc(sizeof(*decoder), GFP_KERNEL); 608 + decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); 609 609 if (!decoder) 610 610 return -ENOMEM; 611 611 ··· 615 615 err = saa7191_write_block(sd, sizeof(initseq), initseq); 616 616 if (err) { 617 617 printk(KERN_ERR "SAA7191 initialization failed\n"); 618 - kfree(decoder); 619 618 return err; 620 619 } 621 620 ··· 635 636 struct v4l2_subdev *sd = i2c_get_clientdata(client); 636 637 637 638 v4l2_device_unregister_subdev(sd); 638 - kfree(to_saa7191(sd)); 639 639 return 0; 640 640 } 641 641
+1 -2
drivers/media/i2c/sony-btf-mpx.c
··· 355 355 v4l_info(client, "chip found @ 0x%x (%s)\n", 356 356 client->addr << 1, client->adapter->name); 357 357 358 - t = kzalloc(sizeof(struct sony_btf_mpx), GFP_KERNEL); 358 + t = devm_kzalloc(&client->dev, sizeof(*t), GFP_KERNEL); 359 359 if (t == NULL) 360 360 return -ENOMEM; 361 361 ··· 374 374 struct v4l2_subdev *sd = i2c_get_clientdata(client); 375 375 376 376 v4l2_device_unregister_subdev(sd); 377 - kfree(to_state(sd)); 378 377 379 378 return 0; 380 379 }
+1 -3
drivers/media/i2c/sr030pc30.c
··· 820 820 if (ret) 821 821 return ret; 822 822 823 - info = kzalloc(sizeof(*info), GFP_KERNEL); 823 + info = devm_kzalloc(&client->dev, sizeof(*info), GFP_KERNEL); 824 824 if (!info) 825 825 return -ENOMEM; 826 826 ··· 841 841 static int sr030pc30_remove(struct i2c_client *client) 842 842 { 843 843 struct v4l2_subdev *sd = i2c_get_clientdata(client); 844 - struct sr030pc30_info *info = to_sr030pc30(sd); 845 844 846 845 v4l2_device_unregister_subdev(sd); 847 - kfree(info); 848 846 return 0; 849 847 } 850 848
+1 -3
drivers/media/i2c/tda7432.c
··· 359 359 v4l_info(client, "chip found @ 0x%02x (%s)\n", 360 360 client->addr << 1, client->adapter->name); 361 361 362 - t = kzalloc(sizeof(*t), GFP_KERNEL); 362 + t = devm_kzalloc(&client->dev, sizeof(*t), GFP_KERNEL); 363 363 if (!t) 364 364 return -ENOMEM; 365 365 sd = &t->sd; ··· 380 380 int err = t->hdl.error; 381 381 382 382 v4l2_ctrl_handler_free(&t->hdl); 383 - kfree(t); 384 383 return err; 385 384 } 386 385 v4l2_ctrl_cluster(2, &t->bass); ··· 405 406 tda7432_set(sd); 406 407 v4l2_device_unregister_subdev(sd); 407 408 v4l2_ctrl_handler_free(&t->hdl); 408 - kfree(t); 409 409 return 0; 410 410 } 411 411
+1 -2
drivers/media/i2c/tda9840.c
··· 184 184 v4l_info(client, "chip found @ 0x%x (%s)\n", 185 185 client->addr << 1, client->adapter->name); 186 186 187 - sd = kzalloc(sizeof(struct v4l2_subdev), GFP_KERNEL); 187 + sd = devm_kzalloc(&client->dev, sizeof(*sd), GFP_KERNEL); 188 188 if (sd == NULL) 189 189 return -ENOMEM; 190 190 v4l2_i2c_subdev_init(sd, client, &tda9840_ops); ··· 201 201 struct v4l2_subdev *sd = i2c_get_clientdata(client); 202 202 203 203 v4l2_device_unregister_subdev(sd); 204 - kfree(sd); 205 204 return 0; 206 205 } 207 206
+1 -2
drivers/media/i2c/tea6415c.c
··· 152 152 153 153 v4l_info(client, "chip found @ 0x%x (%s)\n", 154 154 client->addr << 1, client->adapter->name); 155 - sd = kzalloc(sizeof(struct v4l2_subdev), GFP_KERNEL); 155 + sd = devm_kzalloc(&client->dev, sizeof(*sd), GFP_KERNEL); 156 156 if (sd == NULL) 157 157 return -ENOMEM; 158 158 v4l2_i2c_subdev_init(sd, client, &tea6415c_ops); ··· 164 164 struct v4l2_subdev *sd = i2c_get_clientdata(client); 165 165 166 166 v4l2_device_unregister_subdev(sd); 167 - kfree(sd); 168 167 return 0; 169 168 } 170 169
+1 -2
drivers/media/i2c/tea6420.c
··· 125 125 v4l_info(client, "chip found @ 0x%x (%s)\n", 126 126 client->addr << 1, client->adapter->name); 127 127 128 - sd = kzalloc(sizeof(struct v4l2_subdev), GFP_KERNEL); 128 + sd = devm_kzalloc(&client->dev, sizeof(*sd), GFP_KERNEL); 129 129 if (sd == NULL) 130 130 return -ENOMEM; 131 131 v4l2_i2c_subdev_init(sd, client, &tea6420_ops); ··· 146 146 struct v4l2_subdev *sd = i2c_get_clientdata(client); 147 147 148 148 v4l2_device_unregister_subdev(sd); 149 - kfree(sd); 150 149 return 0; 151 150 } 152 151
+1 -3
drivers/media/i2c/tlv320aic23b.c
··· 162 162 v4l_info(client, "chip found @ 0x%x (%s)\n", 163 163 client->addr << 1, client->adapter->name); 164 164 165 - state = kzalloc(sizeof(struct tlv320aic23b_state), GFP_KERNEL); 165 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 166 166 if (state == NULL) 167 167 return -ENOMEM; 168 168 sd = &state->sd; ··· 191 191 int err = state->hdl.error; 192 192 193 193 v4l2_ctrl_handler_free(&state->hdl); 194 - kfree(state); 195 194 return err; 196 195 } 197 196 v4l2_ctrl_handler_setup(&state->hdl); ··· 204 205 205 206 v4l2_device_unregister_subdev(sd); 206 207 v4l2_ctrl_handler_free(&state->hdl); 207 - kfree(state); 208 208 return 0; 209 209 } 210 210
+1 -4
drivers/media/i2c/tvaudio.c
··· 1910 1910 printk("\n"); 1911 1911 } 1912 1912 1913 - chip = kzalloc(sizeof(*chip), GFP_KERNEL); 1913 + chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); 1914 1914 if (!chip) 1915 1915 return -ENOMEM; 1916 1916 sd = &chip->sd; ··· 1930 1930 } 1931 1931 if (desc->name == NULL) { 1932 1932 v4l2_dbg(1, debug, sd, "no matching chip description found\n"); 1933 - kfree(chip); 1934 1933 return -EIO; 1935 1934 } 1936 1935 v4l2_info(sd, "%s found @ 0x%x (%s)\n", desc->name, client->addr<<1, client->adapter->name); ··· 2000 2001 int err = chip->hdl.error; 2001 2002 2002 2003 v4l2_ctrl_handler_free(&chip->hdl); 2003 - kfree(chip); 2004 2004 return err; 2005 2005 } 2006 2006 /* set controls to the default values */ ··· 2041 2043 2042 2044 v4l2_device_unregister_subdev(sd); 2043 2045 v4l2_ctrl_handler_free(&chip->hdl); 2044 - kfree(chip); 2045 2046 return 0; 2046 2047 } 2047 2048
+4 -10
drivers/media/i2c/tvp5150.c
··· 1152 1152 I2C_FUNC_SMBUS_READ_BYTE | I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) 1153 1153 return -EIO; 1154 1154 1155 - core = kzalloc(sizeof(struct tvp5150), GFP_KERNEL); 1156 - if (!core) { 1155 + core = devm_kzalloc(&c->dev, sizeof(*core), GFP_KERNEL); 1156 + if (!core) 1157 1157 return -ENOMEM; 1158 - } 1159 1158 sd = &core->sd; 1160 1159 v4l2_i2c_subdev_init(sd, c, &tvp5150_ops); 1161 1160 ··· 1165 1166 for (i = 0; i < 4; i++) { 1166 1167 res = tvp5150_read(sd, TVP5150_MSB_DEV_ID + i); 1167 1168 if (res < 0) 1168 - goto free_core; 1169 + return res; 1169 1170 tvp5150_id[i] = res; 1170 1171 } 1171 1172 ··· 1208 1209 if (core->hdl.error) { 1209 1210 res = core->hdl.error; 1210 1211 v4l2_ctrl_handler_free(&core->hdl); 1211 - goto free_core; 1212 + return res; 1212 1213 } 1213 1214 v4l2_ctrl_handler_setup(&core->hdl); 1214 1215 ··· 1224 1225 if (debug > 1) 1225 1226 tvp5150_log_status(sd); 1226 1227 return 0; 1227 - 1228 - free_core: 1229 - kfree(core); 1230 - return res; 1231 1228 } 1232 1229 1233 1230 static int tvp5150_remove(struct i2c_client *c) ··· 1237 1242 1238 1243 v4l2_device_unregister_subdev(sd); 1239 1244 v4l2_ctrl_handler_free(&decoder->hdl); 1240 - kfree(to_tvp5150(sd)); 1241 1245 return 0; 1242 1246 } 1243 1247
+1 -4
drivers/media/i2c/tw2804.c
··· 368 368 if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) 369 369 return -ENODEV; 370 370 371 - state = kzalloc(sizeof(struct tw2804), GFP_KERNEL); 372 - 371 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 373 372 if (state == NULL) 374 373 return -ENOMEM; 375 374 sd = &state->sd; ··· 409 410 err = state->hdl.error; 410 411 if (err) { 411 412 v4l2_ctrl_handler_free(&state->hdl); 412 - kfree(state); 413 413 return err; 414 414 } 415 415 ··· 425 427 426 428 v4l2_device_unregister_subdev(sd); 427 429 v4l2_ctrl_handler_free(&state->hdl); 428 - kfree(state); 429 430 return 0; 430 431 } 431 432
+1 -4
drivers/media/i2c/tw9903.c
··· 215 215 v4l_info(client, "chip found @ 0x%02x (%s)\n", 216 216 client->addr << 1, client->adapter->name); 217 217 218 - dec = kzalloc(sizeof(struct tw9903), GFP_KERNEL); 218 + dec = devm_kzalloc(&client->dev, sizeof(*dec), GFP_KERNEL); 219 219 if (dec == NULL) 220 220 return -ENOMEM; 221 221 sd = &dec->sd; ··· 233 233 int err = hdl->error; 234 234 235 235 v4l2_ctrl_handler_free(hdl); 236 - kfree(dec); 237 236 return err; 238 237 } 239 238 ··· 241 242 242 243 if (write_regs(sd, initial_registers) < 0) { 243 244 v4l2_err(client, "error initializing TW9903\n"); 244 - kfree(dec); 245 245 return -EINVAL; 246 246 } 247 247 ··· 253 255 254 256 v4l2_device_unregister_subdev(sd); 255 257 v4l2_ctrl_handler_free(&to_state(sd)->hdl); 256 - kfree(to_state(sd)); 257 258 return 0; 258 259 } 259 260
+1 -4
drivers/media/i2c/tw9906.c
··· 183 183 v4l_info(client, "chip found @ 0x%02x (%s)\n", 184 184 client->addr << 1, client->adapter->name); 185 185 186 - dec = kzalloc(sizeof(struct tw9906), GFP_KERNEL); 186 + dec = devm_kzalloc(&client->dev, sizeof(*dec), GFP_KERNEL); 187 187 if (dec == NULL) 188 188 return -ENOMEM; 189 189 sd = &dec->sd; ··· 201 201 int err = hdl->error; 202 202 203 203 v4l2_ctrl_handler_free(hdl); 204 - kfree(dec); 205 204 return err; 206 205 } 207 206 ··· 209 210 210 211 if (write_regs(sd, initial_registers) < 0) { 211 212 v4l2_err(client, "error initializing TW9906\n"); 212 - kfree(dec); 213 213 return -EINVAL; 214 214 } 215 215 ··· 221 223 222 224 v4l2_device_unregister_subdev(sd); 223 225 v4l2_ctrl_handler_free(&to_state(sd)->hdl); 224 - kfree(to_state(sd)); 225 226 return 0; 226 227 } 227 228
+1 -2
drivers/media/i2c/uda1342.c
··· 69 69 dev_dbg(&client->dev, "initializing UDA1342 at address %d on %s\n", 70 70 client->addr, adapter->name); 71 71 72 - sd = kzalloc(sizeof(struct v4l2_subdev), GFP_KERNEL); 72 + sd = devm_kzalloc(&client->dev, sizeof(*sd), GFP_KERNEL); 73 73 if (sd == NULL) 74 74 return -ENOMEM; 75 75 ··· 89 89 struct v4l2_subdev *sd = i2c_get_clientdata(client); 90 90 91 91 v4l2_device_unregister_subdev(sd); 92 - kfree(sd); 93 92 return 0; 94 93 } 95 94
+1 -2
drivers/media/i2c/upd64031a.c
··· 230 230 v4l_info(client, "chip found @ 0x%x (%s)\n", 231 231 client->addr << 1, client->adapter->name); 232 232 233 - state = kzalloc(sizeof(struct upd64031a_state), GFP_KERNEL); 233 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 234 234 if (state == NULL) 235 235 return -ENOMEM; 236 236 sd = &state->sd; ··· 249 249 struct v4l2_subdev *sd = i2c_get_clientdata(client); 250 250 251 251 v4l2_device_unregister_subdev(sd); 252 - kfree(to_state(sd)); 253 252 return 0; 254 253 } 255 254
+1 -2
drivers/media/i2c/upd64083.c
··· 202 202 v4l_info(client, "chip found @ 0x%x (%s)\n", 203 203 client->addr << 1, client->adapter->name); 204 204 205 - state = kzalloc(sizeof(struct upd64083_state), GFP_KERNEL); 205 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 206 206 if (state == NULL) 207 207 return -ENOMEM; 208 208 sd = &state->sd; ··· 221 221 struct v4l2_subdev *sd = i2c_get_clientdata(client); 222 222 223 223 v4l2_device_unregister_subdev(sd); 224 - kfree(to_state(sd)); 225 224 return 0; 226 225 } 227 226
+1 -2
drivers/media/i2c/vp27smpx.c
··· 169 169 v4l_info(client, "chip found @ 0x%x (%s)\n", 170 170 client->addr << 1, client->adapter->name); 171 171 172 - state = kzalloc(sizeof(struct vp27smpx_state), GFP_KERNEL); 172 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 173 173 if (state == NULL) 174 174 return -ENOMEM; 175 175 sd = &state->sd; ··· 186 186 struct v4l2_subdev *sd = i2c_get_clientdata(client); 187 187 188 188 v4l2_device_unregister_subdev(sd); 189 - kfree(to_state(sd)); 190 189 return 0; 191 190 } 192 191
+2 -3
drivers/media/i2c/vpx3220.c
··· 499 499 I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)) 500 500 return -ENODEV; 501 501 502 - decoder = kzalloc(sizeof(struct vpx3220), GFP_KERNEL); 502 + decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); 503 503 if (decoder == NULL) 504 504 return -ENOMEM; 505 505 sd = &decoder->sd; ··· 521 521 int err = decoder->hdl.error; 522 522 523 523 v4l2_ctrl_handler_free(&decoder->hdl); 524 - kfree(decoder); 525 524 return err; 526 525 } 527 526 v4l2_ctrl_handler_setup(&decoder->hdl); ··· 565 566 566 567 v4l2_device_unregister_subdev(sd); 567 568 v4l2_ctrl_handler_free(&decoder->hdl); 568 - kfree(decoder); 569 + 569 570 return 0; 570 571 } 571 572
+2 -7
drivers/media/i2c/vs6624.c
··· 813 813 /* wait 100ms before any further i2c writes are performed */ 814 814 mdelay(100); 815 815 816 - sensor = kzalloc(sizeof(*sensor), GFP_KERNEL); 817 - if (sensor == NULL) { 818 - gpio_free(*ce); 816 + sensor = devm_kzalloc(&client->dev, sizeof(*sensor), GFP_KERNEL); 817 + if (sensor == NULL) 819 818 return -ENOMEM; 820 - } 821 819 822 820 sd = &sensor->sd; 823 821 v4l2_i2c_subdev_init(sd, client, &vs6624_ops); ··· 863 865 int err = hdl->error; 864 866 865 867 v4l2_ctrl_handler_free(hdl); 866 - kfree(sensor); 867 868 gpio_free(*ce); 868 869 return err; 869 870 } ··· 871 874 ret = v4l2_ctrl_handler_setup(hdl); 872 875 if (ret) { 873 876 v4l2_ctrl_handler_free(hdl); 874 - kfree(sensor); 875 877 gpio_free(*ce); 876 878 } 877 879 return ret; ··· 884 888 v4l2_device_unregister_subdev(sd); 885 889 v4l2_ctrl_handler_free(sd->ctrl_handler); 886 890 gpio_free(sensor->ce_pin); 887 - kfree(sensor); 888 891 return 0; 889 892 } 890 893
+1 -3
drivers/media/i2c/wm8739.c
··· 220 220 v4l_info(client, "chip found @ 0x%x (%s)\n", 221 221 client->addr << 1, client->adapter->name); 222 222 223 - state = kzalloc(sizeof(struct wm8739_state), GFP_KERNEL); 223 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 224 224 if (state == NULL) 225 225 return -ENOMEM; 226 226 sd = &state->sd; ··· 237 237 int err = state->hdl.error; 238 238 239 239 v4l2_ctrl_handler_free(&state->hdl); 240 - kfree(state); 241 240 return err; 242 241 } 243 242 v4l2_ctrl_cluster(3, &state->volume); ··· 270 271 271 272 v4l2_device_unregister_subdev(sd); 272 273 v4l2_ctrl_handler_free(&state->hdl); 273 - kfree(to_state(sd)); 274 274 return 0; 275 275 } 276 276
+1 -3
drivers/media/i2c/wm8775.c
··· 241 241 v4l_info(client, "chip found @ 0x%02x (%s)\n", 242 242 client->addr << 1, client->adapter->name); 243 243 244 - state = kzalloc(sizeof(struct wm8775_state), GFP_KERNEL); 244 + state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); 245 245 if (state == NULL) 246 246 return -ENOMEM; 247 247 sd = &state->sd; ··· 261 261 err = state->hdl.error; 262 262 if (err) { 263 263 v4l2_ctrl_handler_free(&state->hdl); 264 - kfree(state); 265 264 return err; 266 265 } 267 266 ··· 318 319 319 320 v4l2_device_unregister_subdev(sd); 320 321 v4l2_ctrl_handler_free(&state->hdl); 321 - kfree(state); 322 322 return 0; 323 323 } 324 324