Subject: Re: linux-next: build failure after merge of the driver-core tree

From: Greg KH <[email-masked]>
Date: Tue, 16 Feb 2010 20:56:16 -0800

On Tue, Feb 16, 2010 at 10:01:00AM +0100, Jean Delvare wrote:
> Hi Stephen,
> 
> On Tue, 16 Feb 2010 17:39:26 +1100, Stephen Rothwell wrote:
> > After merging the driver-core tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > drivers/i2c/i2c-smbus.c:58: error: 'struct device' has no member named 'sem'
> > drivers/i2c/i2c-smbus.c:66: error: 'struct device' has no member named 'sem'
> > 
> > Caused by commit 0819a881db29059d113fc5f019f7c489dea5937d from the
> > driver-core tree interacting with commit
> > 38f1e8aedf0a238d56fbcd3660fc140b50dbc89a ("i2c: Add SMBus alert support")
> > from the i2c tree.
> > 
> > I have applied the following patch for today and will use it as a merge
> > fixup for the driver-core tree while necessary.
> 
> Thanks for the heads up and the fix. Greg, is there an API I am
> supposed to use instead of accessing the device's semaphore/mutex
> directly?

I will create a device_lock() and device_unlock() api to solve this
problem.  That will fix the issue for when we try to change this from a
semaphore to a mutex (like the patch in linux-next does), but we need to
revert it due to lockdep issues that are being reported incorrectly.

For now, your code is fine, I'll change over your code in the .34 tree
when the new api goes in.  I'll also drop this mutex patch in a day as
well, because of the problems it has caused.

thanks,

greg k-h