Print this page
XXXX introduce drv_sectohz


 152          */
 153         (void) ddi_hold_driver(ddi_name_to_major("mc-us3"));
 154         (void) ddi_hold_driver(ddi_name_to_major("ssc050"));
 155 
 156         /* Gain access into the ssc050_get_port function */
 157         cherry_ssc050_get_port_bit = (int (*) (dev_info_t *, int, int,
 158             uint8_t *, int)) modgetsymvalue("ssc050_get_port_bit", 0);
 159         if (cherry_ssc050_get_port_bit == NULL) {
 160                 cmn_err(CE_WARN, "cannot find ssc050_get_port_bit");
 161                 return;
 162         }
 163 
 164         e_ddi_walk_driver("i2c-ssc050", cherry_dev_search, (void *)&keysw_dip);
 165         ASSERT(keysw_dip != NULL);
 166 
 167         /*
 168          * prevent detach of i2c-ssc050
 169          */
 170         e_ddi_hold_devi(keysw_dip);
 171 
 172         keypoll_timeout_hz = drv_usectohz(10 * MICROSEC);
 173         keyswitch_poll(keysw_dip);
 174         abort_seq_handler = cherry_abort_seq_handler;
 175 
 176         /*
 177          * Figure out which pcf8584_dip is shared with OBP for the nvram
 178          * device, so the lock can be acquired.
 179          */
 180 
 181         i2cnexus_dip = e_ddi_hold_devi_by_path(SHARED_PCF8584_PATH, 0);
 182 
 183         ASSERT(i2cnexus_dip != NULL);
 184         shared_pcf8584_dip = ddi_get_parent(i2cnexus_dip);
 185 
 186         ndi_hold_devi(shared_pcf8584_dip);
 187         ndi_rele_devi(i2cnexus_dip);
 188 }
 189 
 190 static int
 191 cherry_dev_search(dev_info_t *dip, void *arg)
 192 {




 152          */
 153         (void) ddi_hold_driver(ddi_name_to_major("mc-us3"));
 154         (void) ddi_hold_driver(ddi_name_to_major("ssc050"));
 155 
 156         /* Gain access into the ssc050_get_port function */
 157         cherry_ssc050_get_port_bit = (int (*) (dev_info_t *, int, int,
 158             uint8_t *, int)) modgetsymvalue("ssc050_get_port_bit", 0);
 159         if (cherry_ssc050_get_port_bit == NULL) {
 160                 cmn_err(CE_WARN, "cannot find ssc050_get_port_bit");
 161                 return;
 162         }
 163 
 164         e_ddi_walk_driver("i2c-ssc050", cherry_dev_search, (void *)&keysw_dip);
 165         ASSERT(keysw_dip != NULL);
 166 
 167         /*
 168          * prevent detach of i2c-ssc050
 169          */
 170         e_ddi_hold_devi(keysw_dip);
 171 
 172         keypoll_timeout_hz = drv_sectohz(10);
 173         keyswitch_poll(keysw_dip);
 174         abort_seq_handler = cherry_abort_seq_handler;
 175 
 176         /*
 177          * Figure out which pcf8584_dip is shared with OBP for the nvram
 178          * device, so the lock can be acquired.
 179          */
 180 
 181         i2cnexus_dip = e_ddi_hold_devi_by_path(SHARED_PCF8584_PATH, 0);
 182 
 183         ASSERT(i2cnexus_dip != NULL);
 184         shared_pcf8584_dip = ddi_get_parent(i2cnexus_dip);
 185 
 186         ndi_hold_devi(shared_pcf8584_dip);
 187         ndi_rele_devi(i2cnexus_dip);
 188 }
 189 
 190 static int
 191 cherry_dev_search(dev_info_t *dip, void *arg)
 192 {