All of lore.kernel.org
 help / color / mirror / Atom feed
From: johnpol@2ka.mipt.ru (Evgeniy Polyakov)
To: lm-sensors@vger.kernel.org
Subject: [lm-sensors] [0/6] New w1 features.
Date: Sun, 05 Jun 2005 12:49:53 +0000	[thread overview]
Message-ID: <20050605144922.44e35ef0@zanzibar.2ka.mipt.ru> (raw)
In-Reply-To: <20050604013008.05d3bc87@zanzibar.2ka.mipt.ru>

On Sat, 4 Jun 2005 22:29:22 -0500
Dmitry Torokhov <dtor_core@ameritech.net> wrote:

> On Saturday 04 June 2005 15:18, Evgeniy Polyakov wrote:
> > On Sat, 4 Jun 2005 11:59:18 -0500
> > Dmitry Torokhov <dtor_core@ameritech.net> wrote:
> > > 
> > > Right. So please change w1 core to _not_ drop devices if it can't find
> > > proper family driver. Do _not_ invent dummy/default family drivers. Just
> > > add the damn device to the bus - you know it's ID, that's all you need
> > > to add an entry to sysfs. It is OK if it does not have any (or only has
> > > default) attributes. When real driver binds it will create them.   
> > 
> > W1 core does not drop devices, it is unforgivable act for w1 with it's 
> > unability to inform new devices are plugged in.
> > 
> 
> However thet is exactly what was going on before Ben's patch.

They were reported in dmesg - information about found device was not dropped,
thought device was not in core.

> > We need some flag to mark _that_ device to be different from _those_ devices,
> > i.e. that _that_ device does not have a driver.
> > So now it has it's family id to be 0.
> > Before it has family = NULL and messages in dmesg.
> > I think Ben's change to support default family is right to have devices in sysfs.
> > 
> > You suggest to create sysfs default directory [there is only a name there]
> 
> Not really, I suggest calling device_register() and have w1 bus and
> driver model/sysfs core do all necessary work for me.
> 
> > for that device in sysfs, and it is _only_ what _is_ done for such devices.
> > Your suggestion _IS_ implemented :),  you just do not see it behind
> > "default family" and "reconnect" words.
> 
> Yes, the result is the same, I am having an issue with implementation.
> I'll try explaining my point again:
> 
> 1. You made a decision that there can't be a w1_slave registered in
>    with w1 core without a family driver attached - drivers w/o a driver
>    get dropped.
> 2. Ben realized that he'd like to see devices even if there is no proper
>    driver for them and introduced default family.  
> 3. You noticed the problem when proper driver is loaded the slave is not
>    bound to it and introduced reconnect.
> 
> 2 and 3 are kludges to work around of unfortunate decision 1. If you change
> w1 core to register devices as they appear and bind families as needed later
> you will realize that 2 and 3 are not needed at all. They just add code for
> no real gain.

It-already-is-like-you-describe :)
We can see the code:
w1_slave_found() is called with new device ID.
It searches for master and checks if this device is registered already.
If not, we go into w1_attach_slave_device().
w1_attach_slave_device():
allocates new slave device using kmalloc, fills couple of it's fields
[master, flags, regnum], initialise some paramters [completion, refcnt...],
searches for family driver for device, calls __w1_attach_slave_device().
__w1_attach_slave_device() initialises drvier, device and bus_id,
then calls device_register() and creates default sysfs file with it's name.
THAT IS ALL.
Exactly like you described :)


> I do not understand why you are so resistant to converting w1 to the standard
> driver model. It will work just fine with w1.
> 
> -- 
> Dmitry


	Evgeniy Polyakov

Only failure makes us experts. -- Theo de Raadt

      parent reply	other threads:[~2005-06-05 12:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-03 23:34 [lm-sensors] [0/6] New w1 features Evgeniy Polyakov
2005-06-03 23:47 ` Dmitry Torokhov
2005-06-03 23:58 ` Evgeniy Polyakov
2005-06-04  0:07 ` Evgeniy Polyakov
2005-06-04  0:12 ` Dmitry Torokhov
2005-06-04  0:18 ` Dmitry Torokhov
2005-06-04  0:22 ` Evgeniy Polyakov
2005-06-04  0:31 ` Dmitry Torokhov
2005-06-04  0:36 ` Evgeniy Polyakov
2005-06-04  0:37 ` Evgeniy Polyakov
2005-06-04  0:50 ` Dmitry Torokhov
2005-06-04  1:00 ` Evgeniy Polyakov
2005-06-04  1:43 ` Dmitry Torokhov
2005-06-04 11:51 ` Evgeniy Polyakov
2005-06-04 19:00 ` Dmitry Torokhov
2005-06-04 22:18 ` Evgeniy Polyakov
2005-06-05  5:30 ` Dmitry Torokhov
2005-06-05 12:49 ` Evgeniy Polyakov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050605144922.44e35ef0@zanzibar.2ka.mipt.ru \
    --to=johnpol@2ka.mipt.ru \
    --cc=lm-sensors@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.