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

From: Greg KH <[email-masked]>
Date: Wed, 17 Feb 2010 20:27:11 -0800

On Tue, Feb 16, 2010 at 08:56:16PM -0800, Greg KH wrote:
> 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.

The functions are now in my tree, I'll fix up your code in the .34 merge
period.

thanks,

greg k-h