Patch "tpm: Get rid of chip->pdev" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
tpm: Get rid of chip->pdev
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
tpm-get-rid-of-chip-pdev.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8cfffc9d4d3786d3b496a021d7224e06328bac7dMon Sep 17 00:00:00 2001
From: Jason Gunthorpe <[email protected]>
Date: Mon, 29 Feb 2016 12:29:47 -0500
Subject: tpm: Get rid of chip->pdev
From: Jason Gunthorpe <[email protected]>
commit 8cfffc9d4d3786d3b496a021d7224e06328bac7d upstream.
This is a hold over from before the struct device conversion.
- All prints should be using &chip->dev, which is the Linux standard. This changes prints to use tpm0 as the device name, not the PnP/etc ID.
- The few places involving sysfs/modules that really do need the parent just use chip->dev.parent instead
- We no longer need to get_device(pdev) in any places since it is no longer used by any of the code. The kref on the parent is held by the device core during device_add and dropped in device_del
--- drivers/char/tpm/tpm-chip.c | 15 ++++++--------- drivers/char/tpm/tpm-dev.c | 4 +--- drivers/char/tpm/tpm-interface.c | 30 ++++++++++++++++-------------- drivers/char/tpm/tpm-sysfs.c | 6 +++--- drivers/char/tpm/tpm.h | 3 +-- drivers/char/tpm/tpm2-cmd.c | 8 ++++---- drivers/char/tpm/tpm_atmel.c | 14 +++++++------- drivers/char/tpm/tpm_i2c_atmel.c | 16 ++++++++-------- drivers/char/tpm/tpm_i2c_infineon.c | 6 +++--- drivers/char/tpm/tpm_i2c_nuvoton.c | 22 +++++++++++----------- drivers/char/tpm/tpm_infineon.c | 22 +++++++++++----------- drivers/char/tpm/tpm_nsc.c | 20 ++++++++++---------- drivers/char/tpm/tpm_tis.c | 16 ++++++++-------- 13 files changed, 89 insertions(+), 93 deletions(-)
drivers/char/tpm/tpm-chip.c +6 -9
@@ -49,7 +49,7 @@ struct tpm_chip *tpm_chip_find_get(int cif (chip_num !=TPM_ANY_NUM && chip_num != pos->dev_num)continue ; -if (try_module_get (pos->pdev->driver->owner)) { +if (try_module_get (pos->dev.parent->driver->owner)) { chip = pos;break ; }
@@ -112,13 +112,11 @@ struct tpm_chip *tpmm_chip_alloc(structscnprintf (chip->devname,sizeof (chip->devname),"tpm%d" , chip->dev_num); - chip->pdev = dev; -dev_set_drvdata (dev, chip); chip->dev.class = tpm_class; chip->dev.release = tpm_dev_release; - chip->dev.parent = chip->pdev; + chip->dev.parent = dev;#ifdef CONFIG_ACPI chip->dev.groups = chip->groups;#endif
@@ -133,7 +131,7 @@ struct tpm_chip *tpmm_chip_alloc(structdevice_initialize (&chip->dev);cdev_init (&chip->cdev, &tpm_fops); - chip->cdev.owner = chip->pdev->driver->owner; + chip->cdev.owner = dev->driver->owner; chip->cdev.kobj.parent = &chip->dev.kobj;devm_add_action (dev, (void (*)(void *)) put_device, &chip->dev);
@@ -236,9 +234,8 @@ int tpm_chip_register(struct tpm_chip *c chip->flags |=TPM_CHIP_FLAG_REGISTERED ;if (!(chip->flags &TPM_CHIP_FLAG_TPM2 )) { - rc =__compat_only_sysfs_link_entry_to_kobj (&chip->pdev->kobj, - &chip->dev.kobj, -"ppi" ); + rc =__compat_only_sysfs_link_entry_to_kobj ( + &chip->dev.parent->kobj, &chip->dev.kobj,"ppi" );if (rc && rc != -ENOENT ) {tpm_chip_unregister (chip);return rc;
@@ -273,7 +270,7 @@ void tpm_chip_unregister(struct tpm_chipsynchronize_rcu ();if (!(chip->flags &TPM_CHIP_FLAG_TPM2 )) -sysfs_remove_link (&chip->pdev->kobj,"ppi" ); +sysfs_remove_link (&chip->dev.parent->kobj,"ppi" );tpm1_chip_unregister (chip);tpm_del_char_device (chip);
drivers/char/tpm/tpm-dev.c +1 -3
@@ -61,7 +61,7 @@ static int tpm_open(struct inode *inode,* by the check of is_open variable, which is protected * by driver_lock. */ if (test_and_set_bit (0 , &chip->is_open)) { -dev_dbg (chip->pdev,"Another process owns this TPM\n" ); +dev_dbg (&chip->dev,"Another process owns this TPM\n" );return -EBUSY ; }
@@ -79,7 +79,6 @@ static int tpm_open(struct inode *inode,INIT_WORK (&priv->work, timeout_work); file->private_data = priv; -get_device (chip->pdev);return 0 ; }
@@ -166,7 +165,6 @@ static int tpm_release(struct inode *ino file->private_data =NULL ;atomic_set (&priv->data_pending,0 );clear_bit (0 , &priv->chip->is_open); -put_device (priv->chip->pdev);kfree (priv);return 0 ; }
drivers/char/tpm/tpm-interface.c +16 -14
@@ -343,7 +343,7 @@ ssize_t tpm_transmit(struct tpm_chip *chif (count ==0 )return -ENODATA ;if (count > bufsiz) { -dev_err (chip->pdev, +dev_err (&chip->dev,"invalid count value %x %zx\n" , count, bufsiz);return -E2BIG ; }
@@ -353,7 +353,7 @@ ssize_t tpm_transmit(struct tpm_chip *ch rc = chip->ops->send (chip, (u8 *) buf, count);if (rc <0 ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"tpm_transmit: tpm_send: error %zd\n" , rc); goto out; }
@@ -372,7 +372,7 @@ ssize_t tpm_transmit(struct tpm_chip *ch goto out_recv;if (chip->ops->req_canceled (chip, status)) { -dev_err (chip->pdev,"Operation Canceled\n" ); +dev_err (&chip->dev,"Operation Canceled\n" ); rc = -ECANCELED ; goto out; }
@@ -382,14 +382,14 @@ ssize_t tpm_transmit(struct tpm_chip *ch }while (time_before (jiffies, stop)); chip->ops->cancel (chip); -dev_err (chip->pdev,"Operation Timed out\n" ); +dev_err (&chip->dev,"Operation Timed out\n" ); rc = -ETIME ; goto out; out_recv: rc = chip->ops->recv (chip, (u8 *) buf, bufsiz);if (rc <0 ) -dev_err (chip->pdev, +dev_err (&chip->dev,"tpm_transmit: tpm_recv: error %zd\n" , rc); out:if (!(flags &TPM_TRANSMIT_UNLOCKED ))
@@ -416,7 +416,7 @@ ssize_t tpm_transmit_cmd(struct tpm_chip err =be32_to_cpu (header->return_code);if (err !=0 && desc) -dev_err (chip->pdev,"A TPM error (%d) occurred %s\n" , err, +dev_err (&chip->dev,"A TPM error (%d) occurred %s\n" , err, desc);return err;
@@ -514,7 +514,7 @@ int tpm_get_timeouts(struct tpm_chip *chif (rc ==TPM_ERR_INVALID_POSTINIT ) {/* The TPM is not started, we are the first to talk to it. Execute a startup command. */ -dev_info (chip->pdev,"Issuing TPM_STARTUP" ); +dev_info (&chip->dev,"Issuing TPM_STARTUP" );if (tpm_startup (chip,TPM_ST_CLEAR ))return rc;
@@ -526,7 +526,7 @@ int tpm_get_timeouts(struct tpm_chip *ch 0, NULL); }if (rc) { -dev_err (chip->pdev, +dev_err (&chip->dev,"A TPM error (%zd) occurred attempting to determine the timeouts\n" , rc); goto duration;
@@ -565,7 +565,7 @@ int tpm_get_timeouts(struct tpm_chip *ch/* Report adjusted timeouts */ if (chip->vendor.timeout_adjusted) { - dev_info(chip->pdev, + dev_info(&chip->dev, HW_ERR "Adjusting reported timeouts: A %lu->%luus B %lu->%luus C %lu->%luus D %lu->%luus\n", old_timeout[0], new_timeout[0], old_timeout[1], new_timeout[1],
@@ -612,7 +612,7 @@ duration: chip->vendor.duration[TPM_MEDIUM ] *=1000 ; chip->vendor.duration[TPM_LONG ] *=1000 ; chip->vendor.duration_adjusted = true; -dev_info (chip->pdev,"Adjusting TPM timeout parameters." ); +dev_info (&chip->dev,"Adjusting TPM timeout parameters." ); }return 0 ; }
@@ -802,7 +802,9 @@ int tpm_do_selftest(struct tpm_chip *chi* around 300ms while the self test is ongoing, keep trying * until the self test duration expires. */ if (rc == -ETIME ) { -dev_info (chip->pdev,HW_ERR "TPM command timed out during continue self test" ); +dev_info ( + &chip->dev,HW_ERR +"TPM command timed out during continue self test" );msleep (delay_msec);continue ; }
@@ -812,7 +814,7 @@ int tpm_do_selftest(struct tpm_chip *chi rc =be32_to_cpu (cmd.header.out.return_code);if (rc ==TPM_ERR_DISABLED || rc ==TPM_ERR_DEACTIVATED ) { -dev_info (chip->pdev, +dev_info (&chip->dev,"TPM is disabled/deactivated (0x%X)\n" , rc);/* TPM is disabled and/or deactivated; driver can * proceed and TPM does handle commands for
@@ -966,10 +968,10 @@ int tpm_pm_suspend(struct device *dev) }if (rc) -dev_err (chip->pdev, +dev_err (&chip->dev,"Error (%d) sending savestate before suspend\n" , rc);else if (try >0 ) -dev_warn (chip->pdev,"TPM savestate took %dms\n" , +dev_warn (&chip->dev,"TPM savestate took %dms\n" , try *TPM_TIMEOUT_RETRY );return rc;
drivers/char/tpm/tpm-sysfs.c +3 -3
@@ -284,16 +284,16 @@ static const struct attribute_group tpm_int tpm_sysfs_add_device (struct tpm_chip *chip) {int err; - err =sysfs_create_group (&chip->pdev->kobj, + err =sysfs_create_group (&chip->dev.parent->kobj, &tpm_dev_group);if (err) -dev_err (chip->pdev, +dev_err (&chip->dev,"failed to create sysfs attributes, %d\n" , err);return err; }void tpm_sysfs_del_device (struct tpm_chip *chip) { -sysfs_remove_group (&chip->pdev->kobj, &tpm_dev_group); +sysfs_remove_group (&chip->dev.parent->kobj, &tpm_dev_group); }
drivers/char/tpm/tpm.h +1 -2
@@ -171,7 +171,6 @@ enum tpm_chip_flags { };struct tpm_chip { -struct device *pdev;/* Device stuff */ struct device dev;struct cdev cdev;
@@ -203,7 +202,7 @@ struct tpm_chip {static inline void tpm_chip_put (struct tpm_chip *chip) { -module_put (chip->pdev->driver->owner); +module_put (chip->dev.parent->driver->owner); }static inline int tpm_read_index (int base,int index)
drivers/char/tpm/tpm2-cmd.c +4 -4
@@ -570,7 +570,7 @@ static void tpm2_flush_context_cmd(struc rc =tpm_buf_init (&buf,TPM2_ST_NO_SESSIONS ,TPM2_CC_FLUSH_CONTEXT );if (rc) { -dev_warn (chip->pdev,"0x%08x was not flushed, out of memory\n" , +dev_warn (&chip->dev,"0x%08x was not flushed, out of memory\n" , handle);return ; }
@@ -580,7 +580,7 @@ static void tpm2_flush_context_cmd(struc rc =tpm_transmit_cmd (chip, buf.data,PAGE_SIZE , flags,"flushing context" );if (rc) -dev_warn (chip->pdev,"0x%08x was not flushed, rc=%d\n" , handle, +dev_warn (&chip->dev,"0x%08x was not flushed, rc=%d\n" , handle, rc);tpm_buf_destroy (&buf);
@@ -753,7 +753,7 @@ void tpm2_shutdown(struct tpm_chip *chip* except print the error code on a system failure. */ if (rc <0 ) -dev_warn (chip->pdev,"transmit returned %d while stopping the TPM" , +dev_warn (&chip->dev,"transmit returned %d while stopping the TPM" , rc); }EXPORT_SYMBOL_GPL (tpm2_shutdown);
@@ -820,7 +820,7 @@ static int tpm2_start_selftest(struct tp* immediately. This is a workaround for that. */ if (rc ==TPM2_RC_TESTING ) { -dev_warn (chip->pdev,"Got RC_TESTING, ignoring\n" ); +dev_warn (&chip->dev,"Got RC_TESTING, ignoring\n" ); rc =0 ; }
drivers/char/tpm/tpm_atmel.c +7 -7
@@ -49,7 +49,7 @@ static int tpm_atml_recv(struct tpm_chipfor (i =0 ; i <6 ; i++) { status =ioread8 (chip->vendor.iobase +1 );if ((status &ATML_STATUS_DATA_AVAIL ) ==0 ) { -dev_err (chip->pdev,"error reading header\n" ); +dev_err (&chip->dev,"error reading header\n" );return -EIO ; } *buf++ =ioread8 (chip->vendor.iobase);
@@ -60,12 +60,12 @@ static int tpm_atml_recv(struct tpm_chip size =be32_to_cpu (*native_size);if (count < size) { -dev_err (chip->pdev, +dev_err (&chip->dev,"Recv size(%d) less than available space\n" , size);for (; i < size; i++) {/* clear the waiting data anyway */ status =ioread8 (chip->vendor.iobase +1 );if ((status &ATML_STATUS_DATA_AVAIL ) ==0 ) { -dev_err (chip->pdev,"error reading data\n" ); +dev_err (&chip->dev,"error reading data\n" );return -EIO ; } }
@@ -76,7 +76,7 @@ static int tpm_atml_recv(struct tpm_chipfor (; i < size; i++) { status =ioread8 (chip->vendor.iobase +1 );if ((status &ATML_STATUS_DATA_AVAIL ) ==0 ) { -dev_err (chip->pdev,"error reading data\n" ); +dev_err (&chip->dev,"error reading data\n" );return -EIO ; } *buf++ =ioread8 (chip->vendor.iobase);
@@ -86,7 +86,7 @@ static int tpm_atml_recv(struct tpm_chip status =ioread8 (chip->vendor.iobase +1 );if (status &ATML_STATUS_DATA_AVAIL ) { -dev_err (chip->pdev,"data available is stuck\n" ); +dev_err (&chip->dev,"data available is stuck\n" );return -EIO ; }
@@ -97,9 +97,9 @@ static int tpm_atml_send(struct tpm_chip {int i; -dev_dbg (chip->pdev,"tpm_atml_send:\n" ); +dev_dbg (&chip->dev,"tpm_atml_send:\n" );for (i =0 ; i < count; i++) { -dev_dbg (chip->pdev,"%d 0x%x(%d)\n" , i, buf[i], buf[i]); +dev_dbg (&chip->dev,"%d 0x%x(%d)\n" , i, buf[i], buf[i]);iowrite8 (buf[i], chip->vendor.iobase); }
drivers/char/tpm/tpm_i2c_atmel.c +8 -8
@@ -52,7 +52,7 @@ struct priv_data {static int i2c_atmel_send (struct tpm_chip *chip,u8 *buf,size_t len) {struct priv_data *priv = chip->vendor.priv; -struct i2c_client *client =to_i2c_client (chip->pdev); +struct i2c_client *client =to_i2c_client (chip->dev.parent);s32 status; priv->len =0 ;
@@ -62,7 +62,7 @@ static int i2c_atmel_send(struct tpm_chi status =i2c_master_send (client, buf, len); -dev_dbg (chip->pdev, +dev_dbg (&chip->dev,"%s(buf=%*ph len=%0zx) -> sts=%d\n" , __func__, (int )min_t (size_t,64 , len), buf, len, status);return status;
@@ -71,7 +71,7 @@ static int i2c_atmel_send(struct tpm_chistatic int i2c_atmel_recv (struct tpm_chip *chip,u8 *buf,size_t count) {struct priv_data *priv = chip->vendor.priv; -struct i2c_client *client =to_i2c_client (chip->pdev); +struct i2c_client *client =to_i2c_client (chip->dev.parent);struct tpm_output_header *hdr = (struct tpm_output_header *)priv->buffer;u32 expected_len;
@@ -88,7 +88,7 @@ static int i2c_atmel_recv(struct tpm_chireturn -ENOMEM ;if (priv->len >= expected_len) { -dev_dbg (chip->pdev, +dev_dbg (&chip->dev,"%s early(buf=%*ph count=%0zx) -> ret=%d\n" , __func__, (int )min_t (size_t,64 , expected_len), buf, count, expected_len);
@@ -97,7 +97,7 @@ static int i2c_atmel_recv(struct tpm_chi } rc =i2c_master_recv (client, buf, expected_len); -dev_dbg (chip->pdev, +dev_dbg (&chip->dev,"%s reread(buf=%*ph count=%0zx) -> ret=%d\n" , __func__, (int )min_t (size_t,64 , expected_len), buf, count, expected_len);
@@ -106,13 +106,13 @@ static int i2c_atmel_recv(struct tpm_chistatic void i2c_atmel_cancel (struct tpm_chip *chip) { -dev_err (chip->pdev,"TPM operation cancellation was requested, but is not supported" ); +dev_err (&chip->dev,"TPM operation cancellation was requested, but is not supported" ); }static u8 i2c_atmel_read_status (struct tpm_chip *chip) {struct priv_data *priv = chip->vendor.priv; -struct i2c_client *client =to_i2c_client (chip->pdev); +struct i2c_client *client =to_i2c_client (chip->dev.parent);int rc;/* The TPM fails the I2C read until it is ready, so we do the entire
@@ -125,7 +125,7 @@ static u8 i2c_atmel_read_status(struct t/* Once the TPM has completed the command the command remains readable * until another command is issued. */ rc =i2c_master_recv (client, priv->buffer,sizeof (priv->buffer)); -dev_dbg (chip->pdev, +dev_dbg (&chip->dev,"%s: sts=%d" , __func__, rc);if (rc <=0 )return 0 ;
drivers/char/tpm/tpm_i2c_infineon.c +3 -3
@@ -446,7 +446,7 @@ static int tpm_tis_i2c_recv(struct tpm_c/* read first 10 bytes, including tag, paramsize, and result */ size =recv_data (chip, buf,TPM_HEADER_SIZE );if (size <TPM_HEADER_SIZE ) { -dev_err (chip->pdev,"Unable to read header\n" ); +dev_err (&chip->dev,"Unable to read header\n" ); goto out; }
@@ -459,14 +459,14 @@ static int tpm_tis_i2c_recv(struct tpm_c size +=recv_data (chip, &buf[TPM_HEADER_SIZE ], expected -TPM_HEADER_SIZE );if (size < expected) { -dev_err (chip->pdev,"Unable to read remainder of result\n" ); +dev_err (&chip->dev,"Unable to read remainder of result\n" ); size = -ETIME ; goto out; }wait_for_stat (chip,TPM_STS_VALID , chip->vendor.timeout_c, &status);if (status &TPM_STS_DATA_AVAIL ) {/* retry? */ -dev_err (chip->pdev,"Error left over data\n" ); +dev_err (&chip->dev,"Error left over data\n" ); size = -EIO ; goto out; }
drivers/char/tpm/tpm_i2c_nuvoton.c +11 -11
@@ -96,13 +96,13 @@ static s32 i2c_nuvoton_write_buf(struct/* read TPM_STS register */ static u8 i2c_nuvoton_read_status (struct tpm_chip *chip) { -struct i2c_client *client =to_i2c_client (chip->pdev); +struct i2c_client *client =to_i2c_client (chip->dev.parent);s32 status;u8 data; status =i2c_nuvoton_read_buf (client,TPM_STS ,1 , &data);if (status <=0 ) { -dev_err (chip->pdev,"%s() error return %d\n" , __func__, +dev_err (&chip->dev,"%s() error return %d\n" , __func__, status); data =TPM_STS_ERR_VAL ; }
@@ -127,13 +127,13 @@ static s32 i2c_nuvoton_write_status(stru/* write commandReady to TPM_STS register */ static void i2c_nuvoton_ready (struct tpm_chip *chip) { -struct i2c_client *client =to_i2c_client (chip->pdev); +struct i2c_client *client =to_i2c_client (chip->dev.parent);s32 status;/* this causes the current command to be aborted */ status =i2c_nuvoton_write_status (client,TPM_STS_COMMAND_READY );if (status <0 ) -dev_err (chip->pdev, +dev_err (&chip->dev,"%s() fail to write TPM_STS.commandReady\n" , __func__); }
@@ -212,7 +212,7 @@ static int i2c_nuvoton_wait_for_stat(strreturn 0 ; }while (time_before (jiffies, stop)); } -dev_err (chip->pdev,"%s(%02x, %02x) -> timeout\n" , __func__, mask, +dev_err (&chip->dev,"%s(%02x, %02x) -> timeout\n" , __func__, mask, value);return -ETIMEDOUT ; }
@@ -240,7 +240,7 @@ static int i2c_nuvoton_recv_data(struct &chip->vendor.read_queue) == 0) { burst_count =i2c_nuvoton_get_burstcount (client, chip);if (burst_count <0 ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"%s() fail to read burstCount=%d\n" , __func__, burst_count);return -EIO ;
@@ -249,12 +249,12 @@ static int i2c_nuvoton_recv_data(struct rc =i2c_nuvoton_read_buf (client,TPM_DATA_FIFO_R , bytes2read, &buf[size]);if (rc <0 ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"%s() fail on i2c_nuvoton_read_buf()=%d\n" , __func__, rc);return -EIO ; } -dev_dbg (chip->pdev,"%s(%d):" , __func__, bytes2read); +dev_dbg (&chip->dev,"%s(%d):" , __func__, bytes2read); size += bytes2read; }
@@ -264,7 +264,7 @@ static int i2c_nuvoton_recv_data(struct/* Read TPM command results */ static int i2c_nuvoton_recv (struct tpm_chip *chip,u8 *buf,size_t count) { -struct device *dev = chip->pdev; +struct device *dev = chip->dev.parent;struct i2c_client *client =to_i2c_client (dev);s32 rc;int expected, status, burst_count, retries, size =0 ;
@@ -334,7 +334,7 @@ static int i2c_nuvoton_recv(struct tpm_cbreak ; }i2c_nuvoton_ready (chip); -dev_dbg (chip->pdev,"%s() -> %d\n" , __func__, size); +dev_dbg (&chip->dev,"%s() -> %d\n" , __func__, size);return size; }
@@ -347,7 +347,7 @@ static int i2c_nuvoton_recv(struct tpm_c*/ static int i2c_nuvoton_send (struct tpm_chip *chip,u8 *buf,size_t len) { -struct device *dev = chip->pdev; +struct device *dev = chip->dev.parent;struct i2c_client *client =to_i2c_client (dev);u32 ordinal;size_t count =0 ;
drivers/char/tpm/tpm_infineon.c +11 -11
@@ -195,9 +195,9 @@ static int wait(struct tpm_chip *chip, i }if (i ==TPM_MAX_TRIES ) {/* timeout occurs */ if (wait_for_bit ==STAT_XFE ) -dev_err (chip->pdev,"Timeout in wait(STAT_XFE)\n" ); +dev_err (&chip->dev,"Timeout in wait(STAT_XFE)\n" );if (wait_for_bit ==STAT_RDA ) -dev_err (chip->pdev,"Timeout in wait(STAT_RDA)\n" ); +dev_err (&chip->dev,"Timeout in wait(STAT_RDA)\n" );return -EIO ; }return 0 ;
@@ -220,7 +220,7 @@ static void wait_and_send(struct tpm_chistatic void tpm_wtx (struct tpm_chip *chip) { number_of_wtx++; -dev_info (chip->pdev,"Granting WTX (%02d / %02d)\n" , +dev_info (&chip->dev,"Granting WTX (%02d / %02d)\n" , number_of_wtx,TPM_MAX_WTX_PACKAGES );wait_and_send (chip,TPM_VL_VER );wait_and_send (chip,TPM_CTRL_WTX );
@@ -231,7 +231,7 @@ static void tpm_wtx(struct tpm_chip *chistatic void tpm_wtx_abort (struct tpm_chip *chip) { -dev_info (chip->pdev,"Aborting WTX\n" ); +dev_info (&chip->dev,"Aborting WTX\n" );wait_and_send (chip,TPM_VL_VER );wait_and_send (chip,TPM_CTRL_WTX_ABORT );wait_and_send (chip,0x00 );
@@ -257,7 +257,7 @@ recv_begin: }if (buf[0 ] !=TPM_VL_VER ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"Wrong transport protocol implementation!\n" );return -EIO ; }
@@ -272,7 +272,7 @@ recv_begin: }if ((size ==0x6D00 ) && (buf[1 ] ==0x80 )) { -dev_err (chip->pdev,"Error handling on vendor layer!\n" ); +dev_err (&chip->dev,"Error handling on vendor layer!\n" );return -EIO ; }
@@ -284,7 +284,7 @@ recv_begin: }if (buf[1 ] ==TPM_CTRL_WTX ) { -dev_info (chip->pdev,"WTX-package received\n" ); +dev_info (&chip->dev,"WTX-package received\n" );if (number_of_wtx <TPM_MAX_WTX_PACKAGES ) {tpm_wtx (chip); goto recv_begin;
@@ -295,14 +295,14 @@ recv_begin: }if (buf[1 ] ==TPM_CTRL_WTX_ABORT_ACK ) { -dev_info (chip->pdev,"WTX-abort acknowledged\n" ); +dev_info (&chip->dev,"WTX-abort acknowledged\n" );return size; }if (buf[1 ] ==TPM_CTRL_ERROR ) { -dev_err (chip->pdev,"ERROR-package received:\n" ); +dev_err (&chip->dev,"ERROR-package received:\n" );if (buf[4 ] ==TPM_INF_NAK ) -dev_err (chip->pdev, +dev_err (&chip->dev,"-> Negative acknowledgement" " - retransmit command!\n" );return -EIO ;
@@ -321,7 +321,7 @@ static int tpm_inf_send(struct tpm_chip ret =empty_fifo (chip,1 );if (ret) { -dev_err (chip->pdev,"Timeout while clearing FIFO\n" ); +dev_err (&chip->dev,"Timeout while clearing FIFO\n" );return -EIO ; }
drivers/char/tpm/tpm_nsc.c +10 -10
@@ -113,7 +113,7 @@ static int nsc_wait_for_ready(struct tpm }while (time_before (jiffies, stop)); -dev_info (chip->pdev,"wait for ready failed\n" ); +dev_info (&chip->dev,"wait for ready failed\n" );return -EBUSY ; }
@@ -129,12 +129,12 @@ static int tpm_nsc_recv(struct tpm_chipreturn -EIO ;if (wait_for_stat (chip,NSC_STATUS_F0 ,NSC_STATUS_F0 , &data) <0 ) { -dev_err (chip->pdev,"F0 timeout\n" ); +dev_err (&chip->dev,"F0 timeout\n" );return -EIO ; }if ((data =inb (chip->vendor.base +NSC_DATA )) !=NSC_COMMAND_NORMAL ) { -dev_err (chip->pdev,"not in normal mode (0x%x)\n" , +dev_err (&chip->dev,"not in normal mode (0x%x)\n" , data);return -EIO ; }
@@ -143,7 +143,7 @@ static int tpm_nsc_recv(struct tpm_chipfor (p = buffer; p < &buffer[count]; p++) {if (wait_for_stat (chip,NSC_STATUS_OBF ,NSC_STATUS_OBF , &data) <0 ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"OBF timeout (while reading data)\n" );return -EIO ; }
@@ -154,11 +154,11 @@ static int tpm_nsc_recv(struct tpm_chipif ((data &NSC_STATUS_F0 ) ==0 && (wait_for_stat (chip,NSC_STATUS_F0 ,NSC_STATUS_F0 , &data) <0 )) { -dev_err (chip->pdev,"F0 not set\n" ); +dev_err (&chip->dev,"F0 not set\n" );return -EIO ; }if ((data =inb (chip->vendor.base +NSC_DATA )) !=NSC_COMMAND_EOC ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"expected end of command(0x%x)\n" , data);return -EIO ; }
@@ -189,19 +189,19 @@ static int tpm_nsc_send(struct tpm_chipreturn -EIO ;if (wait_for_stat (chip,NSC_STATUS_IBF ,0 , &data) <0 ) { -dev_err (chip->pdev,"IBF timeout\n" ); +dev_err (&chip->dev,"IBF timeout\n" );return -EIO ; }outb (NSC_COMMAND_NORMAL , chip->vendor.base +NSC_COMMAND );if (wait_for_stat (chip,NSC_STATUS_IBR ,NSC_STATUS_IBR , &data) <0 ) { -dev_err (chip->pdev,"IBR timeout\n" ); +dev_err (&chip->dev,"IBR timeout\n" );return -EIO ; }for (i =0 ; i < count; i++) {if (wait_for_stat (chip,NSC_STATUS_IBF ,0 , &data) <0 ) { -dev_err (chip->pdev, +dev_err (&chip->dev,"IBF timeout (while writing data)\n" );return -EIO ; }
@@ -209,7 +209,7 @@ static int tpm_nsc_send(struct tpm_chip }if (wait_for_stat (chip,NSC_STATUS_IBF ,0 , &data) <0 ) { -dev_err (chip->pdev,"IBF timeout\n" ); +dev_err (&chip->dev,"IBF timeout\n" );return -EIO ; }outb (NSC_COMMAND_EOC , chip->vendor.base +NSC_COMMAND );
drivers/char/tpm/tpm_tis.c +8 -8
@@ -293,7 +293,7 @@ static int tpm_tis_recv(struct tpm_chip/* read first 10 bytes, including tag, paramsize, and result */ if ((size =recv_data (chip, buf,TPM_HEADER_SIZE )) <TPM_HEADER_SIZE ) { -dev_err (chip->pdev,"Unable to read header\n" ); +dev_err (&chip->dev,"Unable to read header\n" ); goto out; }
@@ -306,7 +306,7 @@ static int tpm_tis_recv(struct tpm_chipif ((size +=recv_data (chip, &buf[TPM_HEADER_SIZE ], expected -TPM_HEADER_SIZE )) < expected) { -dev_err (chip->pdev,"Unable to read remainder of result\n" ); +dev_err (&chip->dev,"Unable to read remainder of result\n" ); size = -ETIME ; goto out; }
@@ -315,7 +315,7 @@ static int tpm_tis_recv(struct tpm_chip &chip->vendor.int_queue, false); status =tpm_tis_status (chip);if (status &TPM_STS_DATA_AVAIL ) {/* retry? */ -dev_err (chip->pdev,"Error left over data\n" ); +dev_err (&chip->dev,"Error left over data\n" ); size = -EIO ; goto out; }
@@ -401,7 +401,7 @@ static void disable_interrupts(struct tpiowrite32 (intmask, chip->vendor.iobase +TPM_INT_ENABLE (chip->vendor.locality)); -devm_free_irq (chip->pdev, chip->vendor.irq, chip); +devm_free_irq (&chip->dev, chip->vendor.irq, chip); chip->vendor.irq =0 ; }
@@ -463,7 +463,7 @@ static int tpm_tis_send(struct tpm_chipmsleep (1 );if (!priv->irq_tested) {disable_interrupts (chip); -dev_err (chip->pdev, +dev_err (&chip->dev,FW_BUG "TPM interrupt not working, polling instead\n" ); } priv->irq_tested = true;
@@ -533,7 +533,7 @@ static int probe_itpm(struct tpm_chip *c rc =tpm_tis_send_data (chip, cmd_getticks, len);if (rc ==0 ) { -dev_info (chip->pdev,"Detected an iTPM.\n" ); +dev_info (&chip->dev,"Detected an iTPM.\n" ); rc =1 ; }else rc = -EFAULT ;
@@ -766,7 +766,7 @@ static int tpm_tis_init(struct device *dif (devm_request_irq (dev, i, tis_int_probe,IRQF_SHARED , chip->devname, chip) !=0 ) { -dev_info (chip->pdev, +dev_info (&chip->dev,"Unable to request irq: %d for probe\n" , i);continue ;
@@ -818,7 +818,7 @@ static int tpm_tis_init(struct device *dif (devm_request_irq (dev, chip->vendor.irq, tis_int_handler,IRQF_SHARED , chip->devname, chip) !=0 ) { -dev_info (chip->pdev, +dev_info (&chip->dev,"Unable to request irq: %d for use\n" , chip->vendor.irq); chip->vendor.irq =0 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/tpm-provide-strong-locking-for-device-removal.patch queue-4.4/tpm-get-rid-of-chip-pdev.patch